some points here: 
- the previous version accepted a firewall that had to be hacked to accept fields that were non null on output, this is a simple transformation of that into a mutable Options object because Firewall is now tighter and mutable options are handy for compute.

- I followed the policy that you suggested were 1-3 args should be kept separate and from then on an Options object could/should be used.

In any case if you prefer "createFirewallInNetwork(String name, URI network, FirewallOptions options)" that's easy enough to change.