String protocol = allowed.getIPProtocol(); boolean addTag = false; if ("ALL".equals(protocol)) { addTag = true; } else if ("tcp".equals(protocol)) { if (allowed.getPorts() == null || allowed.getPorts().contains(String.valueOf(FirewallPort.SSH.port))) { requiredPorts.remove(FirewallPort.SSH); addTag = true;
Firewall.Allowed allowSsh = new Firewall.Allowed() .setPorts(Collections.singletonList("22")) .setIPProtocol("tcp"); .setSourceRanges(Collections.singletonList("0.0.0.0/0")); Firewall.Allowed allowInternalTcp = new Firewall.Allowed() .setPorts(Collections.singletonList("1-65535")) .setIPProtocol("tcp"); Firewall.Allowed allowInternalUdp = new Firewall.Allowed() .setPorts(Collections.singletonList("1-65535")) .setIPProtocol("udp"); Firewall.Allowed allowInternalIcmp = new Firewall.Allowed() .setIPProtocol("icmp");
Firewall.Allowed allowSsh = new Firewall.Allowed() .setPorts(Collections.singletonList("22")) .setIPProtocol("tcp"); .setSourceRanges(Collections.singletonList("0.0.0.0/0")); Firewall.Allowed allowInternalTcp = new Firewall.Allowed() .setPorts(Collections.singletonList("1-65535")) .setIPProtocol("tcp"); Firewall.Allowed allowInternalUdp = new Firewall.Allowed() .setPorts(Collections.singletonList("1-65535")) .setIPProtocol("udp"); Firewall.Allowed allowInternalIcmp = new Firewall.Allowed() .setIPProtocol("icmp");
/** * Adds a firewall rule to the default network so that we can connect to our clients externally. */ private void createFirewall() throws IOException { Firewall firewallRule = new Firewall() .setName("cloud-loadtest-framework-firewall-rule") .setDescription("A firewall rule to allow the driver to coordinate load test instances.") .setAllowed(ImmutableList.of( new Firewall.Allowed() .setIPProtocol("tcp") .setPorts(Collections.singletonList("5000")))); try { compute.firewalls().insert(projectName, firewallRule).execute(); } catch (GoogleJsonResponseException e) { if (e.getStatusCode() != ALREADY_EXISTS) { throw e; } compute.firewalls() .update(projectName, "cloud-loadtest-framework-firewall-rule", firewallRule).execute(); } }