@Override public int compare(NetworkSecurityRule left, NetworkSecurityRule right) { return left.properties().priority() - right.properties().priority(); } };
@Override public int compare(NetworkSecurityRule left, NetworkSecurityRule right) { return left.properties().priority() - right.properties().priority(); } };
@Override public boolean apply(NetworkSecurityRule input) { return Direction.Inbound.equals(input.properties().direction()) && Access.Allow.equals(input.properties().access()); } };
@Override public boolean apply(NetworkSecurityRule input) { return Direction.Inbound.equals(input.properties().direction()) && Access.Allow.equals(input.properties().access()); } };
@Override public boolean apply(NetworkSecurityRule input) { NetworkSecurityRuleProperties props = input.properties(); return Objects.equal(portRange, props.destinationPortRange()) && Objects.equal(Protocol.fromValue(protocol.name()), props.protocol()) && Objects.equal(Direction.Inbound, props.direction()) // && Objects.equal(Access.Allow, props.access()) && any(ipRanges, equalTo(props.sourceAddressPrefix().replace("*", "0.0.0.0/0"))); } });
@Override public boolean apply(NetworkSecurityRule input) { NetworkSecurityRuleProperties props = input.properties(); return Objects.equal(portRange, props.destinationPortRange()) && Objects.equal(Protocol.fromValue(protocol.name()), props.protocol()) && Objects.equal(Direction.Inbound, props.direction()) // && Objects.equal(Access.Allow, props.access()) && any(ipRanges, equalTo(props.sourceAddressPrefix().replace("*", "0.0.0.0/0"))); } });
@Override public IpPermission apply(final NetworkSecurityRule rule) { if (!InboundRule.apply(rule)) { logger.warn(">> ignoring non-inbound network security rule %s...", rule.name()); return null; } IpPermission permissions = IpPermissions.permit(IpProtocol.fromValue(rule.properties().protocol().name())); String portRange = rule.properties().destinationPortRange(); if (!"*".equals(portRange)) { String[] range = portRange.split("-"); // One single element if it is a single port permissions = PortSelection.class.cast(permissions).fromPort(Integer.parseInt(range[0])) .to(Integer.parseInt(range[range.length - 1])); } if (!"*".equals(rule.properties().sourceAddressPrefix())) { permissions = ToSourceSelection.class.cast(permissions).originatingFromCidrBlock( rule.properties().sourceAddressPrefix()); } return permissions; }
@Override public IpPermission apply(final NetworkSecurityRule rule) { if (!InboundRule.apply(rule)) { logger.warn(">> ignoring non-inbound network security rule %s...", rule.name()); return null; } IpPermission permissions = IpPermissions.permit(IpProtocol.fromValue(rule.properties().protocol().name())); String portRange = rule.properties().destinationPortRange(); if (!"*".equals(portRange)) { String[] range = portRange.split("-"); // One single element if it is a single port permissions = PortSelection.class.cast(permissions).fromPort(Integer.parseInt(range[0])) .to(Integer.parseInt(range[range.length - 1])); } if (!"*".equals(rule.properties().sourceAddressPrefix())) { permissions = ToSourceSelection.class.cast(permissions).originatingFromCidrBlock( rule.properties().sourceAddressPrefix()); } return permissions; }
private int getRuleStartingPriority(NetworkSecurityGroup securityGroup) { List<NetworkSecurityRule> existingRules = securityGroup.properties().securityRules(); return existingRules.isEmpty() ? 100 : rulesByPriority().max(existingRules).properties().priority() + 1; }
private int getRuleStartingPriority(NetworkSecurityGroup securityGroup) { List<NetworkSecurityRule> existingRules = securityGroup.properties().securityRules(); return existingRules.isEmpty() ? 100 : rulesByPriority().max(existingRules).properties().priority() + 1; }
@Test(dependsOnMethods = "deleteNetworkSecurityRuleDoesNotExist") public void createNetworkSecurityRule() { final NetworkSecurityRule rule = createRule(); assertNotNull(rule); final NetworkSecurityRuleApi ruleApi = api.getNetworkSecurityRuleApi(resourceGroupName, nsgName); NetworkSecurityRule result = ruleApi.createOrUpdate(rule.name(), rule.properties()); assertNotNull(result); assertEquals(result.name(), rule.name()); }
public void createNetworkSecurityRule() throws InterruptedException { NetworkSecurityRule rule = createRule(); server.enqueue(jsonResponse("/networksecurityrulecreate.json").setResponseCode(200)); final NetworkSecurityRuleApi ruleApi = api.getNetworkSecurityRuleApi(resourcegroup, DEFAULT_NSG_NAME); String path = String.format("/subscriptions/%s/resourcegroups/%s/providers/Microsoft.Network/networkSecurityGroups/%s/securityRules/%s?%s", subscriptionid, resourcegroup, DEFAULT_NSG_NAME, rule.name(), apiVersion); NetworkSecurityRule result = ruleApi.createOrUpdate(rule.name(), rule.properties()); String json = String.format("{\"properties\":%s}", new Gson().toJson(rule.properties())); assertSent(server, "PUT", path, json); assertNotNull(result); assertEquals(result.name(), rule.name()); }
@Test(dependsOnMethods = "createNetworkSecurityGroup") public void listNetworkSecurityGroups() { List<NetworkSecurityGroup> result = api().list(); // verify we have something assertNotNull(result); assertEquals(result.size(), 1); // check that the nework security group matches the one we originally passed in NetworkSecurityGroup original = newNetworkSecurityGroup(nsgName, LOCATION); NetworkSecurityGroup nsg = result.get(0); assertEquals(original.name(), nsg.name()); assertEquals(original.location(), nsg.location()); assertEquals(original.tags(), nsg.tags()); // check the network security rule in the group assertEquals(nsg.properties().securityRules().size(), 1); NetworkSecurityRule originalRule = original.properties().securityRules().get(0); NetworkSecurityRule nsgRule = nsg.properties().securityRules().get(0); assertEquals(originalRule.name(), nsgRule.name()); assertTrue(originalRule.properties().equals(nsgRule.properties())); }
public void getNetworkSecurityGroup() throws InterruptedException { server.enqueue(jsonResponse("/networksecuritygroupget.json").setResponseCode(200)); final NetworkSecurityGroupApi nsgApi = api.getNetworkSecurityGroupApi(resourcegroup); NetworkSecurityGroup result = nsgApi.get(DEFAULT_NSG_NAME); String path = String.format("/subscriptions/%s/resourcegroups/%s/providers/Microsoft.Network/networkSecurityGroups/%s?%s", subscriptionid, resourcegroup, DEFAULT_NSG_NAME, apiVersion); assertSent(server, "GET", path); assertEquals(result.name(), DEFAULT_NSG_NAME); assertEquals(result.location(), "westus"); assertEquals(result.properties().securityRules().size(), 1); assertEquals(result.properties().securityRules().get(0).properties().protocol(), Protocol.Tcp); }
public void createNetworkSecurityGroup() throws InterruptedException { NetworkSecurityGroup nsg = createGroup(); server.enqueue(jsonResponse("/networksecuritygroupcreate.json").setResponseCode(200)); final NetworkSecurityGroupApi nsgApi = api.getNetworkSecurityGroupApi(resourcegroup); String path = String.format("/subscriptions/%s/resourcegroups/%s/providers/Microsoft.Network/networkSecurityGroups/%s?%s", subscriptionid, resourcegroup, DEFAULT_NSG_NAME, apiVersion); String json = String.format("{\"location\":\"%s\",\"properties\":%s}", "westus", new Gson().toJson(nsg.properties())); NetworkSecurityGroup result = nsgApi.createOrUpdate(DEFAULT_NSG_NAME, "westus", null, nsg.properties()); assertSent(server, "PUT", path, json); assertEquals(result.name(), DEFAULT_NSG_NAME); assertEquals(result.location(), "westus"); assertEquals(result.properties().securityRules().size(), 1); assertEquals(result.properties().securityRules().get(0).properties().protocol(), Protocol.Tcp); }