func()

in cfn/scheduler/scheduler.go [134:166]


func (s *Scheduler) CleanupEvents(ruleName string, targetID string) error {

	if len(ruleName) == 0 {
		return cfnerr.New(ServiceInternalError, "Unable to complete request", errors.New("ruleName is required"))
	}
	if len(targetID) == 0 {
		return cfnerr.New(ServiceInternalError, "Unable to complete request", errors.New("targetID is required"))
	}
	_, err := s.client.RemoveTargets(&cloudwatchevents.RemoveTargetsInput{
		Ids: []*string{
			aws.String(targetID),
		},
		Rule: aws.String(ruleName),
	})
	if err != nil {
		es := fmt.Sprintf("Error cleaning CloudWatchEvents Target (targetId=%s)", targetID)
		s.logger.Println(es)
		return cfnerr.New(ServiceInternalError, es, err)
	}
	s.logger.Printf("CloudWatchEvents Target (targetId=%s) removed", targetID)

	_, rerr := s.client.DeleteRule(&cloudwatchevents.DeleteRuleInput{
		Name: aws.String(ruleName),
	})
	if rerr != nil {
		es := fmt.Sprintf("Error cleaning CloudWatchEvents (ruleName=%s)", ruleName)
		s.logger.Println(es)
		return cfnerr.New(ServiceInternalError, es, rerr)
	}
	s.logger.Printf("CloudWatchEvents Rule (ruleName=%s) removed", ruleName)

	return nil
}