mirror of https://github.com/apache/jclouds.git
commit
986f92d0a4
|
@ -393,7 +393,7 @@ public class SSHJava extends Java {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All files transfered to the host will be relative to this. The java process itself will be at
|
* All files transferred to the host will be relative to this. The java process itself will be at
|
||||||
* this path/{@code id}.
|
* this path/{@code id}.
|
||||||
*/
|
*/
|
||||||
public void setRemotebase(File remotebase) {
|
public void setRemotebase(File remotebase) {
|
||||||
|
|
|
@ -227,7 +227,7 @@ public class SSHExecute {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Open an ssh seession.
|
* Open an ssh session.
|
||||||
*
|
*
|
||||||
* @return the opened session
|
* @return the opened session
|
||||||
* @throws JSchException
|
* @throws JSchException
|
||||||
|
|
|
@ -167,7 +167,7 @@ public class LoadBalancer extends BaseLoadBalancer<Node, LoadBalancer> {
|
||||||
* configuration change or update, the status of the load balancer will change to PENDING_UPDATE
|
* configuration change or update, the status of the load balancer will change to PENDING_UPDATE
|
||||||
* to signify configuration changes are in progress but have not yet been finalized. Load
|
* to signify configuration changes are in progress but have not yet been finalized. Load
|
||||||
* balancers in a SUSPENDED status are configured to reject traffic and will not forward requests
|
* balancers in a SUSPENDED status are configured to reject traffic and will not forward requests
|
||||||
* to back-end nodess.
|
* to back-end nodes.
|
||||||
*/
|
*/
|
||||||
public static enum Status {
|
public static enum Status {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -32,7 +32,7 @@ import com.google.gson.stream.JsonReader;
|
||||||
* Data adapter for the date formats used by CloudStack.
|
* Data adapter for the date formats used by CloudStack.
|
||||||
*
|
*
|
||||||
* Essentially this is a workaround for the CloudStack getUsage() API call returning a
|
* Essentially this is a workaround for the CloudStack getUsage() API call returning a
|
||||||
* corrupted formn of ISO-8601 dates, which have an unexpected pair of apostrophes, like
|
* corrupted form of ISO-8601 dates, which have an unexpected pair of apostrophes, like
|
||||||
* 2011-12-12'T'00:00:00+00:00
|
* 2011-12-12'T'00:00:00+00:00
|
||||||
*
|
*
|
||||||
* @author Richard Downer
|
* @author Richard Downer
|
||||||
|
|
|
@ -333,7 +333,7 @@ public class Snapshot {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return valid types are hourly, daily, weekly, monthy, template, and none.
|
* @return valid types are hourly, daily, weekly, monthly, template, and none.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
public Snapshot.Interval getInterval() {
|
public Snapshot.Interval getInterval() {
|
||||||
|
|
|
@ -150,7 +150,7 @@ public class SnapshotPolicy {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return valid types are hourly, daily, weekly, monthy, template, and none.
|
* @return valid types are hourly, daily, weekly, monthly, template, and none.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
public Snapshot.Interval getInterval() {
|
public Snapshot.Interval getInterval() {
|
||||||
|
|
|
@ -940,7 +940,7 @@ public class VirtualMachine {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the ID of the availablility zone for the virtual machine
|
* @return the ID of the availability zone for the virtual machine
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
public String getZoneId() {
|
public String getZoneId() {
|
||||||
|
|
|
@ -95,7 +95,7 @@ public interface FirewallClient {
|
||||||
* @param options
|
* @param options
|
||||||
* if present, how to constrain the list.
|
* if present, how to constrain the list.
|
||||||
* @return PortForwardingRules matching query, or empty set, if no
|
* @return PortForwardingRules matching query, or empty set, if no
|
||||||
* PortForwardingRulees are found
|
* PortForwardingRules are found
|
||||||
*/
|
*/
|
||||||
Set<PortForwardingRule> listPortForwardingRules(ListPortForwardingRulesOptions... options);
|
Set<PortForwardingRule> listPortForwardingRules(ListPortForwardingRulesOptions... options);
|
||||||
|
|
||||||
|
|
|
@ -170,7 +170,7 @@ public interface TemplateClient {
|
||||||
/**
|
/**
|
||||||
* Updates a template visibility permissions. A public template is visible to
|
* Updates a template visibility permissions. A public template is visible to
|
||||||
* all accounts within the same domain. A private template is visible only to
|
* all accounts within the same domain. A private template is visible only to
|
||||||
* the owner of the template. A priviledged template is a private template
|
* the owner of the template. A privileged template is a private template
|
||||||
* with account permissions added. Only accounts specified under the template
|
* with account permissions added. Only accounts specified under the template
|
||||||
* permissions are visible to them.
|
* permissions are visible to them.
|
||||||
*
|
*
|
||||||
|
|
|
@ -67,7 +67,7 @@ public class CreateTemplateOptions extends BaseHttpRequestOptions {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* true if the template requres HVM, false otherwise
|
* true if the template requires HVM, false otherwise
|
||||||
*/
|
*/
|
||||||
public CreateTemplateOptions requiresHVM(boolean requiresHVM) {
|
public CreateTemplateOptions requiresHVM(boolean requiresHVM) {
|
||||||
this.queryParameters.replaceValues("requireshvm", ImmutableSet.of(requiresHVM + ""));
|
this.queryParameters.replaceValues("requireshvm", ImmutableSet.of(requiresHVM + ""));
|
||||||
|
|
|
@ -43,7 +43,7 @@ public class ListFirewallRulesOptions extends AccountInDomainOptions {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ipAddressId
|
* @param ipAddressId
|
||||||
* the id of IP address of the firwall services
|
* the id of IP address of the firewall services
|
||||||
*/
|
*/
|
||||||
public ListFirewallRulesOptions ipAddressId(String ipAddressId) {
|
public ListFirewallRulesOptions ipAddressId(String ipAddressId) {
|
||||||
this.queryParameters.replaceValues("ipaddressid", ImmutableSet.of(ipAddressId + ""));
|
this.queryParameters.replaceValues("ipaddressid", ImmutableSet.of(ipAddressId + ""));
|
||||||
|
|
|
@ -223,7 +223,7 @@ public class EC2ComputeService extends BaseComputeService {
|
||||||
// resources existing.
|
// resources existing.
|
||||||
|
|
||||||
// Also in #445, in aws-ec2 the deleteSecurityGroup sometimes fails after terminating the final VM using a
|
// Also in #445, in aws-ec2 the deleteSecurityGroup sometimes fails after terminating the final VM using a
|
||||||
// given security group, if called very soon after the VM's state reports terminated. Emprically, it seems that
|
// given security group, if called very soon after the VM's state reports terminated. Empirically, it seems that
|
||||||
// waiting a small time (e.g. enabling logging or debugging!) then the tests pass. We therefore retry.
|
// waiting a small time (e.g. enabling logging or debugging!) then the tests pass. We therefore retry.
|
||||||
final int maxAttempts = 3;
|
final int maxAttempts = 3;
|
||||||
Retryables.retryNumTimes(new Predicate<Void>() {
|
Retryables.retryNumTimes(new Predicate<Void>() {
|
||||||
|
|
|
@ -103,7 +103,7 @@ public class BundleInstanceS3Storage {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "[ccessKeyId=" + ccessKeyId + ", bucket=" + bucket + ", prefix=" + prefix + ", secreAccessKey="
|
return "[ccessKeyId=" + ccessKeyId + ", bucket=" + bucket + ", prefix=" + prefix + ", secretAccessKey="
|
||||||
+ secretAccessKey + ", uploadPolicy=" + uploadPolicy + ", uploadPolicySignature=" + uploadPolicySignature
|
+ secretAccessKey + ", uploadPolicy=" + uploadPolicy + ", uploadPolicySignature=" + uploadPolicySignature
|
||||||
+ "]";
|
+ "]";
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,8 +112,8 @@ public class RunInstancesOptions extends BaseEC2RequestOptions {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The ID of the RAM disk with which to launch the instance. Some kernels require additional
|
* The ID of the RAM disk with which to launch the instance. Some kernels require additional
|
||||||
* drivers at l aunch. Check the kernel requirements for information on whether you need to
|
* drivers at launch. Check the kernel requirements for information on whether you need to
|
||||||
* specify a RAM disk. To find kernel requirements, go to th e Resource Center and search for the
|
* specify a RAM disk. To find kernel requirements, go to the Resource Center and search for the
|
||||||
* kernel ID.
|
* kernel ID.
|
||||||
*/
|
*/
|
||||||
public RunInstancesOptions withRamdisk(String ramDiskId) {
|
public RunInstancesOptions withRamdisk(String ramDiskId) {
|
||||||
|
|
|
@ -43,7 +43,7 @@ public interface AMIClient {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns information about AMIs, AKIs, and ARIs. This includes image type, product codes,
|
* Returns information about AMIs, AKIs, and ARIs. This includes image type, product codes,
|
||||||
* architecture, and kernel and RAM disk IDs. Images available to you include p ublic images,
|
* architecture, and kernel and RAM disk IDs. Images available to you include public images,
|
||||||
* private images that you own, and private images owned by other users for which you have
|
* private images that you own, and private images owned by other users for which you have
|
||||||
* explicit launch permissions.
|
* explicit launch permissions.
|
||||||
*
|
*
|
||||||
|
|
|
@ -53,7 +53,7 @@ public interface WindowsClient {
|
||||||
* @param bucket
|
* @param bucket
|
||||||
* The bucket in which to store the AMI. You can specify a bucket
|
* The bucket in which to store the AMI. You can specify a bucket
|
||||||
* that you already own or a new bucket that Amazon EC2 creates on
|
* that you already own or a new bucket that Amazon EC2 creates on
|
||||||
* your behalf. If you specify a bucket that belongs to som eone
|
* your behalf. If you specify a bucket that belongs to someone
|
||||||
* else, Amazon EC2 returns an error.
|
* else, Amazon EC2 returns an error.
|
||||||
* @param uploadPolicy
|
* @param uploadPolicy
|
||||||
* An Amazon S3 upload policy that gives Amazon EC2 permission to
|
* An Amazon S3 upload policy that gives Amazon EC2 permission to
|
||||||
|
|
|
@ -40,7 +40,7 @@ public class DescribeAvailabilityZonesResponseHandler extends ParseSax.HandlerWi
|
||||||
private StringBuilder currentText = new StringBuilder();
|
private StringBuilder currentText = new StringBuilder();
|
||||||
private final Supplier<String> defaultRegion;
|
private final Supplier<String> defaultRegion;
|
||||||
|
|
||||||
private Set<AvailabilityZoneInfo> availablilityZones = Sets.newLinkedHashSet();
|
private Set<AvailabilityZoneInfo> availabilityZones = Sets.newLinkedHashSet();
|
||||||
private String zone;
|
private String zone;
|
||||||
@Resource
|
@Resource
|
||||||
protected Logger logger = Logger.NULL;
|
protected Logger logger = Logger.NULL;
|
||||||
|
@ -63,7 +63,7 @@ public class DescribeAvailabilityZonesResponseHandler extends ParseSax.HandlerWi
|
||||||
}
|
}
|
||||||
|
|
||||||
public Set<AvailabilityZoneInfo> getResult() {
|
public Set<AvailabilityZoneInfo> getResult() {
|
||||||
return availablilityZones;
|
return availabilityZones;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void startElement(String uri, String name, String qName, Attributes attrs) {
|
public void startElement(String uri, String name, String qName, Attributes attrs) {
|
||||||
|
@ -89,7 +89,7 @@ public class DescribeAvailabilityZonesResponseHandler extends ParseSax.HandlerWi
|
||||||
} else if (qName.equals("messageSet")) {
|
} else if (qName.equals("messageSet")) {
|
||||||
inMessageSet = false;
|
inMessageSet = false;
|
||||||
} else if (qName.equals("item") && !inMessageSet) {
|
} else if (qName.equals("item") && !inMessageSet) {
|
||||||
availablilityZones.add(new AvailabilityZoneInfo(zone, zoneState, region, messages));
|
availabilityZones.add(new AvailabilityZoneInfo(zone, zoneState, region, messages));
|
||||||
this.zone = null;
|
this.zone = null;
|
||||||
this.region = defaultRegion.get();
|
this.region = defaultRegion.get();
|
||||||
this.zoneState = null;
|
this.zoneState = null;
|
||||||
|
|
|
@ -233,7 +233,7 @@ public class FilesystemStorageStrategyImpl implements LocalStorageStrategy {
|
||||||
File fileToBeDeleted = new File(fileName);
|
File fileToBeDeleted = new File(fileName);
|
||||||
fileToBeDeleted.delete();
|
fileToBeDeleted.delete();
|
||||||
|
|
||||||
// now examins if the key of the blob is a complex key (with a directory structure)
|
// now examine if the key of the blob is a complex key (with a directory structure)
|
||||||
// and eventually remove empty directory
|
// and eventually remove empty directory
|
||||||
removeDirectoriesTreeOfBlobKey(container, blobKey);
|
removeDirectoriesTreeOfBlobKey(container, blobKey);
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,16 +107,16 @@ public class ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddT
|
||||||
templateOptions);
|
templateOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean keyPairExensionPresent = novaApi.getKeyPairExtensionForZone(zone).isPresent();
|
boolean keyPairExtensionPresent = novaApi.getKeyPairExtensionForZone(zone).isPresent();
|
||||||
if (templateOptions.shouldGenerateKeyPair()) {
|
if (templateOptions.shouldGenerateKeyPair()) {
|
||||||
checkArgument(keyPairExensionPresent,
|
checkArgument(keyPairExtensionPresent,
|
||||||
"Key Pairs are required by options, but the extension is not available! options: %s", templateOptions);
|
"Key Pairs are required by options, but the extension is not available! options: %s", templateOptions);
|
||||||
KeyPair keyPair = keyPairCache.getUnchecked(ZoneAndName.fromZoneAndName(zone, namingConvention.create()
|
KeyPair keyPair = keyPairCache.getUnchecked(ZoneAndName.fromZoneAndName(zone, namingConvention.create()
|
||||||
.sharedNameForGroup(group)));
|
.sharedNameForGroup(group)));
|
||||||
keyPairCache.asMap().put(ZoneAndName.fromZoneAndName(zone, keyPair.getName()), keyPair);
|
keyPairCache.asMap().put(ZoneAndName.fromZoneAndName(zone, keyPair.getName()), keyPair);
|
||||||
templateOptions.keyPairName(keyPair.getName());
|
templateOptions.keyPairName(keyPair.getName());
|
||||||
} else if (templateOptions.getKeyPairName() != null) {
|
} else if (templateOptions.getKeyPairName() != null) {
|
||||||
checkArgument(keyPairExensionPresent,
|
checkArgument(keyPairExtensionPresent,
|
||||||
"Key Pairs are required by options, but the extension is not available! options: %s", templateOptions);
|
"Key Pairs are required by options, but the extension is not available! options: %s", templateOptions);
|
||||||
if (templateOptions.getLoginPrivateKey() != null) {
|
if (templateOptions.getLoginPrivateKey() != null) {
|
||||||
String pem = templateOptions.getLoginPrivateKey();
|
String pem = templateOptions.getLoginPrivateKey();
|
||||||
|
@ -126,13 +126,13 @@ public class ApplyNovaTemplateOptionsCreateNodesWithGroupEncodedIntoNameThenAddT
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean securityGroupExensionPresent = novaApi.getSecurityGroupExtensionForZone(zone).isPresent();
|
boolean securityGroupExtensionPresent = novaApi.getSecurityGroupExtensionForZone(zone).isPresent();
|
||||||
List<Integer> inboundPorts = Ints.asList(templateOptions.getInboundPorts());
|
List<Integer> inboundPorts = Ints.asList(templateOptions.getInboundPorts());
|
||||||
if (templateOptions.getSecurityGroupNames().size() > 0) {
|
if (templateOptions.getSecurityGroupNames().size() > 0) {
|
||||||
checkArgument(novaApi.getSecurityGroupExtensionForZone(zone).isPresent(),
|
checkArgument(novaApi.getSecurityGroupExtensionForZone(zone).isPresent(),
|
||||||
"Security groups are required by options, but the extension is not available! options: %s",
|
"Security groups are required by options, but the extension is not available! options: %s",
|
||||||
templateOptions);
|
templateOptions);
|
||||||
} else if (securityGroupExensionPresent && inboundPorts.size() > 0) {
|
} else if (securityGroupExtensionPresent && inboundPorts.size() > 0) {
|
||||||
String securityGroupName = namingConvention.create().sharedNameForGroup(group);
|
String securityGroupName = namingConvention.create().sharedNameForGroup(group);
|
||||||
try {
|
try {
|
||||||
securityGroupCache.get(new ZoneSecurityGroupNameAndPorts(zone, securityGroupName, inboundPorts));
|
securityGroupCache.get(new ZoneSecurityGroupNameAndPorts(zone, securityGroupName, inboundPorts));
|
||||||
|
|
|
@ -411,7 +411,7 @@ public class Server extends Resource {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return keyName if extension is present and there is a valur for this server
|
* @return keyName if extension is present and there is a value for this server
|
||||||
* @see KeyPairApi
|
* @see KeyPairApi
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
|
|
|
@ -76,7 +76,7 @@ public class SimpleServerUsage {
|
||||||
protected String tenantId;
|
protected String tenantId;
|
||||||
protected String flavorName;
|
protected String flavorName;
|
||||||
protected Date instanceCreated;
|
protected Date instanceCreated;
|
||||||
protected Date instanceTerminiated;
|
protected Date instanceTerminated;
|
||||||
protected SimpleServerUsage.Status instanceStatus;
|
protected SimpleServerUsage.Status instanceStatus;
|
||||||
protected long uptime;
|
protected long uptime;
|
||||||
|
|
||||||
|
@ -145,10 +145,10 @@ public class SimpleServerUsage {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see SimpleServerUsage#getInstanceTerminiated()
|
* @see SimpleServerUsage#getInstanceTerminated()
|
||||||
*/
|
*/
|
||||||
public T instanceTerminiated(Date instanceTerminiated) {
|
public T instanceTerminated(Date instanceTerminated) {
|
||||||
this.instanceTerminiated = instanceTerminiated;
|
this.instanceTerminated = instanceTerminated;
|
||||||
return self();
|
return self();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ public class SimpleServerUsage {
|
||||||
}
|
}
|
||||||
|
|
||||||
public SimpleServerUsage build() {
|
public SimpleServerUsage build() {
|
||||||
return new SimpleServerUsage(instanceName, hours, flavorMemoryMb, flavorLocalGb, flavorVcpus, tenantId, flavorName, instanceCreated, instanceTerminiated, instanceStatus, uptime);
|
return new SimpleServerUsage(instanceName, hours, flavorMemoryMb, flavorLocalGb, flavorVcpus, tenantId, flavorName, instanceCreated, instanceTerminated, instanceStatus, uptime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public T fromSimpleServerUsage(SimpleServerUsage in) {
|
public T fromSimpleServerUsage(SimpleServerUsage in) {
|
||||||
|
@ -182,7 +182,7 @@ public class SimpleServerUsage {
|
||||||
.tenantId(in.getTenantId())
|
.tenantId(in.getTenantId())
|
||||||
.flavorName(in.getFlavorName())
|
.flavorName(in.getFlavorName())
|
||||||
.instanceCreated(in.getInstanceCreated())
|
.instanceCreated(in.getInstanceCreated())
|
||||||
.instanceTerminiated(in.getInstanceTerminiated())
|
.instanceTerminated(in.getInstanceTerminated())
|
||||||
.instanceStatus(in.getInstanceStatus())
|
.instanceStatus(in.getInstanceStatus())
|
||||||
.uptime(in.getUptime());
|
.uptime(in.getUptime());
|
||||||
}
|
}
|
||||||
|
@ -211,7 +211,7 @@ public class SimpleServerUsage {
|
||||||
@Named("started_at")
|
@Named("started_at")
|
||||||
private final Date instanceCreated;
|
private final Date instanceCreated;
|
||||||
@Named("ended_at")
|
@Named("ended_at")
|
||||||
private final Date instanceTerminiated;
|
private final Date instanceTerminated;
|
||||||
@Named("state")
|
@Named("state")
|
||||||
private final SimpleServerUsage.Status instanceStatus;
|
private final SimpleServerUsage.Status instanceStatus;
|
||||||
private final long uptime;
|
private final long uptime;
|
||||||
|
@ -219,7 +219,7 @@ public class SimpleServerUsage {
|
||||||
@ConstructorProperties({
|
@ConstructorProperties({
|
||||||
"name", "hours", "memory_mb", "local_gb", "vcpus", "tenant_id", "flavor", "started_at", "ended_at", "state", "uptime"
|
"name", "hours", "memory_mb", "local_gb", "vcpus", "tenant_id", "flavor", "started_at", "ended_at", "state", "uptime"
|
||||||
})
|
})
|
||||||
protected SimpleServerUsage(String instanceName, double hours, double flavorMemoryMb, double flavorLocalGb, double flavorVcpus, String tenantId, String flavorName, Date instanceCreated, @Nullable Date instanceTerminiated, SimpleServerUsage.Status instanceStatus, long uptime) {
|
protected SimpleServerUsage(String instanceName, double hours, double flavorMemoryMb, double flavorLocalGb, double flavorVcpus, String tenantId, String flavorName, Date instanceCreated, @Nullable Date instanceTerminated, SimpleServerUsage.Status instanceStatus, long uptime) {
|
||||||
this.instanceName = checkNotNull(instanceName, "instanceName");
|
this.instanceName = checkNotNull(instanceName, "instanceName");
|
||||||
this.hours = hours;
|
this.hours = hours;
|
||||||
this.flavorMemoryMb = flavorMemoryMb;
|
this.flavorMemoryMb = flavorMemoryMb;
|
||||||
|
@ -228,7 +228,7 @@ public class SimpleServerUsage {
|
||||||
this.tenantId = checkNotNull(tenantId, "tenantId");
|
this.tenantId = checkNotNull(tenantId, "tenantId");
|
||||||
this.flavorName = checkNotNull(flavorName, "flavorName");
|
this.flavorName = checkNotNull(flavorName, "flavorName");
|
||||||
this.instanceCreated = checkNotNull(instanceCreated, "instanceCreated");
|
this.instanceCreated = checkNotNull(instanceCreated, "instanceCreated");
|
||||||
this.instanceTerminiated = instanceTerminiated;
|
this.instanceTerminated = instanceTerminated;
|
||||||
this.instanceStatus = checkNotNull(instanceStatus, "instanceStatus");
|
this.instanceStatus = checkNotNull(instanceStatus, "instanceStatus");
|
||||||
this.uptime = uptime;
|
this.uptime = uptime;
|
||||||
}
|
}
|
||||||
|
@ -266,8 +266,8 @@ public class SimpleServerUsage {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public Date getInstanceTerminiated() {
|
public Date getInstanceTerminated() {
|
||||||
return this.instanceTerminiated;
|
return this.instanceTerminated;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SimpleServerUsage.Status getInstanceStatus() {
|
public SimpleServerUsage.Status getInstanceStatus() {
|
||||||
|
@ -280,7 +280,7 @@ public class SimpleServerUsage {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hashCode(instanceName, hours, flavorMemoryMb, flavorLocalGb, flavorVcpus, tenantId, flavorName, instanceCreated, instanceTerminiated, instanceStatus, uptime);
|
return Objects.hashCode(instanceName, hours, flavorMemoryMb, flavorLocalGb, flavorVcpus, tenantId, flavorName, instanceCreated, instanceTerminated, instanceStatus, uptime);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -296,14 +296,14 @@ public class SimpleServerUsage {
|
||||||
&& Objects.equal(this.tenantId, that.tenantId)
|
&& Objects.equal(this.tenantId, that.tenantId)
|
||||||
&& Objects.equal(this.flavorName, that.flavorName)
|
&& Objects.equal(this.flavorName, that.flavorName)
|
||||||
&& Objects.equal(this.instanceCreated, that.instanceCreated)
|
&& Objects.equal(this.instanceCreated, that.instanceCreated)
|
||||||
&& Objects.equal(this.instanceTerminiated, that.instanceTerminiated)
|
&& Objects.equal(this.instanceTerminated, that.instanceTerminated)
|
||||||
&& Objects.equal(this.instanceStatus, that.instanceStatus)
|
&& Objects.equal(this.instanceStatus, that.instanceStatus)
|
||||||
&& Objects.equal(this.uptime, that.uptime);
|
&& Objects.equal(this.uptime, that.uptime);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ToStringHelper string() {
|
protected ToStringHelper string() {
|
||||||
return Objects.toStringHelper(this)
|
return Objects.toStringHelper(this)
|
||||||
.add("instanceName", instanceName).add("hours", hours).add("flavorMemoryMb", flavorMemoryMb).add("flavorLocalGb", flavorLocalGb).add("flavorVcpus", flavorVcpus).add("tenantId", tenantId).add("flavorName", flavorName).add("instanceCreated", instanceCreated).add("instanceTerminiated", instanceTerminiated).add("instanceStatus", instanceStatus).add("uptime", uptime);
|
.add("instanceName", instanceName).add("hours", hours).add("flavorMemoryMb", flavorMemoryMb).add("flavorLocalGb", flavorLocalGb).add("flavorVcpus", flavorVcpus).add("tenantId", tenantId).add("flavorName", flavorName).add("instanceCreated", instanceCreated).add("instanceTerminated", instanceTerminated).add("instanceStatus", instanceStatus).add("uptime", uptime);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -87,7 +87,7 @@ public interface HostAggregateAsyncApi {
|
||||||
@Produces(MediaType.APPLICATION_JSON)
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
@WrapWith("aggregate")
|
@WrapWith("aggregate")
|
||||||
ListenableFuture<HostAggregate> createAggregate(@PayloadParam("name") String name,
|
ListenableFuture<HostAggregate> createAggregate(@PayloadParam("name") String name,
|
||||||
@PayloadParam("availability_zone") String availablityZone);
|
@PayloadParam("availability_zone") String availabilityZone);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see HostAggregateApi#updateName
|
* @see HostAggregateApi#updateName
|
||||||
|
|
|
@ -38,14 +38,14 @@ import org.jclouds.openstack.v2_0.services.Extension;
|
||||||
public interface SimpleTenantUsageApi {
|
public interface SimpleTenantUsageApi {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrive tenant_usage for all tenants
|
* Retrieve tenant_usage for all tenants
|
||||||
*
|
*
|
||||||
* @return the set of TenantUsage reports
|
* @return the set of TenantUsage reports
|
||||||
*/
|
*/
|
||||||
Set<SimpleTenantUsage> listTenantUsages();
|
Set<SimpleTenantUsage> listTenantUsages();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrive tenant_usage for a specified tenant
|
* Retrieve tenant_usage for a specified tenant
|
||||||
*
|
*
|
||||||
* @return the requested tenant usage
|
* @return the requested tenant usage
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -150,7 +150,7 @@ public interface ServerApi {
|
||||||
* @param id
|
* @param id
|
||||||
* id of the server
|
* id of the server
|
||||||
* @param options
|
* @param options
|
||||||
* Optional paramaters to the rebuilding operation.
|
* Optional parameters to the rebuilding operation.
|
||||||
*/
|
*/
|
||||||
void rebuildServer(String id, RebuildServerOptions... options);
|
void rebuildServer(String id, RebuildServerOptions... options);
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ public interface CommonSwiftClient {
|
||||||
* are supported with this request.
|
* are supported with this request.
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>limit - For an integer value N, limits the number of results to at most N values.</li>
|
* <li>limit - For an integer value N, limits the number of results to at most N values.</li>
|
||||||
* <li>marker - Given a string value X, return Object names greater in value than the specied
|
* <li>marker - Given a string value X, return Object names greater in value than the specified
|
||||||
* marker.</li>
|
* marker.</li>
|
||||||
* <li>format - Specify either json or xml to return the respective serialized response.</li>
|
* <li>format - Specify either json or xml to return the respective serialized response.</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
|
|
|
@ -223,7 +223,7 @@ public class VCloudRestClientModule extends RestClientModule<VCloudClient, VClou
|
||||||
@Provides
|
@Provides
|
||||||
@Singleton
|
@Singleton
|
||||||
@org.jclouds.vcloud.endpoints.VDC
|
@org.jclouds.vcloud.endpoints.VDC
|
||||||
protected Supplier<Map<String, String>> provideVDCtoORG(Supplier<Map<String, Org>> orgNameToOrgSuppier) {
|
protected Supplier<Map<String, String>> provideVDCtoORG(Supplier<Map<String, Org>> orgNameToOrgSupplier) {
|
||||||
return Suppliers2.compose(new Function<Map<String, Org>, Map<String, String>>() {
|
return Suppliers2.compose(new Function<Map<String, Org>, Map<String, String>>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -236,7 +236,7 @@ public class VCloudRestClientModule extends RestClientModule<VCloudClient, VClou
|
||||||
}
|
}
|
||||||
return returnVal.build();
|
return returnVal.build();
|
||||||
}
|
}
|
||||||
}, orgNameToOrgSuppier);
|
}, orgNameToOrgSupplier);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ public class DhcpService {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* default duration of a DCHP address lease
|
* default duration of a DHCP address lease
|
||||||
*
|
*
|
||||||
* @since vcloud api 0.9
|
* @since vcloud api 0.9
|
||||||
*/
|
*/
|
||||||
|
@ -64,7 +64,7 @@ public class DhcpService {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* maximum duration of a DCHP address lease.
|
* maximum duration of a DHCP address lease.
|
||||||
*
|
*
|
||||||
* @since vcloud api 0.9
|
* @since vcloud api 0.9
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -54,7 +54,7 @@ public interface VAppClient {
|
||||||
Task deployVApp(URI href);
|
Task deployVApp(URI href);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* like {@link #deployVApp(URI)}, except deploy transistions to power on state
|
* like {@link #deployVApp(URI)}, except deploy transitions to power on state
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
Task deployAndPowerOnVApp(URI href);
|
Task deployAndPowerOnVApp(URI href);
|
||||||
|
|
|
@ -98,7 +98,7 @@ public class ListOptions implements Cloneable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Place to continue a listing at. This must be the value returned from the last list object, as
|
* Place to continue a listing at. This must be the value returned from the last list object, as
|
||||||
* not all blobstores use lexigraphic lists.
|
* not all blobstores use lexicographic lists.
|
||||||
*/
|
*/
|
||||||
public ListOptions afterMarker(String marker) {
|
public ListOptions afterMarker(String marker) {
|
||||||
this.marker = checkNotNull(marker, "marker");
|
this.marker = checkNotNull(marker, "marker");
|
||||||
|
|
|
@ -37,7 +37,7 @@ import com.google.common.collect.Multimap;
|
||||||
* <p/>
|
* <p/>
|
||||||
* AzureQueueClient connection = // get connection
|
* AzureQueueClient connection = // get connection
|
||||||
* Multimap<String,String> metadata = // ...
|
* Multimap<String,String> metadata = // ...
|
||||||
* boolean createdWithPublicAcl = connection.createQueue("containerName", withMetdata(metadata));
|
* boolean createdWithPublicAcl = connection.createQueue("containerName", withMetadata(metadata));
|
||||||
* <code> *
|
* <code> *
|
||||||
*
|
*
|
||||||
* @see <a href="http://msdn.microsoft.com/en-us/library/dd179466.aspx" />
|
* @see <a href="http://msdn.microsoft.com/en-us/library/dd179466.aspx" />
|
||||||
|
|
|
@ -142,7 +142,7 @@ public class TerremarkVCloudRestClientModule<S, A> extends RestClientModule<S, A
|
||||||
@Singleton
|
@Singleton
|
||||||
@org.jclouds.trmk.vcloud_0_8.endpoints.VDC
|
@org.jclouds.trmk.vcloud_0_8.endpoints.VDC
|
||||||
protected Supplier<Map<String, String>> provideVDCtoORG(
|
protected Supplier<Map<String, String>> provideVDCtoORG(
|
||||||
Supplier<Map<String, ? extends org.jclouds.trmk.vcloud_0_8.domain.Org>> orgNameToOrgSuppier) {
|
Supplier<Map<String, ? extends org.jclouds.trmk.vcloud_0_8.domain.Org>> orgNameToOrgSupplier) {
|
||||||
return Suppliers2.compose(
|
return Suppliers2.compose(
|
||||||
new Function<Map<String, ? extends org.jclouds.trmk.vcloud_0_8.domain.Org>, Map<String, String>>() {
|
new Function<Map<String, ? extends org.jclouds.trmk.vcloud_0_8.domain.Org>, Map<String, String>>() {
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ public class TerremarkVCloudRestClientModule<S, A> extends RestClientModule<S, A
|
||||||
}
|
}
|
||||||
return returnVal.build();
|
return returnVal.build();
|
||||||
}
|
}
|
||||||
}, orgNameToOrgSuppier);
|
}, orgNameToOrgSupplier);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -666,12 +666,12 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This property exposes specific assignment of resources. Each non-null
|
* This property exposes specific assignment of resources. Each non-null
|
||||||
* value of the HostResource property shall be formated as a URI per RFC3986.
|
* value of the HostResource property shall be formatted as a URI per RFC3986.
|
||||||
* If this resource is modeled then a value should be a WBEM URI (DSP0207).
|
* If this resource is modeled then a value should be a WBEM URI (DSP0207).
|
||||||
* If the resource is not modeled then see the appropriate profile. Profiles
|
* If the resource is not modeled then see the appropriate profile. Profiles
|
||||||
* may further constrain the type of URI. A NULL value or empty array
|
* may further constrain the type of URI. A NULL value or empty array
|
||||||
* requests the implementation decide the kind of host resource. If the
|
* requests the implementation decide the kind of host resource. If the
|
||||||
* virtual resource is mapped to more than oneunderlying resource, this
|
* virtual resource is mapped to more than one underlying resource, this
|
||||||
* property may be left NULL. If NULL, the DeviceAllocatedFromPool or
|
* property may be left NULL. If NULL, the DeviceAllocatedFromPool or
|
||||||
* ResourceAllocationFromPool associations may be used to determine the pool
|
* ResourceAllocationFromPool associations may be used to determine the pool
|
||||||
* of host resources this virtual resource may use. If specific assignment is
|
* of host resources this virtual resource may use. If specific assignment is
|
||||||
|
|
|
@ -478,7 +478,7 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filepath of a file where recovery relateded information of the virtual system is stored.Format
|
* Filepath of a file where recovery related information of the virtual system is stored.Format
|
||||||
* shall be URI based on RFC 2079.
|
* shall be URI based on RFC 2079.
|
||||||
*/
|
*/
|
||||||
public URI getRecoveryFile() {
|
public URI getRecoveryFile() {
|
||||||
|
@ -517,7 +517,7 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
* virtualization platform. Note that the VirtualSystemIdentifier is not the hostname assigned to
|
* virtualization platform. Note that the VirtualSystemIdentifier is not the hostname assigned to
|
||||||
* the operating system instance running within the virtual system, nor is it an IP address or
|
* the operating system instance running within the virtual system, nor is it an IP address or
|
||||||
* MAC address assigned to any of its network ports. On create requests VirtualSystemIdentifier
|
* MAC address assigned to any of its network ports. On create requests VirtualSystemIdentifier
|
||||||
* may contain implementation specific rules (like simple patterns or regular expresssion) that
|
* may contain implementation specific rules (like simple patterns or regular expression) that
|
||||||
* may be interpreted by the implementation when assigning a VirtualSystemIdentifier.
|
* may be interpreted by the implementation when assigning a VirtualSystemIdentifier.
|
||||||
*/
|
*/
|
||||||
public String getVirtualSystemIdentifier() {
|
public String getVirtualSystemIdentifier() {
|
||||||
|
|
|
@ -186,7 +186,7 @@ public interface ComputeService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* nodes matching the filter are treated as a logical set. Using the resume command, you can save
|
* nodes matching the filter are treated as a logical set. Using the resume command, you can save
|
||||||
* time by resumeing the nodes in parallel.
|
* time by resuming the nodes in parallel.
|
||||||
*
|
*
|
||||||
* <h4>note</h4>
|
* <h4>note</h4>
|
||||||
*
|
*
|
||||||
|
|
|
@ -24,7 +24,7 @@ import org.jclouds.scriptbuilder.InitScript;
|
||||||
import com.google.common.annotations.Beta;
|
import com.google.common.annotations.Beta;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An init script was submitted to a node for exectuion.
|
* An init script was submitted to a node for execution.
|
||||||
* <p/>
|
* <p/>
|
||||||
* Note this does not guarantee that there was success, nor that the init script started.
|
* Note this does not guarantee that there was success, nor that the init script started.
|
||||||
*
|
*
|
||||||
|
|
|
@ -24,7 +24,7 @@ import org.jclouds.scriptbuilder.domain.Statement;
|
||||||
import com.google.common.annotations.Beta;
|
import com.google.common.annotations.Beta;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A statement was submitted to a node for exectuion.
|
* A statement was submitted to a node for execution.
|
||||||
* <p/>
|
* <p/>
|
||||||
* Note this does not guarantee that there was success, nor that the node
|
* Note this does not guarantee that there was success, nor that the node
|
||||||
* received the statement.
|
* received the statement.
|
||||||
|
|
|
@ -69,7 +69,7 @@ public class ComputeServiceUtils {
|
||||||
return String.format("%s[%s]", resource.getStatus(), resource.getBackendStatus());
|
return String.format("%s[%s]", resource.getStatus(), resource.getBackendStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Pattern DELIMETED_BY_HYPHEN_ENDING_IN_HYPHEN_HEX = Pattern.compile("(.+)-[0-9a-f]+");
|
public static final Pattern DELIMITED_BY_HYPHEN_ENDING_IN_HYPHEN_HEX = Pattern.compile("(.+)-[0-9a-f]+");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* build a shell script that invokes the contents of the http request in bash.
|
* build a shell script that invokes the contents of the http request in bash.
|
||||||
|
|
|
@ -160,7 +160,7 @@ public interface Constants {
|
||||||
/**
|
/**
|
||||||
* Boolean property.
|
* Boolean property.
|
||||||
* <p/>
|
* <p/>
|
||||||
* allow mismatch between hostname and ssl cerificate. Set to true in DNS_based services like
|
* allow mismatch between hostname and ssl certificate. Set to true in DNS_based services like
|
||||||
* Amazon S3.
|
* Amazon S3.
|
||||||
*/
|
*/
|
||||||
public static final String PROPERTY_RELAX_HOSTNAME = "jclouds.relax-hostname";
|
public static final String PROPERTY_RELAX_HOSTNAME = "jclouds.relax-hostname";
|
||||||
|
|
|
@ -59,7 +59,7 @@ public abstract class ForwardingCacheLoader<K, V> extends CacheLoader<K, V> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A simplified version of {@link ForwardingCacheLoader} where subclasses can pass in an already
|
* A simplified version of {@link ForwardingCacheLoader} where subclasses can pass in an already
|
||||||
* constructed {@link CacheLoader} as the delegete.
|
* constructed {@link CacheLoader} as the delegate.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Beta
|
@Beta
|
||||||
|
|
|
@ -140,7 +140,7 @@ public class DynamicExecutors {
|
||||||
* A priority based thread factory, for all Thread priority constants:
|
* A priority based thread factory, for all Thread priority constants:
|
||||||
* <tt>Thread.MIN_PRIORITY, Thread.NORM_PRIORITY, Thread.MAX_PRIORITY</tt>;
|
* <tt>Thread.MIN_PRIORITY, Thread.NORM_PRIORITY, Thread.MAX_PRIORITY</tt>;
|
||||||
* <p/>
|
* <p/>
|
||||||
* This factory is used instead of Executers.DefaultThreadFactory to allow manipulation of
|
* This factory is used instead of Executors.DefaultThreadFactory to allow manipulation of
|
||||||
* priority and thread owner name.
|
* priority and thread owner name.
|
||||||
*
|
*
|
||||||
* @param namePrefix
|
* @param namePrefix
|
||||||
|
@ -173,7 +173,7 @@ public class DynamicExecutors {
|
||||||
* A priority based thread factory, for all Thread priority constants:
|
* A priority based thread factory, for all Thread priority constants:
|
||||||
* <tt>Thread.MIN_PRIORITY, Thread.NORM_PRIORITY, Thread.MAX_PRIORITY</tt>;
|
* <tt>Thread.MIN_PRIORITY, Thread.NORM_PRIORITY, Thread.MAX_PRIORITY</tt>;
|
||||||
* <p/>
|
* <p/>
|
||||||
* This factory is used instead of Executers.DefaultThreadFactory to allow manipulation of
|
* This factory is used instead of Executors.DefaultThreadFactory to allow manipulation of
|
||||||
* priority and thread owner name.
|
* priority and thread owner name.
|
||||||
*
|
*
|
||||||
* @param priority
|
* @param priority
|
||||||
|
|
|
@ -86,7 +86,7 @@ public abstract class BaseLifeCycle implements Runnable, LifeCycle {
|
||||||
*/
|
*/
|
||||||
protected boolean shouldDoWork() {
|
protected boolean shouldDoWork() {
|
||||||
try {
|
try {
|
||||||
exceptionIfDepedenciesNotActive();
|
exceptionIfDependenciesNotActive();
|
||||||
} catch (IllegalStateException e) {
|
} catch (IllegalStateException e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -112,14 +112,14 @@ public abstract class BaseLifeCycle implements Runnable, LifeCycle {
|
||||||
throw new IllegalStateException("Illegal state: " + this.status);
|
throw new IllegalStateException("Illegal state: " + this.status);
|
||||||
}
|
}
|
||||||
|
|
||||||
exceptionIfDepedenciesNotActive();
|
exceptionIfDependenciesNotActive();
|
||||||
|
|
||||||
this.status = Status.ACTIVE;
|
this.status = Status.ACTIVE;
|
||||||
}
|
}
|
||||||
executorService.execute(this);
|
executorService.execute(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void exceptionIfDepedenciesNotActive() {
|
protected void exceptionIfDependenciesNotActive() {
|
||||||
for (LifeCycle dependency : dependencies) {
|
for (LifeCycle dependency : dependencies) {
|
||||||
if (dependency.getStatus().compareTo(Status.ACTIVE) != 0) {
|
if (dependency.getStatus().compareTo(Status.ACTIVE) != 0) {
|
||||||
throw new IllegalStateException(String.format("Illegal state: %s for component: %s",
|
throw new IllegalStateException(String.format("Illegal state: %s for component: %s",
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
package org.jclouds.logging;
|
package org.jclouds.logging;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* JCloud log abstraction layer.
|
* JClouds log abstraction layer.
|
||||||
* <p/>
|
* <p/>
|
||||||
* Implementations of logging are optional and injected if they are configured.
|
* Implementations of logging are optional and injected if they are configured.
|
||||||
* <p/>
|
* <p/>
|
||||||
|
|
|
@ -35,7 +35,7 @@ import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A {@link BundleListener} that listens for {@link BundleEvent} and searches for {@link org.jclouds.providers.ProviderMetadata} and {@ling org.jclouds.apis.ApiMetadata} in newly
|
* A {@link BundleListener} that listens for {@link BundleEvent} and searches for {@link org.jclouds.providers.ProviderMetadata} and {@link org.jclouds.apis.ApiMetadata} in newly
|
||||||
* installed Bundles. This is used as a workaround for OSGi environments where the ServiceLoader cannot cross bundle
|
* installed Bundles. This is used as a workaround for OSGi environments where the ServiceLoader cannot cross bundle
|
||||||
* boundaries.
|
* boundaries.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -22,7 +22,7 @@ import org.jclouds.javax.annotation.Nullable;
|
||||||
import org.jclouds.predicates.Validator;
|
import org.jclouds.predicates.Validator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validates that the string paremeter doesn't have any uppercase letters.
|
* Validates that the string parameter doesn't have any uppercase letters.
|
||||||
*
|
*
|
||||||
* @see org.jclouds.rest.InputParamValidator
|
* @see org.jclouds.rest.InputParamValidator
|
||||||
* @see org.jclouds.predicates.Validator
|
* @see org.jclouds.predicates.Validator
|
||||||
|
|
|
@ -25,7 +25,7 @@ import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.Target;
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unwraps the only value in a nested json reponse
|
* Unwraps the only value in a nested json response
|
||||||
*
|
*
|
||||||
* ex. { "foo" :"bar" } becomes "bar"
|
* ex. { "foo" :"bar" } becomes "bar"
|
||||||
*
|
*
|
||||||
|
|
|
@ -1047,7 +1047,7 @@ public class RestAnnotationProcessor<T> {
|
||||||
private Set<HttpRequestOptions> findOptionsIn(Method method, Object... args) throws ExecutionException {
|
private Set<HttpRequestOptions> findOptionsIn(Method method, Object... args) throws ExecutionException {
|
||||||
ImmutableSet.Builder<HttpRequestOptions> result = ImmutableSet.builder();
|
ImmutableSet.Builder<HttpRequestOptions> result = ImmutableSet.builder();
|
||||||
for (int index : methodToIndexesOfOptions.get(method)) {
|
for (int index : methodToIndexesOfOptions.get(method)) {
|
||||||
if (args.length >= index + 1) {// accomodate varargs
|
if (args.length >= index + 1) {// accommodate varargs
|
||||||
if (args[index] instanceof Object[]) {
|
if (args[index] instanceof Object[]) {
|
||||||
for (Object option : (Object[]) args[index]) {
|
for (Object option : (Object[]) args[index]) {
|
||||||
if (option instanceof HttpRequestOptions) {
|
if (option instanceof HttpRequestOptions) {
|
||||||
|
|
|
@ -145,7 +145,7 @@ public class Throwables2 {
|
||||||
if (aex != null)
|
if (aex != null)
|
||||||
throw aex;
|
throw aex;
|
||||||
propagate(e);
|
propagate(e);
|
||||||
assert false : "exception should have propogated " + e;
|
assert false : "exception should have propagated " + e;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -102,7 +102,7 @@ public class GetPath {
|
||||||
}
|
}
|
||||||
|
|
||||||
} finally {
|
} finally {
|
||||||
// Close connecton
|
// Close connection
|
||||||
Closeables.closeQuietly(input);
|
Closeables.closeQuietly(input);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,7 +98,7 @@ public class SpeedTest {
|
||||||
runTests(queueName, messageCount, isEnterprise ? "enterprise" : "default", context);
|
runTests(queueName, messageCount, isEnterprise ? "enterprise" : "default", context);
|
||||||
} finally {
|
} finally {
|
||||||
purgeQueues(queueName, context);
|
purgeQueues(queueName, context);
|
||||||
// Close connectons
|
// Close connections
|
||||||
context.close();
|
context.close();
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -101,7 +101,7 @@ public class SpeedTest {
|
||||||
runTests(messageCount, isEnterprise ? "enterprise" : "default", context, queues);
|
runTests(messageCount, isEnterprise ? "enterprise" : "default", context, queues);
|
||||||
} finally {
|
} finally {
|
||||||
purgeQueues(queueName, context);
|
purgeQueues(queueName, context);
|
||||||
// Close connectons
|
// Close connections
|
||||||
context.close();
|
context.close();
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -363,7 +363,7 @@ public class TransactionlessXmlSchedulingDataProcessorPlugin implements
|
||||||
file = new File(furl);
|
file = new File(furl);
|
||||||
try {
|
try {
|
||||||
f = url.openStream();
|
f = url.openStream();
|
||||||
} catch (IOException ignor) {
|
} catch (IOException ignore) {
|
||||||
// Swallow the exception
|
// Swallow the exception
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -363,7 +363,7 @@ public class TransactionlessXmlSchedulingDataProcessorPlugin implements
|
||||||
file = new File(furl);
|
file = new File(furl);
|
||||||
try {
|
try {
|
||||||
f = url.openStream();
|
f = url.openStream();
|
||||||
} catch (IOException ignor) {
|
} catch (IOException ignore) {
|
||||||
// Swallow the exception
|
// Swallow the exception
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ public class CarrenzaVCloudDirectorComputeServiceContextModule extends AbstractM
|
||||||
@Override
|
@Override
|
||||||
protected void configure() {
|
protected void configure() {
|
||||||
|
|
||||||
} // FIXME: enable when compute serivce done
|
} // FIXME: enable when compute service done
|
||||||
//extends VCloudDirectorComputeServiceContextModule {
|
//extends VCloudDirectorComputeServiceContextModule {
|
||||||
//
|
//
|
||||||
// @Override
|
// @Override
|
||||||
|
|
|
@ -808,12 +808,12 @@ public class ResourceAllocationSettingData {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This property exposes specific assignment of resources. Each non-null
|
* This property exposes specific assignment of resources. Each non-null
|
||||||
* value of the HostResource property shall be formated as a URI per RFC3986.
|
* value of the HostResource property shall be formatted as a URI per RFC3986.
|
||||||
* If this resource is modeled then a value should be a WBEM URI (DSP0207).
|
* If this resource is modeled then a value should be a WBEM URI (DSP0207).
|
||||||
* If the resource is not modeled then see the appropriate profile. Profiles
|
* If the resource is not modeled then see the appropriate profile. Profiles
|
||||||
* may further constrain the type of URI. A NULL value or empty array
|
* may further constrain the type of URI. A NULL value or empty array
|
||||||
* requests the implementation decide the kind of host resource. If the
|
* requests the implementation decide the kind of host resource. If the
|
||||||
* virtual resource is mapped to more than oneunderlying resource, this
|
* virtual resource is mapped to more than one underlying resource, this
|
||||||
* property may be left NULL. If NULL, the DeviceAllocatedFromPool or
|
* property may be left NULL. If NULL, the DeviceAllocatedFromPool or
|
||||||
* ResourceAllocationFromPool associations may be used to determine the pool
|
* ResourceAllocationFromPool associations may be used to determine the pool
|
||||||
* of host resources this virtual resource may use. If specific assignment is
|
* of host resources this virtual resource may use. If specific assignment is
|
||||||
|
|
|
@ -589,7 +589,7 @@ public class VirtualSystemSettingData {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filepath of a file where recovery relateded information of the virtual system is stored.
|
* Filepath of a file where recovery related information of the virtual system is stored.
|
||||||
*
|
*
|
||||||
* Format shall be String based on RFC-2079.
|
* Format shall be String based on RFC-2079.
|
||||||
*/
|
*/
|
||||||
|
@ -637,7 +637,7 @@ public class VirtualSystemSettingData {
|
||||||
* Note that the VirtualSystemIdentifier is not the hostname assigned to
|
* Note that the VirtualSystemIdentifier is not the hostname assigned to
|
||||||
* the operating system instance running within the virtual system, nor is it an IP address or
|
* the operating system instance running within the virtual system, nor is it an IP address or
|
||||||
* MAC address assigned to any of its network ports. On create requests VirtualSystemIdentifier
|
* MAC address assigned to any of its network ports. On create requests VirtualSystemIdentifier
|
||||||
* may contain implementation specific rules (like simple patterns or regular expresssion) that
|
* may contain implementation specific rules (like simple patterns or regular expression) that
|
||||||
* may be interpreted by the implementation when assigning a VirtualSystemIdentifier.
|
* may be interpreted by the implementation when assigning a VirtualSystemIdentifier.
|
||||||
*/
|
*/
|
||||||
public String getVirtualSystemIdentifier() {
|
public String getVirtualSystemIdentifier() {
|
||||||
|
|
|
@ -154,7 +154,7 @@ public class Listener {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pecifies the protocol to use for routing traffic to back-end instances - HTTP, HTTPS, TCP, or
|
* Specifies the protocol to use for routing traffic to back-end instances - HTTP, HTTPS, TCP, or
|
||||||
* SSL. This property cannot be modified for the life of the LoadBalancer.
|
* SSL. This property cannot be modified for the life of the LoadBalancer.
|
||||||
*/
|
*/
|
||||||
public Protocol getInstanceProtocol() {
|
public Protocol getInstanceProtocol() {
|
||||||
|
|
|
@ -30,7 +30,7 @@ import com.google.common.collect.ImmutableSet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Detailed information about a server such as cpuCores, hardware configuration
|
* Detailed information about a server such as cpuCores, hardware configuration
|
||||||
* (cpu, memory and disk), ip adresses, cost, transfer, os and more.
|
* (cpu, memory and disk), ip addresses, cost, transfer, os and more.
|
||||||
*
|
*
|
||||||
* @author Adrian Cole
|
* @author Adrian Cole
|
||||||
* @see <a href= "https://customer.glesys.com/api.php?a=doc#server_details" />
|
* @see <a href= "https://customer.glesys.com/api.php?a=doc#server_details" />
|
||||||
|
|
|
@ -9,11 +9,11 @@
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unles required by applicable law or agreed to in writing,
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* software distributed under the License is distributed on an
|
* software distributed under the License is distributed on an
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* KIND, either expres or implied. See the License for the
|
* KIND, either express or implied. See the License for the
|
||||||
* specific language governing permisions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
package org.jclouds.joyent.cloudapi.v6_5.suppliers;
|
package org.jclouds.joyent.cloudapi.v6_5.suppliers;
|
||||||
|
|
|
@ -41,7 +41,7 @@ public class BindVMSpecToXmlPayload extends BaseBindVMSpecToXmlPayload<VMSpec> {
|
||||||
return VMSpec.class.cast(arg);
|
return VMSpec.class.cast(arg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw new IllegalArgumentException("Iterbable<VMSpec> must be included in the argument list");
|
throw new IllegalArgumentException("Iterable<VMSpec> must be included in the argument list");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -48,7 +48,7 @@ public class BindVMSpecsToXmlPayload extends BaseBindVMSpecToXmlPayload<Iterable
|
||||||
return specs;
|
return specs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw new IllegalArgumentException("Iterbable<VMSpec> must be included in the argument list");
|
throw new IllegalArgumentException("Iterable<VMSpec> must be included in the argument list");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class NetworkConnectionSection extends Section<NetworkConnectionSection>
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Builder toBuilder() {
|
public Builder toBuilder() {
|
||||||
return builder().fromNetworkConectionSection(this);
|
return builder().fromNetworkConnectionSection(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Builder extends Section.Builder<NetworkConnectionSection> {
|
public static class Builder extends Section.Builder<NetworkConnectionSection> {
|
||||||
|
@ -61,7 +61,7 @@ public class NetworkConnectionSection extends Section<NetworkConnectionSection>
|
||||||
return new NetworkConnectionSection(info, network, ipAddress);
|
return new NetworkConnectionSection(info, network, ipAddress);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder fromNetworkConectionSection(NetworkConnectionSection in) {
|
public Builder fromNetworkConnectionSection(NetworkConnectionSection in) {
|
||||||
return fromSection(in).network(in.getNetwork()).ipAddress(in.getIpAddress());
|
return fromSection(in).network(in.getNetwork()).ipAddress(in.getIpAddress());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ public class VmNIC {
|
||||||
public String netmask;
|
public String netmask;
|
||||||
public String gateway;
|
public String gateway;
|
||||||
|
|
||||||
public Builder simpleDCHPNic() {
|
public Builder simpleDHCPNic() {
|
||||||
tag = "admin";
|
tag = "admin";
|
||||||
ip = "dhcp";
|
ip = "dhcp";
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -61,7 +61,7 @@ public class SmartOSComputeServiceAdapter implements ComputeServiceAdapter<VM, V
|
||||||
public NodeAndInitialCredentials<VM> createNodeWithGroupEncodedIntoName(String tag, String name, Template template) {
|
public NodeAndInitialCredentials<VM> createNodeWithGroupEncodedIntoName(String tag, String name, Template template) {
|
||||||
VmSpecification specification = VmSpecification.builder().alias(name)
|
VmSpecification specification = VmSpecification.builder().alias(name)
|
||||||
.dataset(getHost().getDataSet(UUID.fromString(template.getImage().getProviderId())))
|
.dataset(getHost().getDataSet(UUID.fromString(template.getImage().getProviderId())))
|
||||||
.nic(VmNIC.builder().simpleDCHPNic().build()).build();
|
.nic(VmNIC.builder().simpleDHCPNic().build()).build();
|
||||||
|
|
||||||
VM from = getHost().createVM(specification);
|
VM from = getHost().createVM(specification);
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ public class SmartOSComputeServiceAdapter implements ComputeServiceAdapter<VM, V
|
||||||
List<VmSpecification> specificationList = new ArrayList<VmSpecification>();
|
List<VmSpecification> specificationList = new ArrayList<VmSpecification>();
|
||||||
|
|
||||||
VmSpecification vs = VmSpecification.builder().alias("Standard Joyent VM")
|
VmSpecification vs = VmSpecification.builder().alias("Standard Joyent VM")
|
||||||
.nic(VmNIC.builder().simpleDCHPNic().build()).build();
|
.nic(VmNIC.builder().simpleDHCPNic().build()).build();
|
||||||
|
|
||||||
specificationList.add(vs);
|
specificationList.add(vs);
|
||||||
|
|
||||||
|
|
|
@ -71,5 +71,5 @@ public class CatalogReference extends Reference {
|
||||||
return super.equals(that);
|
return super.equals(that);
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE hashcode inheritted from Reference
|
// NOTE hashcode inherited from Reference
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,5 +71,5 @@ public class RoleReference extends Reference {
|
||||||
return super.equals(that);
|
return super.equals(that);
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE hashcode inheritted from Reference
|
// NOTE hashcode inherited from Reference
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,6 +85,6 @@ public class RoleReferences extends QueryResultReferences {
|
||||||
return super.equals(that);
|
return super.equals(that);
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE hashcode inheritted from QueryResultReferences
|
// NOTE hashcode inherited from QueryResultReferences
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,7 @@ public class Task extends Entity {
|
||||||
@XmlEnumValue("queued") QUEUED("queued"),
|
@XmlEnumValue("queued") QUEUED("queued"),
|
||||||
/** The task is awaiting preprocessing or, if it is a blocking task, administrative action. */
|
/** The task is awaiting preprocessing or, if it is a blocking task, administrative action. */
|
||||||
@XmlEnumValue("preRunning") PRE_RUNNING("preRunning"),
|
@XmlEnumValue("preRunning") PRE_RUNNING("preRunning"),
|
||||||
/** The task is runnning. */
|
/** The task is running. */
|
||||||
@XmlEnumValue("running") RUNNING("running"),
|
@XmlEnumValue("running") RUNNING("running"),
|
||||||
/** The task completed with a status of success. */
|
/** The task completed with a status of success. */
|
||||||
@XmlEnumValue("success") SUCCESS("success"),
|
@XmlEnumValue("success") SUCCESS("success"),
|
||||||
|
|
|
@ -71,5 +71,5 @@ public class VAppReference extends Reference {
|
||||||
return super.equals(that);
|
return super.equals(that);
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE hashcode inheritted from Reference
|
// NOTE hashcode inherited from Reference
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,5 +74,5 @@ public class CatalogReferences extends QueryResultReferences {
|
||||||
return super.equals(that);
|
return super.equals(that);
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE hashcode inheritted from QueryResultReferences
|
// NOTE hashcode inherited from QueryResultReferences
|
||||||
}
|
}
|
||||||
|
|
|
@ -484,7 +484,7 @@ public class QueryResultAdminVdcRecord extends QueryResultRecordType {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Shows wheter it is a system vDC
|
* Shows whether it is a system vDC
|
||||||
*/
|
*/
|
||||||
public Boolean isSystemVdc() {
|
public Boolean isSystemVdc() {
|
||||||
return isSystemVdc;
|
return isSystemVdc;
|
||||||
|
|
|
@ -74,5 +74,5 @@ public class VAppReferences extends QueryResultReferences {
|
||||||
return super.equals(that);
|
return super.equals(that);
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE hashcode inheritted from QueryResultReferences
|
// NOTE hashcode inherited from QueryResultReferences
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ import org.jclouds.vcloud.director.v1_5.domain.MetadataValue;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Task;
|
import org.jclouds.vcloud.director.v1_5.domain.Task;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides synchronous access to {@linkl Metadata}.
|
* Provides synchronous access to {@link Metadata}.
|
||||||
*
|
*
|
||||||
* @see MetadataAsyncApi
|
* @see MetadataAsyncApi
|
||||||
* @author danikov
|
* @author danikov
|
||||||
|
|
|
@ -51,18 +51,18 @@ public class BridgedIfStringToBridgedIf implements Function<String, BridgedIf> {
|
||||||
checkNotNull(rawBridgedIf, "rawBridgedIf");
|
checkNotNull(rawBridgedIf, "rawBridgedIf");
|
||||||
|
|
||||||
String transformedBridgedIf = transformRawBridgedIf(rawBridgedIf);
|
String transformedBridgedIf = transformRawBridgedIf(rawBridgedIf);
|
||||||
Map<String, String> bridegedIfMap = Splitter.on("\n")
|
Map<String, String> bridgedIfMap = Splitter.on("\n")
|
||||||
.omitEmptyStrings().withKeyValueSeparator("=")
|
.omitEmptyStrings().withKeyValueSeparator("=")
|
||||||
.split(transformedBridgedIf);
|
.split(transformedBridgedIf);
|
||||||
|
|
||||||
return BridgedIf
|
return BridgedIf
|
||||||
.builder()
|
.builder()
|
||||||
.name(getValueFromMap(bridegedIfMap, BRIDGED_IF_NAME))
|
.name(getValueFromMap(bridgedIfMap, BRIDGED_IF_NAME))
|
||||||
.guid(getValueFromMap(bridegedIfMap, BRIDGED_IF_GUID))
|
.guid(getValueFromMap(bridgedIfMap, BRIDGED_IF_GUID))
|
||||||
.ip(getValueFromMap(bridegedIfMap, BRIDGED_IF_IP_ADDRESS))
|
.ip(getValueFromMap(bridgedIfMap, BRIDGED_IF_IP_ADDRESS))
|
||||||
.networkMask(getValueFromMap(bridegedIfMap, BRIDGED_IF_NETWORK_MASK))
|
.networkMask(getValueFromMap(bridgedIfMap, BRIDGED_IF_NETWORK_MASK))
|
||||||
.mediumType(getValueFromMap(bridegedIfMap, BRIDGED_IF_MEDIUM_TYPE))
|
.mediumType(getValueFromMap(bridgedIfMap, BRIDGED_IF_MEDIUM_TYPE))
|
||||||
.status(getValueFromMap(bridegedIfMap, BRIDGED_IF_STATUS))
|
.status(getValueFromMap(bridgedIfMap, BRIDGED_IF_STATUS))
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -124,8 +124,8 @@ public class IMachineToSshClient implements Function<IMachine, SshClient> {
|
||||||
String network) {
|
String network) {
|
||||||
// RetrieveActiveBridgedInterfaces
|
// RetrieveActiveBridgedInterfaces
|
||||||
List<BridgedIf> activeBridgedInterfaces = new RetrieveActiveBridgedInterfaces(scriptRunnerFactory).apply(hostSupplier.get());
|
List<BridgedIf> activeBridgedInterfaces = new RetrieveActiveBridgedInterfaces(scriptRunnerFactory).apply(hostSupplier.get());
|
||||||
BridgedIf activeBrigedIf = checkNotNull(Iterables.get(activeBridgedInterfaces, 0), "activeBridgrdIf");
|
BridgedIf activeBridgedIf = checkNotNull(Iterables.get(activeBridgedInterfaces, 0), "activeBridgedInterfaces");
|
||||||
network = activeBrigedIf.getIpAddress();
|
network = activeBridgedIf.getIpAddress();
|
||||||
|
|
||||||
// scan ip
|
// scan ip
|
||||||
RunScriptOnNode ipScanRunScript = scriptRunnerFactory.create(
|
RunScriptOnNode ipScanRunScript = scriptRunnerFactory.create(
|
||||||
|
|
|
@ -75,22 +75,22 @@ public class IMachineToVmSpec implements Function<IMachine, VmSpec> {
|
||||||
List<StorageController> controllers = Lists.newArrayList();
|
List<StorageController> controllers = Lists.newArrayList();
|
||||||
for (IStorageController iStorageController : machine.getStorageControllers()) {
|
for (IStorageController iStorageController : machine.getStorageControllers()) {
|
||||||
|
|
||||||
Builder storageControlleBuiler = StorageController.builder();
|
Builder storageControllerBuilder = StorageController.builder();
|
||||||
for (IMediumAttachment iMediumAttachment : machine.getMediumAttachmentsOfController(iStorageController
|
for (IMediumAttachment iMediumAttachment : machine.getMediumAttachmentsOfController(iStorageController
|
||||||
.getName())) {
|
.getName())) {
|
||||||
IMedium iMedium = iMediumAttachment.getMedium();
|
IMedium iMedium = iMediumAttachment.getMedium();
|
||||||
if(iMedium != null) {
|
if(iMedium != null) {
|
||||||
if (iMedium.getDeviceType().equals(DeviceType.HardDisk)) {
|
if (iMedium.getDeviceType().equals(DeviceType.HardDisk)) {
|
||||||
storageControlleBuiler.attachHardDisk(HardDisk.builder().diskpath(iMedium.getLocation())
|
storageControllerBuilder.attachHardDisk(HardDisk.builder().diskpath(iMedium.getLocation())
|
||||||
.autoDelete(true).controllerPort(iMediumAttachment.getPort())
|
.autoDelete(true).controllerPort(iMediumAttachment.getPort())
|
||||||
.deviceSlot(iMediumAttachment.getDevice().intValue()).build());
|
.deviceSlot(iMediumAttachment.getDevice().intValue()).build());
|
||||||
} else if (iMedium.getDeviceType().equals(DeviceType.DVD)) {
|
} else if (iMedium.getDeviceType().equals(DeviceType.DVD)) {
|
||||||
storageControlleBuiler.attachISO(iMediumAttachment.getPort(), iMediumAttachment.getDevice().intValue(),
|
storageControllerBuilder.attachISO(iMediumAttachment.getPort(), iMediumAttachment.getDevice().intValue(),
|
||||||
iMedium.getLocation());
|
iMedium.getLocation());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
controllers.add(storageControlleBuiler.name(iStorageController.getName()).bus(iStorageController.getBus())
|
controllers.add(storageControllerBuilder.name(iStorageController.getName()).bus(iStorageController.getBus())
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
return controllers;
|
return controllers;
|
||||||
|
|
|
@ -242,11 +242,11 @@ public class NodeCreator implements Function<NodeSpec, NodeAndInitialCredentials
|
||||||
|
|
||||||
private String createHostOnlyIf() {
|
private String createHostOnlyIf() {
|
||||||
final String hostOnlyIfName;
|
final String hostOnlyIfName;
|
||||||
ExecResponse createHostOnyResponse = runScriptOnNodeFactory
|
ExecResponse createHostOnlyResponse = runScriptOnNodeFactory
|
||||||
.create(host.get(), Statements.exec("VBoxManage hostonlyif create"),
|
.create(host.get(), Statements.exec("VBoxManage hostonlyif create"),
|
||||||
runAsRoot(false).wrapInInitScript(false)).init().call();
|
runAsRoot(false).wrapInInitScript(false)).init().call();
|
||||||
String output = createHostOnyResponse.getOutput();
|
String output = createHostOnlyResponse.getOutput();
|
||||||
checkState(createHostOnyResponse.getExitStatus()==0);
|
checkState(createHostOnlyResponse.getExitStatus()==0);
|
||||||
checkState(output.contains("'"), "cannot create hostonlyif");
|
checkState(output.contains("'"), "cannot create hostonlyif");
|
||||||
hostOnlyIfName = output.substring(output.indexOf("'") + 1, output.lastIndexOf("'"));
|
hostOnlyIfName = output.substring(output.indexOf("'") + 1, output.lastIndexOf("'"));
|
||||||
return hostOnlyIfName;
|
return hostOnlyIfName;
|
||||||
|
|
|
@ -91,14 +91,14 @@ public class TakeSnapshotIfNotAlreadyAttached implements Function<IMachine, ISna
|
||||||
retries--;
|
retries--;
|
||||||
if (retries == 0) {
|
if (retries == 0) {
|
||||||
logger.error(e,
|
logger.error(e,
|
||||||
"Problem creating snapshot (too many retries) %s (descripton: %s) from machine %s",
|
"Problem creating snapshot (too many retries) %s (description: %s) from machine %s",
|
||||||
snapshotName, snapshotDesc, machine.getName());
|
snapshotName, snapshotDesc, machine.getName());
|
||||||
throw Throwables.propagate(e);
|
throw Throwables.propagate(e);
|
||||||
}
|
}
|
||||||
Thread.sleep(1000L);
|
Thread.sleep(1000L);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
logger.error(e, "Problem creating snapshot %s (descripton: %s) from machine %s", snapshotName,
|
logger.error(e, "Problem creating snapshot %s (description: %s) from machine %s", snapshotName,
|
||||||
snapshotDesc, machine.getName());
|
snapshotDesc, machine.getName());
|
||||||
throw Throwables.propagate(e);
|
throw Throwables.propagate(e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ import com.google.common.base.Predicate;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mounts the DVD with guest additions that was downloaded and attached as removeable storage. If no
|
* Mounts the DVD with guest additions that was downloaded and attached as removable storage. If no
|
||||||
* guest additions is attached to the vmspec then it is downloaded.
|
* guest additions is attached to the vmspec then it is downloaded.
|
||||||
*
|
*
|
||||||
* @author David Alves
|
* @author David Alves
|
||||||
|
|
|
@ -296,7 +296,7 @@ public class MachineUtils {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getIpAddressFromHostOnlyNIC(String machineName) {
|
public String getIpAddressFromHostOnlyNIC(String machineName) {
|
||||||
// TODO using a caching mechanism to avoid to call everytime this vboxmanage api call
|
// TODO using a caching mechanism to avoid to call every time this vboxmanage api call
|
||||||
String currentIp = "", previousIp = "1.1.1.1";
|
String currentIp = "", previousIp = "1.1.1.1";
|
||||||
int attempt = 0, count = 0;
|
int attempt = 0, count = 0;
|
||||||
while(count < 5) {
|
while(count < 5) {
|
||||||
|
|
|
@ -90,7 +90,7 @@ public class CallForImages implements Callable<Iterable<Image>> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return String.format("desribingImages(filter=%s,regions=%s)", filter, regions);
|
return String.format("describingImages(filter=%s,regions=%s)", filter, regions);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -119,7 +119,7 @@ public class GoGridComputeServiceContextModule extends
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds matches to required configurations. GoGrid's documentation only specifies how much RAM
|
* Finds matches to required configurations. GoGrid's documentation only specifies how much RAM
|
||||||
* one can get with different instance types. The # of cores and disk sizes are purely empyrical
|
* one can get with different instance types. The # of cores and disk sizes are purely empirical
|
||||||
* and aren't guaranteed. However, these are the matches found: Ram: 512MB, CPU: 1 core, HDD: 28
|
* and aren't guaranteed. However, these are the matches found: Ram: 512MB, CPU: 1 core, HDD: 28
|
||||||
* GB Ram: 1GB, CPU: 1 core, HDD: 57 GB Ram: 2GB, CPU: 1 core, HDD: 113 GB Ram: 4GB, CPU: 3
|
* GB Ram: 1GB, CPU: 1 core, HDD: 57 GB Ram: 2GB, CPU: 1 core, HDD: 113 GB Ram: 4GB, CPU: 3
|
||||||
* cores, HDD: 233 GB Ram: 8GB, CPU: 6 cores, HDD: 462 GB (as of March 2010)
|
* cores, HDD: 233 GB Ram: 8GB, CPU: 6 cores, HDD: 462 GB (as of March 2010)
|
||||||
|
|
|
@ -73,10 +73,10 @@ public class HPCloudObjectStorageBlobStoreContextModule extends SwiftBlobStoreCo
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public URI load(String container) {
|
public URI load(String container) {
|
||||||
Optional<HPCloudCDNClient> cdnExension = client.getCDNExtension();
|
Optional<HPCloudCDNClient> cdnExtension = client.getCDNExtension();
|
||||||
checkArgument(cdnExension.isPresent(), "CDN is required, but the extension is not available!");
|
checkArgument(cdnExtension.isPresent(), "CDN is required, but the extension is not available!");
|
||||||
try {
|
try {
|
||||||
ContainerCDNMetadata md = cdnExension.get().getCDNMetadata(container);
|
ContainerCDNMetadata md = cdnExtension.get().getCDNMetadata(container);
|
||||||
return md != null ? md.getCDNUri() : null;
|
return md != null ? md.getCDNUri() : null;
|
||||||
} catch (HttpResponseException e) {
|
} catch (HttpResponseException e) {
|
||||||
// TODO: this is due to beta status
|
// TODO: this is due to beta status
|
||||||
|
|
|
@ -49,9 +49,9 @@ public class EnableCDNAndCache implements Function<String, URI> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public URI apply(String input) {
|
public URI apply(String input) {
|
||||||
Optional<HPCloudCDNClient> cdnExension = sync.getCDNExtension();
|
Optional<HPCloudCDNClient> cdnExtension = sync.getCDNExtension();
|
||||||
checkArgument(cdnExension.isPresent(), "CDN is required, but the extension is not available!");
|
checkArgument(cdnExtension.isPresent(), "CDN is required, but the extension is not available!");
|
||||||
URI uri = cdnExension.get().enableCDN(input);
|
URI uri = cdnExtension.get().enableCDN(input);
|
||||||
cdnContainer.put(input, uri);
|
cdnContainer.put(input, uri);
|
||||||
return uri;
|
return uri;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ import org.jclouds.openstack.swift.reference.SwiftHeaders;
|
||||||
/**
|
/**
|
||||||
* Contains options supported in the REST API for the Create Container operation.
|
* Contains options supported in the REST API for the Create Container operation.
|
||||||
*
|
*
|
||||||
* This specifically enabes the Swift ACL for public reads using the 'X-Container-Read'
|
* This specifically enables the Swift ACL for public reads using the 'X-Container-Read'
|
||||||
* header. This should be refactored into the Swift API.
|
* header. This should be refactored into the Swift API.
|
||||||
*
|
*
|
||||||
* @author Jeremy Daggett
|
* @author Jeremy Daggett
|
||||||
|
|
|
@ -22,7 +22,7 @@ import com.google.gson.annotations.SerializedName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Options for a clone.
|
* Options for a clone.
|
||||||
* TODO: test and add contructors.
|
* TODO: test and add constructors.
|
||||||
* @author Ivan Meredith
|
* @author Ivan Meredith
|
||||||
*/
|
*/
|
||||||
public class CloneOptions implements PostData {
|
public class CloneOptions implements PostData {
|
||||||
|
|
|
@ -69,7 +69,7 @@ public class NewServerData implements PostData {
|
||||||
private String hostServerId;
|
private String hostServerId;
|
||||||
/**
|
/**
|
||||||
* These are the instantiation options. e.g. domain name, password, etc. Only provide
|
* These are the instantiation options. e.g. domain name, password, etc. Only provide
|
||||||
* these if you are not cloning a VPS (the vps_order_oid_to_clone setting). i.e. utually
|
* these if you are not cloning a VPS (the vps_order_oid_to_clone setting). i.e. mutually
|
||||||
* exclusive to instantiation_via_clone_options
|
* exclusive to instantiation_via_clone_options
|
||||||
*/
|
*/
|
||||||
@SerializedName("instantiation_options")
|
@SerializedName("instantiation_options")
|
||||||
|
|
|
@ -23,7 +23,7 @@ import java.sql.Timestamp;
|
||||||
import com.google.gson.annotations.SerializedName;
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Billing data. Need to make it inteface with jclouds.
|
* Billing data. Need to make it interface with jclouds.
|
||||||
* TODO: test
|
* TODO: test
|
||||||
*
|
*
|
||||||
* @author Ivan Meredith
|
* @author Ivan Meredith
|
||||||
|
|
|
@ -53,7 +53,7 @@ public class ResizeResult {
|
||||||
/**
|
/**
|
||||||
* true if we made the resource changes. False if we did not
|
* true if we made the resource changes. False if we did not
|
||||||
* make them, e.g. if we hit a billing issue, or if the host server
|
* make them, e.g. if we hit a billing issue, or if the host server
|
||||||
* did not have the resources to accomodate the change.
|
* did not have the resources to accommodate the change.
|
||||||
*/
|
*/
|
||||||
@SerializedName("were_resources_changed")
|
@SerializedName("were_resources_changed")
|
||||||
private Boolean success;
|
private Boolean success;
|
||||||
|
|
|
@ -37,7 +37,7 @@ import com.google.gson.annotations.SerializedName;
|
||||||
* However the special characters '.' and '-' may not be consecutive.
|
* However the special characters '.' and '-' may not be consecutive.
|
||||||
* Each alphanumeric string separated by a period is considered a label.
|
* Each alphanumeric string separated by a period is considered a label.
|
||||||
* Labels must begin and end with an alphanumeric character.
|
* Labels must begin and end with an alphanumeric character.
|
||||||
* Each label cannot be soley comprised of digits and must be between 1-63 characters in length.
|
* Each label cannot be solely comprised of digits and must be between 1-63 characters in length.
|
||||||
* The last label, the TLD (top level domain) must be between 2-6 alphabetic characters.
|
* The last label, the TLD (top level domain) must be between 2-6 alphabetic characters.
|
||||||
* The domain portion must consist of least one label followed by a period '.' then ending with the TLD label.
|
* The domain portion must consist of least one label followed by a period '.' then ending with the TLD label.
|
||||||
* Combining the hostname, followed by a period '.', followed by the domain gives the FQDN (fully qualified domain name),
|
* Combining the hostname, followed by a period '.', followed by the domain gives the FQDN (fully qualified domain name),
|
||||||
|
|
|
@ -91,7 +91,7 @@ public class TerremarkECloudRestClientModule extends
|
||||||
// VDC's
|
// VDC's
|
||||||
// this does not
|
// this does not
|
||||||
// work well.
|
// work well.
|
||||||
// Each VDC will have differnt network subnets. So we cannot assume the
|
// Each VDC will have different network subnets. So we cannot assume the
|
||||||
// default VDC's
|
// default VDC's
|
||||||
// networks will
|
// networks will
|
||||||
// work with non-default VDC's. So make PROPERTY_VCLOUD_DEFAULT_NETWORK
|
// work with non-default VDC's. So make PROPERTY_VCLOUD_DEFAULT_NETWORK
|
||||||
|
|
|
@ -65,7 +65,7 @@ public class AddSessionTokenToRequest implements HttpRequestFilter {
|
||||||
}
|
}
|
||||||
|
|
||||||
// this is a hotspot when submitted concurrently, so be lazy.
|
// this is a hotspot when submitted concurrently, so be lazy.
|
||||||
// session tokens expire in 20 minutes of no use, but let's be a little paraniod and go 19
|
// session tokens expire in 20 minutes of no use, but let's be a little paranoid and go 19
|
||||||
public String createNewToken() {
|
public String createNewToken() {
|
||||||
authToken.set(authTokenProvider.get());
|
authToken.set(authTokenProvider.get());
|
||||||
trigger.set(System.nanoTime() + System.nanoTime() + 19 * MINUTES);
|
trigger.set(System.nanoTime() + System.nanoTime() + 19 * MINUTES);
|
||||||
|
|
|
@ -353,7 +353,7 @@ public interface IBMSmartCloudClient {
|
||||||
* @param size
|
* @param size
|
||||||
* The size of the new storage volume. Valid values may include
|
* The size of the new storage volume. Valid values may include
|
||||||
* SMALL, MEDIUM, and LARGE. Actual values may depend on the
|
* SMALL, MEDIUM, and LARGE. Actual values may depend on the
|
||||||
* location used and may be discov- ered via the location service
|
* location used and may be discovered via the location service
|
||||||
* @param offeringID
|
* @param offeringID
|
||||||
* The offeringID which can be obtained from
|
* The offeringID which can be obtained from
|
||||||
* {@link #listStorageOfferings}
|
* {@link #listStorageOfferings}
|
||||||
|
|
|
@ -59,7 +59,7 @@ public class CreateInstanceOptions extends BaseHttpRequestOptions {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param publicKeyName
|
* @param publicKeyName
|
||||||
* The public key to use for accessing the created instancee
|
* The public key to use for accessing the created instance
|
||||||
*/
|
*/
|
||||||
public CreateInstanceOptions authorizePublicKey(String publicKeyName) {
|
public CreateInstanceOptions authorizePublicKey(String publicKeyName) {
|
||||||
checkNotNull(publicKeyName, "publicKeyName");
|
checkNotNull(publicKeyName, "publicKeyName");
|
||||||
|
|
Loading…
Reference in New Issue