That’s general idea although you would want to avoid the use of the delay() function as the processor can do nothing else while the call to delay executes. Can I assume you’ll be controlling more than one pump per Arduino? Why else would want a board wth eight relays, right? With more than one pump, you will not be able to use delay() and get maximum output from more than one pump at a time.
The key to avoiding the delay() function is to use millis() to keep track of time. Have a look at the example called “blink without delay”, it’s in the IDE. Here’s some additional information to how to use millis() correctly. https://www.gammon.com.au/millis