@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((instanceId == null) ? 0 : instanceId.hashCode()); result = prime * result + ((previousState == null) ? 0 : previousState.hashCode()); result = prime * result + ((region == null) ? 0 : region.hashCode()); result = prime * result + ((currentState == null) ? 0 : currentState.hashCode()); return result; }
public String value() { return CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_HYPHEN, name()); }
@Override public String toString() { return value(); }
public void endElement(String uri, String name, String qName) { if (qName.equals("instanceId")) { this.instanceId = currentOrNull(); } else if (qName.equals("shutdownState") || qName.equals("currentState")) { inCurrentState = false; } else if (qName.equals("previousState")) { inPreviousState = false; } else if (qName.equals("name")) { if (inCurrentState) { shutdownState = InstanceState.fromValue(currentOrNull()); } else if (inPreviousState) { previousState = InstanceState.fromValue(currentOrNull()); } } else if (qName.equals("item")) { String region = AWSUtils.findRegionInArgsOrNull(getRequest()); if (region == null) region = defaultRegion.get(); instances.add(new InstanceStateChange(region, instanceId, shutdownState, previousState)); this.instanceId = null; this.shutdownState = null; this.previousState = null; } currentText = new StringBuilder(); }
public static InstanceState fromValue(String state) { try { return valueOf(CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_UNDERSCORE, checkNotNull(state, "state"))); } catch (IllegalArgumentException e) { return UNRECOGNIZED; } }
@VisibleForTesting void deleteKeyPair(String region, String group) { for (KeyPair keyPair : client.getKeyPairApi().get().describeKeyPairsInRegionWithFilter(region, ImmutableMultimap.<String, String>builder() .put("key-name", String.format("jclouds#%s#*", group).replace('#', delimiter)) .build())) { String keyName = keyPair.getKeyName(); Predicate<String> keyNameMatcher = namingConvention.create().containsGroup(group); String oldKeyNameRegex = String.format("jclouds#%s#%s#%s", group, region, "[0-9a-f]+").replace('#', delimiter); // old keypair pattern too verbose as it has an unnecessary region qualifier if (keyNameMatcher.apply(keyName) || keyName.matches(oldKeyNameRegex)) { Set<String> instancesUsingKeyPair = extractIdsFromInstances(concat(client.getInstanceApi().get() .describeInstancesInRegionWithFilter(region, ImmutableMultimap.<String, String>builder() .put("instance-state-name", InstanceState.TERMINATED.toString()) .put("instance-state-name", InstanceState.SHUTTING_DOWN.toString()) .put("key-name", keyPair.getKeyName()).build()))); if (!instancesUsingKeyPair.isEmpty()) { logger.debug("<< inUse keyPair(%s), by (%s)", keyPair.getKeyName(), instancesUsingKeyPair); } else { logger.debug(">> deleting keyPair(%s)", keyPair.getKeyName()); client.getKeyPairApi().get().deleteKeyPairInRegion(region, keyPair.getKeyName()); // TODO: test this clear happens credentialsMap.remove(new RegionAndName(region, keyPair.getKeyName())); credentialsMap.remove(new RegionAndName(region, group)); logger.debug("<< deleted keyPair(%s)", keyPair.getKeyName()); } } } }
public void testAllStatesCovered() { for (InstanceState status : InstanceState.values()) { assert EC2ComputeServiceDependenciesModule.toPortableNodeStatus.containsKey(status) : status; } }
public void endElement(String uri, String name, String qName) { if (qName.equals("instanceId")) { this.instanceId = currentOrNull(); } else if (qName.equals("shutdownState") || qName.equals("currentState")) { inCurrentState = false; } else if (qName.equals("previousState")) { inPreviousState = false; } else if (qName.equals("name")) { if (inCurrentState) { shutdownState = InstanceState.fromValue(currentOrNull()); } else if (inPreviousState) { previousState = InstanceState.fromValue(currentOrNull()); } } else if (qName.equals("item")) { String region = AWSUtils.findRegionInArgsOrNull(getRequest()); if (region == null) region = defaultRegion.get(); instances.add(new InstanceStateChange(region, instanceId, shutdownState, previousState)); this.instanceId = null; this.shutdownState = null; this.previousState = null; } currentText.setLength(0); }
public static InstanceState fromValue(String state) { try { return valueOf(CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_UNDERSCORE, checkNotNull(state, "state"))); } catch (IllegalArgumentException e) { return UNRECOGNIZED; } }
@VisibleForTesting void deleteKeyPair(String region, String group) { for (KeyPair keyPair : client.getKeyPairApi().get().describeKeyPairsInRegionWithFilter(region, ImmutableMultimap.<String, String>builder() .put("key-name", String.format("jclouds#%s#*", group).replace('#', delimiter)) .build())) { String keyName = keyPair.getKeyName(); Predicate<String> keyNameMatcher = namingConvention.create().containsGroup(group); String oldKeyNameRegex = String.format("jclouds#%s#%s#%s", group, region, "[0-9a-f]+").replace('#', delimiter); // old keypair pattern too verbose as it has an unnecessary region qualifier if (keyNameMatcher.apply(keyName) || keyName.matches(oldKeyNameRegex)) { Set<String> instancesUsingKeyPair = extractIdsFromInstances(concat(client.getInstanceApi().get() .describeInstancesInRegionWithFilter(region, ImmutableMultimap.<String, String>builder() .put("instance-state-name", InstanceState.TERMINATED.toString()) .put("instance-state-name", InstanceState.SHUTTING_DOWN.toString()) .put("key-name", keyPair.getKeyName()).build()))); if (!instancesUsingKeyPair.isEmpty()) { logger.debug("<< inUse keyPair(%s), by (%s)", keyPair.getKeyName(), instancesUsingKeyPair); } else { logger.debug(">> deleting keyPair(%s)", keyPair.getKeyName()); client.getKeyPairApi().get().deleteKeyPairInRegion(region, keyPair.getKeyName()); // TODO: test this clear happens credentialsMap.remove(new RegionAndName(region, keyPair.getKeyName())); credentialsMap.remove(new RegionAndName(region, group)); logger.debug("<< deleted keyPair(%s)", keyPair.getKeyName()); } } } }
public void testAllStatesCovered() { for (InstanceState status : InstanceState.values()) { assert EC2ComputeServiceDependenciesModule.toPortableNodeStatus.containsKey(status) : status; } }
public void endElement(String uri, String name, String qName) { if (qName.equals("instanceId")) { this.instanceId = currentOrNull(); } else if (qName.equals("shutdownState") || qName.equals("currentState")) { inCurrentState = false; } else if (qName.equals("previousState")) { inPreviousState = false; } else if (qName.equals("name")) { if (inCurrentState) { shutdownState = InstanceState.fromValue(currentOrNull()); } else if (inPreviousState) { previousState = InstanceState.fromValue(currentOrNull()); } } else if (qName.equals("item")) { String region = AWSUtils.findRegionInArgsOrNull(getRequest()); if (region == null) region = defaultRegion.get(); instances.add(new InstanceStateChange(region, instanceId, shutdownState, previousState)); this.instanceId = null; this.shutdownState = null; this.previousState = null; } currentText = new StringBuilder(); }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((instanceId == null) ? 0 : instanceId.hashCode()); result = prime * result + ((previousState == null) ? 0 : previousState.hashCode()); result = prime * result + ((region == null) ? 0 : region.hashCode()); result = prime * result + ((currentState == null) ? 0 : currentState.hashCode()); return result; }
public static InstanceState fromValue(String state) { try { return valueOf(CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_UNDERSCORE, checkNotNull(state, "state"))); } catch (IllegalArgumentException e) { return UNRECOGNIZED; } }
@Override public String toString() { return value(); }
public String value() { return CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_HYPHEN, name()); }
@VisibleForTesting void deleteKeyPair(String region, String group) { for (KeyPair keyPair : client.getKeyPairApi().get().describeKeyPairsInRegionWithFilter(region, ImmutableMultimap.<String, String>builder() .put("key-name", String.format("jclouds#%s#*", group).replace('#', delimiter)) .build())) { String keyName = keyPair.getKeyName(); Predicate<String> keyNameMatcher = namingConvention.create().containsGroup(group); String oldKeyNameRegex = String.format("jclouds#%s#%s#%s", group, region, "[0-9a-f]+").replace('#', delimiter); // old keypair pattern too verbose as it has an unnecessary region qualifier if (keyNameMatcher.apply(keyName) || keyName.matches(oldKeyNameRegex)) { Set<String> instancesUsingKeyPair = extractIdsFromInstances(concat(client.getInstanceApi().get() .describeInstancesInRegionWithFilter(region, ImmutableMultimap.<String, String>builder() .put("instance-state-name", InstanceState.TERMINATED.toString()) .put("instance-state-name", InstanceState.SHUTTING_DOWN.toString()) .put("key-name", keyPair.getKeyName()).build()))); if (!instancesUsingKeyPair.isEmpty()) { logger.debug("<< inUse keyPair(%s), by (%s)", keyPair.getKeyName(), instancesUsingKeyPair); } else { logger.debug(">> deleting keyPair(%s)", keyPair.getKeyName()); client.getKeyPairApi().get().deleteKeyPairInRegion(region, keyPair.getKeyName()); // TODO: test this clear happens credentialsMap.remove(new RegionAndName(region, keyPair.getKeyName())); credentialsMap.remove(new RegionAndName(region, group)); logger.debug("<< deleted keyPair(%s)", keyPair.getKeyName()); } } } }