public NodeMetadata apply(VApp from) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(from.getHref().toASCIIString()); builder.uri(from.getHref()); builder.name(from.getName()); builder.location(findLocationForResourceInVDC.apply(from.getVDC())); builder.tag(parseTagFromName(from.getName())); builder.operatingSystem(toComputeOs(from, null)); builder.hardware(hardwareForVApp.apply(from)); builder.state(vAppStatusToNodeState.get(from.getStatus())); builder.publicAddresses(getPublicIpsFromVApp(from)); builder.privateAddresses(getPrivateIpsFromVApp(from)); builder.credentials(getCredentialsFrom(from)); Credentials fromApi = getCredentialsFrom(from); if (fromApi != null && !credentialStore.containsKey("node#" + from.getHref().toASCIIString())) credentialStore.put("node#" + from.getHref().toASCIIString(), fromApi); builder.credentials(credentialStore.get("node#" + from.getHref().toASCIIString())); return builder.build(); } }
@Override public NodeMetadata apply(VCloudExpressVApp from) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(from.getHref().toASCIIString()); builder.uri(from.getHref()); builder.name(from.getName()); builder.location(findLocationForResourceInVDC.apply(from.getVDC())); builder.tag(parseTagFromName(from.getName())); builder.operatingSystem(from.getOsType() != null ? new CIMOperatingSystem(CIMOperatingSystem.OSType .fromValue(from.getOsType()), null, null, from.getOperatingSystemDescription()) : null); builder.hardware(hardwareForVCloudExpressVApp.apply(from)); builder.state(vAppStatusToNodeState.get(from.getStatus())); builder.publicAddresses(computeClient.getPublicAddresses(from.getHref())); builder.privateAddresses(computeClient.getPrivateAddresses(from.getHref())); builder.credentials(credentialStore.get("node#" + from.getHref().toASCIIString())); return builder.build(); } }
@Override public NodeMetadata apply(RunningInstance instance) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); String providerId = checkNotNull(instance, "instance").getId(); builder.providerId(providerId); builder.id(instance.getRegion() + "/" + providerId); String tag = getTagForInstance(instance); builder.tag(tag); builder.credentials(credentialStore.get("node#" + instance.getRegion() + "/" + providerId)); builder.state(instanceToNodeState.get(instance.getInstanceState())); builder.publicAddresses(nullSafeSet(instance.getIpAddress())); builder.privateAddresses(nullSafeSet(instance.getPrivateIpAddress())); builder.hardware(parseHardware(instance)); Location location = getLocationForAvailabilityZoneOrRegion(instance); builder.location(location); builder.imageId(instance.getRegion() + "/" + instance.getImageId()); // extract the operating system from the image Image image = instanceToImage.get(new RegionAndName(instance.getRegion(), instance.getImageId())); if (image != null) builder.operatingSystem(image.getOperatingSystem()); return builder.build(); }