@Nullable public String resourceGroup() { return extractResourceGroup(id()); }
@Nullable public String resourceGroup() { return extractResourceGroup(id()); }
@Test public void testExtractResourceGroup() { assertEquals(extractResourceGroup(null), null); assertEquals(extractResourceGroup(""), null); assertEquals( extractResourceGroup("/subscriptions/subscription/resourceGroups/jclouds-northeurope/providers/Microsoft.Compute/virtualMachines/resources-8c5"), "jclouds-northeurope"); assertEquals(extractResourceGroup("/subscriptions/subscription/resourceGroups/jclouds-west"), "jclouds-west"); assertEquals(extractResourceGroup("/resourceGroups/jclouds-west2"), "jclouds-west2"); assertEquals( extractResourceGroup("/resourceGroups/jclouds-northeurope2/providers/Microsoft.Compute/virtualMachines/resources-8c5"), "jclouds-northeurope2"); assertEquals(extractResourceGroup("resourceGroups/jclouds-west2"), null); assertEquals( extractResourceGroup("resourceGroups/jclouds-northeurope2/providers/Microsoft.Compute/virtualMachines/resources-8c5"), null); assertEquals( extractResourceGroup("/subscriptions/subscription/providers/Microsoft.Compute/virtualMachines/resources-8c5"), null); assertEquals( extractResourceGroup("/subscriptions/subscription/resourceGroups//jclouds-northeurope/providers/Microsoft.Compute/virtualMachines/resources-8c5"), null); }
private NetworkInterfaceCard getNetworkInterfaceCard(NetworkInterface nic) { return api.getNetworkInterfaceCardApi(extractResourceGroup(nic.id())).get(extractName(nic.id())); }
private NetworkInterfaceCard getNetworkInterfaceCard(NetworkInterface nic) { return api.getNetworkInterfaceCardApi(extractResourceGroup(nic.id())).get(extractName(nic.id())); }
@Override public Set<SecurityGroup> listSecurityGroupsForNode(String nodeId) { logger.debug(">> getting security groups for node %s...", nodeId); final ResourceGroupAndName resourceGroupAndName = ResourceGroupAndName.fromSlashEncoded(nodeId); VirtualMachine vm = api.getVirtualMachineApi(resourceGroupAndName.resourceGroup()).get( resourceGroupAndName.name()); if (vm == null) { throw new IllegalArgumentException("Node " + nodeId + " was not found"); } List<NetworkInterface> networkInterfaces = vm.properties().networkProfile().networkInterfaces(); List<NetworkSecurityGroup> networkGroups = new ArrayList<NetworkSecurityGroup>(); for (NetworkInterface networkInterfaceCardIdReference : networkInterfaces) { String nicName = extractName(networkInterfaceCardIdReference.id()); String nicResourceGroup = extractResourceGroup(networkInterfaceCardIdReference.id()); NetworkInterfaceCard card = api.getNetworkInterfaceCardApi(nicResourceGroup).get(nicName); if (card != null && card.properties().networkSecurityGroup() != null) { String secGroupName = card.properties().networkSecurityGroup().name(); String sgResourceGroup = card.properties().networkSecurityGroup().resourceGroup(); NetworkSecurityGroup group = api.getNetworkSecurityGroupApi(sgResourceGroup).get(secGroupName); networkGroups.add(group); } } return ImmutableSet.copyOf(transform(filter(networkGroups, notNull()), securityGroupConverter)); }
@Override public Set<SecurityGroup> listSecurityGroupsForNode(String nodeId) { logger.debug(">> getting security groups for node %s...", nodeId); final ResourceGroupAndName resourceGroupAndName = ResourceGroupAndName.fromSlashEncoded(nodeId); VirtualMachine vm = api.getVirtualMachineApi(resourceGroupAndName.resourceGroup()).get( resourceGroupAndName.name()); if (vm == null) { throw new IllegalArgumentException("Node " + nodeId + " was not found"); } List<NetworkInterface> networkInterfaces = vm.properties().networkProfile().networkInterfaces(); List<NetworkSecurityGroup> networkGroups = new ArrayList<NetworkSecurityGroup>(); for (NetworkInterface networkInterfaceCardIdReference : networkInterfaces) { String nicName = extractName(networkInterfaceCardIdReference.id()); String nicResourceGroup = extractResourceGroup(networkInterfaceCardIdReference.id()); NetworkInterfaceCard card = api.getNetworkInterfaceCardApi(nicResourceGroup).get(nicName); if (card != null && card.properties().networkSecurityGroup() != null) { String secGroupName = card.properties().networkSecurityGroup().name(); String sgResourceGroup = card.properties().networkSecurityGroup().resourceGroup(); NetworkSecurityGroup group = api.getNetworkSecurityGroupApi(sgResourceGroup).get(secGroupName); networkGroups.add(group); } } return ImmutableSet.copyOf(transform(filter(networkGroups, notNull()), securityGroupConverter)); }
public void listAllNetworkInterfaceCardsInSubscription() throws InterruptedException { server.enqueue(jsonResponse("/listallnetworkinterfaces.json")); final NetworkInterfaceCardApi nicApi = api.getNetworkInterfaceCardApi(null); List<NetworkInterfaceCard> nicList = nicApi.listAllInSubscription(); String path = String .format("/subscriptions/%s/providers/Microsoft.Network/networkInterfaces?%s", subscriptionid, apiVersion); assertSent(server, "GET", path); assertTrue(nicList.size() == 3); assertTrue(nicList.get(0).properties().ipConfigurations().size() > 0); assertEquals(nicList.get(0).properties().ipConfigurations().get(0).properties().privateIPAllocationMethod(), "Dynamic"); assertTrue(nicList.get(1).properties().ipConfigurations().size() > 0); assertEquals(nicList.get(1).properties().ipConfigurations().get(0).properties().privateIPAllocationMethod(), "Static"); assertTrue(nicList.get(2).properties().ipConfigurations().size() > 0); assertNotEquals(IdReference.extractResourceGroup(nicList.get(2).id()), resourcegroup); assertEquals(nicList.get(2).properties().ipConfigurations().get(0).properties().privateIPAllocationMethod(), "Static"); }
public String encodeFieldsToUniqueIdCustom(String location) { return VMImage.customImage().resourceGroup(extractResourceGroup(customImageId())).location(location) .name(extractName(customImageId())).build().encodeFieldsToUniqueIdCustom(); } }
public String encodeFieldsToUniqueIdCustom(String location) { return VMImage.customImage().resourceGroup(extractResourceGroup(customImageId())).location(location) .name(extractName(customImageId())).build().encodeFieldsToUniqueIdCustom(); } }
@Override public SecurityGroup apply(NetworkSecurityGroup input) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.id(fromResourceGroupAndName(extractResourceGroup(input.id()), input.name()).slashEncode()); builder.providerId(input.id()); builder.name(input.name()); builder.location(getLocation(locations, input.location())); if (input.properties().securityRules() != null) { // We just support security groups that allow traffic to a set of // targets. We don't support deny rules or origin based rules in the // security group api. builder.ipPermissions(transform(filter(input.properties().securityRules(), InboundRule), ruleToPermission)); } return builder.build(); }
@Override public SecurityGroup apply(NetworkSecurityGroup input) { SecurityGroupBuilder builder = new SecurityGroupBuilder(); builder.id(fromResourceGroupAndName(extractResourceGroup(input.id()), input.name()).slashEncode()); builder.providerId(input.id()); builder.name(input.name()); builder.location(getLocation(locations, input.location())); if (input.properties().securityRules() != null) { // We just support security groups that allow traffic to a set of // targets. We don't support deny rules or origin based rules in the // security group api. builder.ipPermissions(transform(filter(input.properties().securityRules(), InboundRule), ruleToPermission)); } return builder.build(); }
public boolean cleanupVirtualMachineNICs(VirtualMachine virtualMachine) { boolean deleted = true; for (NetworkInterface nicRef : virtualMachine.properties().networkProfile().networkInterfaces()) { String nicResourceGroup = extractResourceGroup(nicRef.id()); String nicName = extractName(nicRef.id()); NetworkInterfaceCard nic = api.getNetworkInterfaceCardApi(nicResourceGroup).get(nicName); Iterable<IdReference> publicIps = getPublicIps(nic); logger.debug(">> destroying nic %s...", nicName); URI nicDeletionURI = api.getNetworkInterfaceCardApi(nicResourceGroup).delete(nicName); deleted &= nicDeletionURI == null || resourceDeleted.apply(nicDeletionURI); for (IdReference publicIp : publicIps) { String publicIpResourceGroup = publicIp.resourceGroup(); String publicIpName = publicIp.name(); PublicIPAddress ip = api.getPublicIPAddressApi(publicIpResourceGroup).get(publicIpName); if (ip.tags() != null && Boolean.parseBoolean(ip.tags().get(AUTOGENERATED_IP_KEY))) { logger.debug(">> deleting public ip %s...", publicIpName); deleted &= api.getPublicIPAddressApi(publicIpResourceGroup).delete(publicIpName); } } } return deleted; }
@Override @BeforeClass public void setupContext() { super.setupContext(); dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); startTime = dateFormat.format(new Date()); NodeMetadata node = null; try { node = getOnlyElement(view.getComputeService().createNodesInGroup(group, 1, resourceGroup(group))); } catch (RunNodesException e) { fail(); } String resourceId = String.format("/resourceGroups/%s/providers/Microsoft.Compute/virtualMachines/%s", IdReference.extractResourceGroup(node.getProviderId()), IdReference.extractName(node.getProviderId())); location = view.getComputeService().templateBuilder().build().getLocation().getId(); view.unwrapApi(AzureComputeApi.class).getResourceGroupApi().create(group, location, null); metricsApi = api.getMetricsApi(resourceId); }
public boolean cleanupVirtualMachineNICs(VirtualMachine virtualMachine) { boolean deleted = true; for (NetworkInterface nicRef : virtualMachine.properties().networkProfile().networkInterfaces()) { String nicResourceGroup = extractResourceGroup(nicRef.id()); String nicName = extractName(nicRef.id()); NetworkInterfaceCard nic = api.getNetworkInterfaceCardApi(nicResourceGroup).get(nicName); Iterable<IdReference> publicIps = getPublicIps(nic); logger.debug(">> destroying nic %s...", nicName); URI nicDeletionURI = api.getNetworkInterfaceCardApi(nicResourceGroup).delete(nicName); deleted &= nicDeletionURI == null || resourceDeleted.apply(nicDeletionURI); for (IdReference publicIp : publicIps) { String publicIpResourceGroup = publicIp.resourceGroup(); String publicIpName = publicIp.name(); PublicIPAddress ip = api.getPublicIPAddressApi(publicIpResourceGroup).get(publicIpName); if (ip.tags() != null && Boolean.parseBoolean(ip.tags().get(AUTOGENERATED_IP_KEY))) { logger.debug(">> deleting public ip %s...", publicIpName); deleted &= api.getPublicIPAddressApi(publicIpResourceGroup).delete(publicIpName); } } } return deleted; }
@Override @BeforeClass public void setupContext() { super.setupContext(); NodeMetadata node = null; try { node = getOnlyElement(view.getComputeService().createNodesInGroup(group, 1, resourceGroup(group))); } catch (RunNodesException e) { fail(); } String resourceId = String.format("/resourceGroups/%s/providers/Microsoft.Compute/virtualMachines/%s", IdReference.extractResourceGroup(node.getProviderId()), IdReference.extractName(node.getProviderId())); location = view.getComputeService().templateBuilder().build().getLocation().getId(); view.unwrapApi(AzureComputeApi.class).getResourceGroupApi().create(group, location, null); metricDefinitionsApi = api.getMetricsDefinitionsApi(resourceId); }
@Override public VMImage apply(Image input) { return VMImage.customImage().resourceGroup(extractResourceGroup(input.id())).customImageId(input.id()).location(input.location()).name(input.name()) .offer(input.properties().storageProfile().osDisk().osType()).build(); } }
@Override public VMImage apply(Image input) { return VMImage.customImage().resourceGroup(extractResourceGroup(input.id())).customImageId(input.id()).location(input.location()).name(input.name()) .offer(input.properties().storageProfile().osDisk().osType()).build(); } }
private void configurePublicIP(IpOptions ipConfig, IpConfigurationProperties.Builder ipProperties, String resourceGroup, String location, String nodeName) { if (ipConfig.publicIpId() != null) { logger.debug(">> configuring public ip: %s", extractName(ipConfig.publicIpId())); PublicIPAddress publicIp = api.getPublicIPAddressApi(extractResourceGroup(ipConfig.publicIpId())).get( extractName(ipConfig.publicIpId())); ipProperties.publicIPAddress(IdReference.create(publicIp.id())); } else if (ipConfig.allocateNewPublicIp()) { PublicIPAddress publicIp = createPublicIp(resourceGroup, location, nodeName); ipProperties.publicIPAddress(IdReference.create(publicIp.id())); } }
private void configurePublicIP(IpOptions ipConfig, IpConfigurationProperties.Builder ipProperties, String resourceGroup, String location, String nodeName) { if (ipConfig.publicIpId() != null) { logger.debug(">> configuring public ip: %s", extractName(ipConfig.publicIpId())); PublicIPAddress publicIp = api.getPublicIPAddressApi(extractResourceGroup(ipConfig.publicIpId())).get( extractName(ipConfig.publicIpId())); ipProperties.publicIPAddress(IdReference.create(publicIp.id())); } else if (ipConfig.allocateNewPublicIp()) { PublicIPAddress publicIp = createPublicIp(resourceGroup, location, nodeName); ipProperties.publicIPAddress(IdReference.create(publicIp.id())); } }