public T fromIngressRule(IngressRule in) { return this .account(in.getAccount()) .CIDR(in.getCIDR()) .endPort(in.getEndPort()) .ICMPCode(in.getICMPCode()) .ICMPType(in.getICMPType()) .protocol(in.getProtocol()) .id(in.getId()) .securityGroupName(in.getSecurityGroupName()) .startPort(in.getStartPort()); } }
public IngressRule build() { return new IngressRule(account, CIDR, endPort, ICMPCode, ICMPType, protocol, id, securityGroupName, startPort, tags); }
@Override public boolean apply(IngressRule rule) { return protocol.equals(rule.getProtocol()) && startPort == rule.getStartPort() && endPort == rule.getEndPort() && cidrs.contains(rule.getCIDR()); }
@Override public boolean apply(IngressRule rule) { return protocol.equals(rule.getProtocol()) && startPort == rule.getStartPort() && endPort == rule.getEndPort() && accountGroupNames.containsEntry(rule.getAccount(), rule.getSecurityGroupName()); }
@Test public void testApplyWithTCP() { IngressRule ruleToConvert = IngressRule.builder() .id("some-id") .account("some-account") .securityGroupName("some-group-name") .protocol(IpProtocol.TCP.toString()) .startPort(10) .endPort(20) .CIDR("0.0.0.0/0") .build(); IngressRuleToIpPermission converter = new IngressRuleToIpPermission(); IpPermission convertedPerm = converter.apply(ruleToConvert); assertEquals(convertedPerm.getIpProtocol(), IpProtocol.fromValue(ruleToConvert.getProtocol())); assertEquals(convertedPerm.getFromPort(), ruleToConvert.getStartPort()); assertEquals(convertedPerm.getToPort(), ruleToConvert.getEndPort()); assertEquals(convertedPerm.getCidrBlocks(), ImmutableSet.of("0.0.0.0/0")); assertEquals(convertedPerm.getTenantIdGroupNamePairs().size(), 1); assertEquals(convertedPerm.getGroupIds().size(), 0); } }
@AfterGroups(groups = "live") @Override protected void tearDownContext() { if (vm != null) { assertTrue(jobComplete.apply(client.getVirtualMachineClient().destroyVirtualMachine(vm.getId()))); } if (group != null) { for (IngressRule rule : group.getIngressRules()) assertTrue(jobComplete.apply(client.getSecurityGroupClient().revokeIngressRule(rule.getId())), rule.toString()); client.getSecurityGroupClient().deleteSecurityGroup(group.getId()); assertEquals(client.getSecurityGroupClient().getSecurityGroup(group.getId()), null); } super.tearDownContext(); }
@Override public int compareTo(IngressRule o) { return id.compareTo(o.getId()); } }
@Override public boolean apply(IngressRule input) { return "icmp".equals(input.getProtocol()); }
@Override public IpPermission apply(IngressRule rule) { IpPermission.Builder builder = IpPermission.builder(); builder.ipProtocol(IpProtocol.fromValue(rule.getProtocol())); builder.fromPort(rule.getStartPort()); builder.toPort(rule.getEndPort()); if (rule.getCIDR() != null) { builder.cidrBlock(rule.getCIDR()); } if (rule.getSecurityGroupName() != null && rule.getAccount() != null) { builder.tenantIdGroupNamePair(rule.getAccount(), rule.getSecurityGroupName()); } return builder.build(); } }
@Override public Rule apply(IngressRule input) { Rule rule; if (input.getProtocol().equalsIgnoreCase("icmp")) { rule = Rule.builder() .anySource() .protocol(Protocol.valueOf(input.getProtocol().toUpperCase())) .cidr(input.getCIDR()) .createRule(); } else { rule = Rule.builder() .anySource() .protocol(Protocol.valueOf(input.getProtocol().toUpperCase())) .ports(input.getStartPort(), input.getEndPort()) .cidr(input.getCIDR()) .createRule(); } return rule; } }
@AfterGroups(groups = "live") @Override protected void tearDownContext() { if (vm != null) { assertTrue(jobComplete.apply(client.getVirtualMachineApi().destroyVirtualMachine(vm.getId()))); } if (group != null) { for (IngressRule rule : group.getIngressRules()) assertTrue(jobComplete.apply(client.getSecurityGroupApi().revokeIngressRule(rule.getId())), rule.toString()); client.getSecurityGroupApi().deleteSecurityGroup(group.getId()); assertEquals(client.getSecurityGroupApi().getSecurityGroup(group.getId()), null); } super.tearDownContext(); }
@Override public int compareTo(IngressRule o) { return id.compareTo(o.getId()); } }
@Override public boolean apply(IngressRule input) { return "tcp".equals(input.getProtocol()); }
public T fromIngressRule(IngressRule in) { return this .account(in.getAccount()) .CIDR(in.getCIDR()) .endPort(in.getEndPort()) .ICMPCode(in.getICMPCode()) .ICMPType(in.getICMPType()) .protocol(in.getProtocol()) .id(in.getId()) .securityGroupName(in.getSecurityGroupName()) .startPort(in.getStartPort()); } }
@Test public void testCreateDestroySecurityGroup() { try { zone = Iterables.find(client.getZoneClient().listZones(), new Predicate<Zone>() { @Override public boolean apply(Zone arg0) { return arg0.isSecurityGroupsEnabled(); } }); securityGroupsSupported = true; for (SecurityGroup securityGroup : client.getSecurityGroupClient().listSecurityGroups( ListSecurityGroupsOptions.Builder.named(prefix))) { for (IngressRule rule : securityGroup.getIngressRules()) assertTrue(jobComplete.apply(client.getSecurityGroupClient().revokeIngressRule(rule.getId())), rule.toString()); client.getSecurityGroupClient().deleteSecurityGroup(securityGroup.getId()); } group = client.getSecurityGroupClient().createSecurityGroup(prefix); assertEquals(group.getName(), prefix); checkGroup(group); try { client.getSecurityGroupClient().createSecurityGroup(prefix); fail("Expected IllegalStateException"); } catch (IllegalStateException e) { } } catch (NoSuchElementException e) { e.printStackTrace(); } }
@Override public int compareTo(IngressRule o) { return id.compareTo(o.getId()); } }
@Override public boolean apply(IngressRule input) { return "icmp".equals(input.getProtocol()); }
public IngressRule build() { return new IngressRule(account, CIDR, endPort, ICMPCode, ICMPType, protocol, id, securityGroupName, startPort); }
public T fromIngressRule(IngressRule in) { return this .account(in.getAccount()) .CIDR(in.getCIDR()) .endPort(in.getEndPort()) .ICMPCode(in.getICMPCode()) .ICMPType(in.getICMPType()) .protocol(in.getProtocol()) .id(in.getId()) .securityGroupName(in.getSecurityGroupName()) .startPort(in.getStartPort()) .tags(in.getTags()); } }
@Test public void testCreateDestroySecurityGroup() { try { zone = Iterables.find(client.getZoneApi().listZones(), new Predicate<Zone>() { @Override public boolean apply(Zone arg0) { return arg0.isSecurityGroupsEnabled(); } }); securityGroupsSupported = true; for (SecurityGroup securityGroup : client.getSecurityGroupApi().listSecurityGroups( ListSecurityGroupsOptions.Builder.named(prefix))) { for (IngressRule rule : securityGroup.getIngressRules()) assertTrue(jobComplete.apply(client.getSecurityGroupApi().revokeIngressRule(rule.getId())), rule.toString()); client.getSecurityGroupApi().deleteSecurityGroup(securityGroup.getId()); } group = client.getSecurityGroupApi().createSecurityGroup(prefix); assertEquals(group.getName(), prefix); checkGroup(group); try { client.getSecurityGroupApi().createSecurityGroup(prefix); fail("Expected IllegalStateException"); } catch (IllegalStateException e) { } } catch (NoSuchElementException e) { e.printStackTrace(); } }