in apis/cloudstack/src/main/java/org/jclouds/cloudstack/domain/VirtualMachine.java [592:648]
protected VirtualMachine(String id, @Nullable String account, long cpuCount, long cpuSpeed, @Nullable String cpuUsed,
@Nullable String displayName, @Nullable Date created, @Nullable String domain, @Nullable String domainId,
boolean usesVirtualNetwork, @Nullable String group, @Nullable String groupId, @Nullable String guestOSId,
boolean HAEnabled, @Nullable String hostId, @Nullable String hostname, String IPAddress, String ISODisplayText,
@Nullable String ISOId, @Nullable String ISOName, @Nullable String jobId, @Nullable Integer jobStatus,
long memory, @Nullable String name, @Nullable Long networkKbsRead, @Nullable Long networkKbsWrite, @Nullable String password,
boolean passwordEnabled, @Nullable String publicIP, @Nullable String publicIPId, @Nullable String rootDeviceId,
@Nullable String rootDeviceType, @Nullable String serviceOfferingId, @Nullable String serviceOfferingName,
@Nullable VirtualMachine.State state, @Nullable String templateDisplayText, @Nullable String templateId,
@Nullable String templateName, @Nullable String zoneId, @Nullable String zoneName, @Nullable Set<NIC> nics,
@Nullable String hypervisor, @Nullable Set<SecurityGroup> securityGroups, @Nullable Set<Tag> tags) {
Preconditions.checkArgument(Strings.isNullOrEmpty(cpuUsed) || cpuUsed.matches("^[0-9\\.|,\\-]+%$"), "cpuUsed value should be a decimal number followed by %");
this.id = checkNotNull(id, "id");
this.account = account;
this.cpuCount = cpuCount;
this.cpuSpeed = cpuSpeed;
this.cpuUsed = cpuUsed;
this.displayName = displayName;
this.created = created;
this.domain = domain;
this.domainId = domainId;
this.usesVirtualNetwork = usesVirtualNetwork;
this.group = group;
this.groupId = groupId;
this.guestOSId = guestOSId;
this.HAEnabled = HAEnabled;
this.hostId = hostId;
this.hostname = hostname;
this.IPAddress = IPAddress;
this.ISODisplayText = ISODisplayText;
this.ISOId = ISOId;
this.ISOName = ISOName;
this.jobId = jobId;
this.jobStatus = jobStatus;
this.memory = memory;
this.name = name;
this.networkKbsRead = networkKbsRead;
this.networkKbsWrite = networkKbsWrite;
this.password = password;
this.passwordEnabled = passwordEnabled;
this.publicIP = publicIP;
this.publicIPId = publicIPId;
this.rootDeviceId = rootDeviceId;
this.rootDeviceType = rootDeviceType;
this.serviceOfferingId = serviceOfferingId;
this.serviceOfferingName = serviceOfferingName;
this.state = state;
this.templateDisplayText = templateDisplayText;
this.templateId = templateId;
this.templateName = templateName;
this.zoneId = zoneId;
this.zoneName = zoneName;
this.nics = nics == null ? ImmutableSet.<NIC>of() : ImmutableSet.copyOf(nics);
this.hypervisor = hypervisor;
this.securityGroups = securityGroups == null ? ImmutableSet.<SecurityGroup>of() : ImmutableSet.copyOf(securityGroups);
this.tags = tags != null ? ImmutableSet.copyOf(tags) : ImmutableSet.<Tag> of();
}