@Override public boolean apply(Firewall input) { return input != null && input.getNetwork().equals(network.getSelfLink()); } };
@Override public boolean apply(Firewall input) { return input != null && input.getNetwork().equals(network.getSelfLink()); } };
@Override public SecurityGroup apply(Network network) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.id(network.getName()); builder.providerId(network.getId()); builder.name(network.getName()); builder.uri(network.getSelfLink()); ImmutableSet.Builder permBuilder = ImmutableSet.builder(); ListOptions options = new ListOptions.Builder().filter("network eq .*/" + network.getName()); for (Firewall fw : api.getFirewallApiForProject(project.get()).list(options).concat()) { permBuilder.addAll(firewallToPerms.apply(fw)); } builder.ipPermissions(permBuilder.build()); return builder.build(); } }
FirewallOptions firewallOptions = new FirewallOptions() .name(name) .network(network.getSelfLink()) .allowedRules(rules) .sourceTags(templateOptions.getTags()) AtomicReference<Operation> operation = Atomics.newReference(firewallApi.createInNetwork( firewallOptions.getName(), network.getSelfLink(), firewallOptions)); operations.add(operation);
FirewallOptions firewallOptions = new FirewallOptions() .name(name) .network(network.getSelfLink()) .allowedRules(rules) .sourceTags(templateOptions.getTags()) AtomicReference<Operation> operation = Atomics.newReference(firewallApi.createInNetwork( firewallOptions.getName(), network.getSelfLink(), firewallOptions)); operations.add(operation);
@Override public SecurityGroup apply(Network network) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.id(network.getName()); builder.providerId(network.getId()); builder.name(network.getName()); builder.uri(network.getSelfLink()); ImmutableSet.Builder permBuilder = ImmutableSet.builder(); ListOptions options = new ListOptions.Builder().filter("network eq .*/" + network.getName()); for (Firewall fw : api.getFirewallApiForProject(project.get()).list(options).concat()) { permBuilder.addAll(firewallToPerms.apply(fw)); } builder.ipPermissions(permBuilder.build()); return builder.build(); } }
@Override public synchronized Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { String sharedResourceName = namingConvention.create().sharedNameForGroup(group); Template mutableTemplate = template.clone(); GoogleComputeEngineTemplateOptions templateOptions = GoogleComputeEngineTemplateOptions.class.cast(mutableTemplate .getOptions()); assert template.getOptions().equals(templateOptions) : "options didn't clone properly"; // get or create the network and create a firewall with the users configuration Network network = getOrCreateNetwork(templateOptions, sharedResourceName); getOrCreateFirewalls(templateOptions, network, firewallTagNamingConvention.get(group)); templateOptions.network(network.getSelfLink()); templateOptions.userMetadata(ComputeServiceConstants.NODE_GROUP_KEY, group); return super.execute(group, count, mutableTemplate, goodNodes, badNodes, customizationResponses); }
@Override public synchronized Map<?, ListenableFuture<Void>> execute(String group, int count, Template template, Set<NodeMetadata> goodNodes, Map<NodeMetadata, Exception> badNodes, Multimap<NodeMetadata, CustomizationResponse> customizationResponses) { String sharedResourceName = namingConvention.create().sharedNameForGroup(group); Template mutableTemplate = template.clone(); GoogleComputeEngineTemplateOptions templateOptions = GoogleComputeEngineTemplateOptions.class.cast(mutableTemplate .getOptions()); assert template.getOptions().equals(templateOptions) : "options didn't clone properly"; // get or create the network and create a firewall with the users configuration Network network = getOrCreateNetwork(templateOptions, sharedResourceName); getOrCreateFirewalls(templateOptions, network, firewallTagNamingConvention.get(group)); templateOptions.network(network.getSelfLink()); templateOptions.userMetadata(ComputeServiceConstants.NODE_GROUP_KEY, group); return super.execute(group, count, mutableTemplate, goodNodes, badNodes, customizationResponses); }