func resourceAwsAutoscalingGroupUpdate(d *schema.ResourceData, meta interface{}) error { autoscalingconn := meta.(*AWSClient).autoscalingconn opts := autoscaling.UpdateAutoScalingGroup{ Name: d.Id(), } if d.HasChange("desired_capacity") { opts.DesiredCapacity = d.Get("desired_capacity").(int) opts.SetDesiredCapacity = true } if d.HasChange("min_size") { opts.MinSize = d.Get("min_size").(int) opts.SetMinSize = true } if d.HasChange("max_size") { opts.MaxSize = d.Get("max_size").(int) opts.SetMaxSize = true } log.Printf("[DEBUG] AutoScaling Group update configuration: %#v", opts) _, err := autoscalingconn.UpdateAutoScalingGroup(&opts) if err != nil { d.Partial(true) return fmt.Errorf("Error updating Autoscaling group: %s", err) } return resourceAwsAutoscalingGroupRead(d, meta) }
func resource_aws_autoscaling_group_update( s *terraform.ResourceState, d *terraform.ResourceDiff, meta interface{}) (*terraform.ResourceState, error) { p := meta.(*ResourceProvider) autoscalingconn := p.autoscalingconn rs := s.MergeDiff(d) opts := autoscaling.UpdateAutoScalingGroup{ Name: rs.ID, } var err error if _, ok := d.Attributes["min_size"]; ok { opts.MinSize, err = strconv.Atoi(rs.Attributes["min_size"]) opts.SetMinSize = true } if _, ok := d.Attributes["max_size"]; ok { opts.MaxSize, err = strconv.Atoi(rs.Attributes["max_size"]) opts.SetMaxSize = true } if err != nil { return s, fmt.Errorf("Error parsing configuration: %s", err) } log.Printf("[DEBUG] AutoScaling Group update configuration: %#v", opts) _, err = autoscalingconn.UpdateAutoScalingGroup(&opts) if err != nil { return rs, fmt.Errorf("Error updating AutoScaling group: %s", err) } g, err := resource_aws_autoscaling_group_retrieve(rs.ID, autoscalingconn) if err != nil { return rs, err } return resource_aws_autoscaling_group_update_state(rs, g) }