private void deleteManagedDisk(@Nullable ManagedDiskParameters managedDisk, Map<String, URI> deleteJobs) { if (managedDisk != null) { IdReference diskRef = IdReference.create(managedDisk.id()); logger.debug(">> deleting managed disk %s...", diskRef.name()); URI uri = api.getDiskApi(diskRef.resourceGroup()).delete(diskRef.name()); if (uri != null) { deleteJobs.put(diskRef.name(), uri); } } }
private void deleteManagedDisk(@Nullable ManagedDiskParameters managedDisk, Map<String, URI> deleteJobs) { if (managedDisk != null) { IdReference diskRef = IdReference.create(managedDisk.id()); logger.debug(">> deleting managed disk %s...", diskRef.name()); URI uri = api.getDiskApi(diskRef.resourceGroup()).delete(diskRef.name()); if (uri != null) { deleteJobs.put(diskRef.name(), uri); } } }
public boolean cleanupAvailabilitySetIfOrphaned(VirtualMachine virtualMachine) { boolean deleted = true; IdReference availabilitySetRef = virtualMachine.properties().availabilitySet(); if (availabilitySetRef != null) { String name = availabilitySetRef.name(); String resourceGroup = availabilitySetRef.resourceGroup(); AvailabilitySet availabilitySet = api.getAvailabilitySetApi(resourceGroup).get(name); if (isOrphanedJcloudsAvailabilitySet(availabilitySet)) { logger.debug(">> deleting orphaned availability set %s from %s...", name, resourceGroup); URI uri = api.getAvailabilitySetApi(resourceGroup).delete(name); deleted = uri == null || resourceDeleted.apply(uri); } } return deleted; }
public boolean cleanupAvailabilitySetIfOrphaned(VirtualMachine virtualMachine) { boolean deleted = true; IdReference availabilitySetRef = virtualMachine.properties().availabilitySet(); if (availabilitySetRef != null) { String name = availabilitySetRef.name(); String resourceGroup = availabilitySetRef.resourceGroup(); AvailabilitySet availabilitySet = api.getAvailabilitySetApi(resourceGroup).get(name); if (isOrphanedJcloudsAvailabilitySet(availabilitySet)) { logger.debug(">> deleting orphaned availability set %s from %s...", name, resourceGroup); URI uri = api.getAvailabilitySetApi(resourceGroup).delete(name); deleted = uri == null || resourceDeleted.apply(uri); } } return deleted; }
@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)); }
private Iterable<String> getPublicIpAddresses(List<NetworkInterface> networkInterfaces) { List<String> publicIpAddresses = Lists.newArrayList(); for (NetworkInterface networkInterfaceCardIdReference : networkInterfaces) { NetworkInterfaceCard networkInterfaceCard = getNetworkInterfaceCard(networkInterfaceCardIdReference); if (networkInterfaceCard != null && networkInterfaceCard.properties() != null && networkInterfaceCard.properties().ipConfigurations() != null) { for (IpConfiguration ipConfiguration : networkInterfaceCard.properties().ipConfigurations()) { if (ipConfiguration.properties().publicIPAddress() != null) { IdReference publicIpId = ipConfiguration.properties().publicIPAddress(); PublicIPAddress publicIp = api.getPublicIPAddressApi(publicIpId.resourceGroup()).get( publicIpId.name()); if (publicIp != null && publicIp.properties().ipAddress() != null) { publicIpAddresses.add(publicIp.properties().ipAddress()); } } } } } return publicIpAddresses; }
private Iterable<String> getPublicIpAddresses(List<NetworkInterface> networkInterfaces) { List<String> publicIpAddresses = Lists.newArrayList(); for (NetworkInterface networkInterfaceCardIdReference : networkInterfaces) { NetworkInterfaceCard networkInterfaceCard = getNetworkInterfaceCard(networkInterfaceCardIdReference); if (networkInterfaceCard != null && networkInterfaceCard.properties() != null && networkInterfaceCard.properties().ipConfigurations() != null) { for (IpConfiguration ipConfiguration : networkInterfaceCard.properties().ipConfigurations()) { if (ipConfiguration.properties().publicIPAddress() != null) { IdReference publicIpId = ipConfiguration.properties().publicIPAddress(); PublicIPAddress publicIp = api.getPublicIPAddressApi(publicIpId.resourceGroup()).get( publicIpId.name()); if (publicIp != null && publicIp.properties().ipAddress() != null) { publicIpAddresses.add(publicIp.properties().ipAddress()); } } } } } return publicIpAddresses; }
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; }
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; }