Instead of specifying durations using structured yaml it would be easier to specify them using a human readable string like “30 seconds” or “5 minutes”.
I.e. instead of
for:
hours: 1
minutes: 10
seconds: 5
```
write
```
for: 1 hour, 10 minutes, 5 seconds
```
In practice, I think it is rare that you have to specify more than one unit of time, so instead of
```
for:
minutes: 1
seconds: 30
```
you could write
```
for: 1.5 minutes
```
or
```
for: 90 seconds
```
There is a python library that could help:
https://github.com/wroberts/pytimeparse