The currentl firewalld module does not take multiple values such as
`source` or `interface`, etc..
There are many cases that we need to pass multi volume to the module
rather than flatening the input so I implement it in this PR.
This change is backward compatible, that is the behaviour wont change after this change,
an existing user uses single value will work as is.