>        Network network = getOrCreateNetwork(templateOptions, 
> sharedResourceName);
> -      getOrCreateFirewalls(templateOptions, network, 
> firewallTagNamingConvention.get(group));
> +      // add firewalls *only* if the template options don't contain explicit 
> network
> +      if (templateOptions.network() == null) {

I think that would be an inconvenient way to address whatever this PR tries to 
fix. If the intention is to avoid having duplicate firewall rules or 
semantically equivalent firewall rules, then the code that creates the rules 
should be fixed to avoid duplicating them.

Not creating the firewalls when the user explicitly calls the `inboundPorts` 
method should not be an option. We need to honor the portable interface and 
properly implement it. It is not OK to have *some* providers ignoring the 
interface contract *sometimes*. That reduces code portability a lot and 
increases considerably the complexity of the portable layer. It does not make 
sense to have a portable layer that has a different contract for each provider.

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs-google/pull/172/files/a083442f462a4b5dcc0c9dabfcca8a181b8e2889#r72974500

Reply via email to