func()

in internal/pkg/deploy/cloudformation/changeset.go [80:103]


func (set *changeSet) execute() error {
	if err := set.describe(); err != nil {
		return err
	}
	if set.executionStatus != cloudformation.ExecutionStatusAvailable {
		// Ignore execute request if the change set does not contain any modifications.
		if set.statusReason == noChangesReason {
			return nil
		}
		if set.statusReason == noUpdatesReason {
			return nil
		}
		return &ErrNotExecutableChangeSet{
			set: set,
		}
	}
	if _, err := set.c.ExecuteChangeSet(&cloudformation.ExecuteChangeSetInput{
		ChangeSetName: aws.String(set.name),
		StackName:     aws.String(set.stackID),
	}); err != nil {
		return fmt.Errorf("failed to execute changeSet %s: %w", set, err)
	}
	return nil
}