func setKinesisRetentionPeriod(conn *kinesis.Kinesis, d *schema.ResourceData) error { sn := d.Get("name").(string) oraw, nraw := d.GetChange("retention_period") o := oraw.(int) n := nraw.(int) if n == 0 { log.Printf("[DEBUG] Kinesis Stream (%q) Retention Period Not Changed", sn) return nil } if n > o { log.Printf("[DEBUG] Increasing %s Stream Retention Period to %d", sn, n) _, err := conn.IncreaseStreamRetentionPeriod(&kinesis.IncreaseStreamRetentionPeriodInput{ StreamName: aws.String(sn), RetentionPeriodHours: aws.Int64(int64(n)), }) if err != nil { return err } } else { log.Printf("[DEBUG] Decreasing %s Stream Retention Period to %d", sn, n) _, err := conn.DecreaseStreamRetentionPeriod(&kinesis.DecreaseStreamRetentionPeriodInput{ StreamName: aws.String(sn), RetentionPeriodHours: aws.Int64(int64(n)), }) if err != nil { return err } } stateConf := &resource.StateChangeConf{ Pending: []string{"UPDATING"}, Target: []string{"ACTIVE"}, Refresh: streamStateRefreshFunc(conn, sn), Timeout: 5 * time.Minute, Delay: 10 * time.Second, MinTimeout: 3 * time.Second, } _, err := stateConf.WaitForState() if err != nil { return fmt.Errorf( "Error waiting for Kinesis Stream (%s) to become active: %s", sn, err) } return nil }
func setKinesisRetentionPeriod(conn *kinesis.Kinesis, d *schema.ResourceData) error { sn := d.Get("name").(string) oraw, nraw := d.GetChange("retention_period") o := oraw.(int) n := nraw.(int) if n == 0 { log.Printf("[DEBUG] Kinesis Stream (%q) Retention Period Not Changed", sn) return nil } if n > o { log.Printf("[DEBUG] Increasing %s Stream Retention Period to %d", sn, n) _, err := conn.IncreaseStreamRetentionPeriod(&kinesis.IncreaseStreamRetentionPeriodInput{ StreamName: aws.String(sn), RetentionPeriodHours: aws.Int64(int64(n)), }) if err != nil { return err } } else { log.Printf("[DEBUG] Decreasing %s Stream Retention Period to %d", sn, n) _, err := conn.DecreaseStreamRetentionPeriod(&kinesis.DecreaseStreamRetentionPeriodInput{ StreamName: aws.String(sn), RetentionPeriodHours: aws.Int64(int64(n)), }) if err != nil { return err } } if err := waitForKinesisToBeActive(conn, sn); err != nil { return err } return nil }