mirror of https://github.com/apache/jclouds.git
Issue 830: Fixes for various failing tests, updates for CIM and RASD domain objects
This commit is contained in:
parent
45fd7c443e
commit
6846dad9fc
|
@ -36,6 +36,10 @@ public class VCloudDirectorConstants {
|
||||||
|
|
||||||
public static final String VCLOUD_CIM_NS = "http://schemas.dmtf.org/wbem/wscim/1/common";
|
public static final String VCLOUD_CIM_NS = "http://schemas.dmtf.org/wbem/wscim/1/common";
|
||||||
|
|
||||||
|
public static final String VCLOUD_CIM_VSSD_NS = "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData";
|
||||||
|
|
||||||
|
public static final String VCLOUD_CIM_RASD_NS = "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData";
|
||||||
|
|
||||||
/** The property used to configure the timeout for task completion. */
|
/** The property used to configure the timeout for task completion. */
|
||||||
public static final String PROPERTY_VCLOUD_DIRECTOR_TIMEOUT_TASK_COMPLETED = "jclouds.vcloud-director.timeout.task-complete";
|
public static final String PROPERTY_VCLOUD_DIRECTOR_TIMEOUT_TASK_COMPLETED = "jclouds.vcloud-director.timeout.task-complete";
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,15 @@ public class NetworkConnectionSection extends SectionType {
|
||||||
* @see NetworkConnectionSection#getNetworkConnections()
|
* @see NetworkConnectionSection#getNetworkConnections()
|
||||||
*/
|
*/
|
||||||
public B networkConnections(Set<NetworkConnection> networkConnections) {
|
public B networkConnections(Set<NetworkConnection> networkConnections) {
|
||||||
this.networkConnections = checkNotNull(networkConnections, "networkConnection");
|
this.networkConnections = checkNotNull(networkConnections, "networkConnections");
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see NetworkConnectionSection#getNetworkConnections()
|
||||||
|
*/
|
||||||
|
public B networkConnection(NetworkConnection networkConnection) {
|
||||||
|
this.networkConnections.add(checkNotNull(networkConnection, "networkConnection"));
|
||||||
return self();
|
return self();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,12 +118,15 @@ public class NetworkConnectionSection extends SectionType {
|
||||||
@Override
|
@Override
|
||||||
public NetworkConnectionSection build() {
|
public NetworkConnectionSection build() {
|
||||||
return new NetworkConnectionSection(this);
|
return new NetworkConnectionSection(this);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public B fromNetworkConnectionSection(NetworkConnectionSection in) {
|
public B fromNetworkConnectionSection(NetworkConnectionSection in) {
|
||||||
return fromSectionType(in).primaryNetworkConnectionIndex(in.getPrimaryNetworkConnectionIndex()).networkConnections(in.getNetworkConnections()).links(in.getLinks()).href(in.getHref()).type(
|
return fromSectionType(in)
|
||||||
in.getType());
|
.primaryNetworkConnectionIndex(in.getPrimaryNetworkConnectionIndex())
|
||||||
|
.networkConnections(Sets.newLinkedHashSet(in.getNetworkConnections()))
|
||||||
|
.links(Sets.newLinkedHashSet(in.getLinks()))
|
||||||
|
.href(in.getHref())
|
||||||
|
.type(in.getType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -116,7 +116,7 @@ public class ResourceType {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected B fromResourceType(ResourceType in) {
|
protected B fromResourceType(ResourceType in) {
|
||||||
return href(in.getHref()).type(in.getType()).links(in.getLinks());
|
return href(in.getHref()).type(in.getType()).links(Sets.newLinkedHashSet(in.getLinks()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,128 +0,0 @@
|
||||||
/**
|
|
||||||
* Licensed to jclouds, Inc. (jclouds) under one or more
|
|
||||||
* contributor license agreements. See the NOTICE file
|
|
||||||
* distributed with this work for additional information
|
|
||||||
* regarding copyright ownership. jclouds licenses this file
|
|
||||||
* to you under the Apache License, Version 2.0 (the
|
|
||||||
* "License"); you may not use this file except in compliance
|
|
||||||
* with the License. You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing,
|
|
||||||
* software distributed under the License is distributed on an
|
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
* KIND, either express or implied. See the License for the
|
|
||||||
* specific language governing permissions and limitations
|
|
||||||
* under the License.
|
|
||||||
*/
|
|
||||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* ManagedElement is an abstract class that provides a common superclass (or top of the inheritance
|
|
||||||
* tree) for the non-association classes in the CIM Schema.
|
|
||||||
*
|
|
||||||
* @author Adrian Cole
|
|
||||||
* @see <a
|
|
||||||
* href="http://dmtf.org/sites/default/files/cim/cim_schema_v2280/cim_schema_2.28.0Final-Doc.zip"
|
|
||||||
* />
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public abstract class ManagedElement extends SettingData {
|
|
||||||
public static Builder builder() {
|
|
||||||
return new Builder();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder toBuilder() {
|
|
||||||
return builder().fromManagedElement(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class Builder extends SettingData.Builder {
|
|
||||||
protected String caption;
|
|
||||||
protected String description;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see ManagedElement#getCaption
|
|
||||||
*/
|
|
||||||
public Builder caption(String caption) {
|
|
||||||
this.caption = caption;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see ManagedElement#getDescription
|
|
||||||
*/
|
|
||||||
public Builder description(String description) {
|
|
||||||
this.description = description;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder fromManagedElement(ManagedElement in) {
|
|
||||||
return caption(in.getCaption()).description(in.getDescription()).fromSettingData(in);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder fromSettingData(SettingData in) {
|
|
||||||
return Builder.class.cast(super.fromSettingData(in));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder elementName(String elementName) {
|
|
||||||
return Builder.class.cast(super.elementName(elementName));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder instanceID(String instanceID) {
|
|
||||||
return Builder.class.cast(super.instanceID(instanceID));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
protected String caption;
|
|
||||||
protected String description;
|
|
||||||
|
|
||||||
protected ManagedElement(String elementName, String instanceID, String caption, String description) {
|
|
||||||
super(elementName, instanceID);
|
|
||||||
this.caption = caption;
|
|
||||||
this.description = description;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected ManagedElement() {
|
|
||||||
// for JAXB
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Caption property is a short textual description (one- line string) of the object.
|
|
||||||
*/
|
|
||||||
public String getCaption() {
|
|
||||||
return caption;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Description property provides a textual description of the object.
|
|
||||||
*/
|
|
||||||
public String getDescription() {
|
|
||||||
return description;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return String.format("[elementName=%s, instanceID=%s, caption=%s, description=%s]", elementName, instanceID,
|
|
||||||
caption, description);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -29,179 +29,138 @@ import org.jclouds.compute.domain.OsFamily;
|
||||||
* />
|
* />
|
||||||
*/
|
*/
|
||||||
public enum OSType {
|
public enum OSType {
|
||||||
/**
|
|
||||||
* Other
|
/** Other */
|
||||||
*/
|
|
||||||
OTHER(1, "Other", OsFamily.UNRECOGNIZED, false),
|
OTHER(1, "Other", OsFamily.UNRECOGNIZED, false),
|
||||||
/**
|
|
||||||
* MACOS
|
/** MACOS */
|
||||||
*/
|
|
||||||
MACOS(2, "MACOS", OsFamily.DARWIN, false),
|
MACOS(2, "MACOS", OsFamily.DARWIN, false),
|
||||||
/**
|
|
||||||
* Solaris
|
/** Solaris */
|
||||||
*/
|
|
||||||
SOLARIS(29, "Solaris", OsFamily.SOLARIS, false),
|
SOLARIS(29, "Solaris", OsFamily.SOLARIS, false),
|
||||||
/**
|
|
||||||
* LINUX
|
/** LINUX */
|
||||||
*/
|
|
||||||
LINUX(36, "LINUX", OsFamily.LINUX, false),
|
LINUX(36, "LINUX", OsFamily.LINUX, false),
|
||||||
/**
|
|
||||||
* FreeBSD
|
/** FreeBSD */
|
||||||
*/
|
|
||||||
FREEBSD(42, "FreeBSD", OsFamily.FREEBSD, false),
|
FREEBSD(42, "FreeBSD", OsFamily.FREEBSD, false),
|
||||||
/**
|
|
||||||
* NetBSD
|
/** NetBSD */
|
||||||
*/
|
|
||||||
NETBSD(43, "NetBSD", OsFamily.NETBSD, false),
|
NETBSD(43, "NetBSD", OsFamily.NETBSD, false),
|
||||||
/**
|
|
||||||
* OpenBSD
|
/** OpenBSD */
|
||||||
*/
|
|
||||||
OPENBSD(65, "OpenBSD", OsFamily.OPENBSD, false),
|
OPENBSD(65, "OpenBSD", OsFamily.OPENBSD, false),
|
||||||
/**
|
|
||||||
* Not Applicable
|
/** Not Applicable */
|
||||||
*/
|
|
||||||
NOT_APPLICABLE(66, "Not Applicable", OsFamily.UNRECOGNIZED, false),
|
NOT_APPLICABLE(66, "Not Applicable", OsFamily.UNRECOGNIZED, false),
|
||||||
/**
|
|
||||||
* Microsoft Windows Server 2003
|
/** Microsoft Windows Server 2003 */
|
||||||
*/
|
|
||||||
WINDOWS_SERVER_2003(69, "Microsoft Windows Server 2003", OsFamily.WINDOWS, false),
|
WINDOWS_SERVER_2003(69, "Microsoft Windows Server 2003", OsFamily.WINDOWS, false),
|
||||||
/**
|
|
||||||
* Microsoft Windows Server 2003 64-Bit
|
/** Microsoft Windows Server 2003 64-Bit */
|
||||||
*/
|
|
||||||
WINDOWS_SERVER_2003_64(70, "Microsoft Windows Server 2003 64-Bit", OsFamily.WINDOWS, true),
|
WINDOWS_SERVER_2003_64(70, "Microsoft Windows Server 2003 64-Bit", OsFamily.WINDOWS, true),
|
||||||
/**
|
|
||||||
* Microsoft Windows Server 2008
|
/** Microsoft Windows Server 2008 */
|
||||||
*/
|
|
||||||
WINDOWS_SERVER_2008(76, "Microsoft Windows Server 2008", OsFamily.WINDOWS, false),
|
WINDOWS_SERVER_2008(76, "Microsoft Windows Server 2008", OsFamily.WINDOWS, false),
|
||||||
/**
|
|
||||||
* Microsoft Windows Server 2008 64-Bit
|
/** Microsoft Windows Server 2008 64-Bit */
|
||||||
*/
|
|
||||||
WINDOWS_SERVER_2008_64(77, "Microsoft Windows Server 2008 64-Bit", OsFamily.WINDOWS, true),
|
WINDOWS_SERVER_2008_64(77, "Microsoft Windows Server 2008 64-Bit", OsFamily.WINDOWS, true),
|
||||||
/**
|
|
||||||
* FreeBSD 64-Bit
|
/** FreeBSD 64-Bit */
|
||||||
*/
|
|
||||||
FREEBSD_64(78, "FreeBSD 64-Bit", OsFamily.FREEBSD, true),
|
FREEBSD_64(78, "FreeBSD 64-Bit", OsFamily.FREEBSD, true),
|
||||||
/**
|
|
||||||
* RedHat Enterprise Linux
|
/** RedHat Enterprise Linux */
|
||||||
*/
|
|
||||||
RHEL(79, "RedHat Enterprise Linux", OsFamily.RHEL, false),
|
RHEL(79, "RedHat Enterprise Linux", OsFamily.RHEL, false),
|
||||||
/**
|
|
||||||
* RedHat Enterprise Linux 64-Bit
|
/** RedHat Enterprise Linux 64-Bit */
|
||||||
*/
|
|
||||||
RHEL_64(80, "RedHat Enterprise Linux 64-Bit", OsFamily.RHEL, true),
|
RHEL_64(80, "RedHat Enterprise Linux 64-Bit", OsFamily.RHEL, true),
|
||||||
/**
|
|
||||||
* Solaris 64-Bit
|
/** Solaris 64-Bit */
|
||||||
*/
|
|
||||||
SOLARIS_64(81, "Solaris 64-Bit", OsFamily.SOLARIS, true),
|
SOLARIS_64(81, "Solaris 64-Bit", OsFamily.SOLARIS, true),
|
||||||
/**
|
|
||||||
* SUSE
|
/** SUSE */
|
||||||
*/
|
|
||||||
SUSE(82, "SUSE", OsFamily.SUSE, false),
|
SUSE(82, "SUSE", OsFamily.SUSE, false),
|
||||||
/**
|
|
||||||
* SUSE 64-Bit
|
/** SUSE 64-Bit */
|
||||||
*/
|
|
||||||
SUSE_64(83, "SUSE 64-Bit", OsFamily.SUSE, true),
|
SUSE_64(83, "SUSE 64-Bit", OsFamily.SUSE, true),
|
||||||
/**
|
|
||||||
* SLES
|
/** SLES */
|
||||||
*/
|
|
||||||
SLES(84, "SLES", OsFamily.SUSE, false),
|
SLES(84, "SLES", OsFamily.SUSE, false),
|
||||||
/**
|
|
||||||
* SLES 64-Bit
|
/** SLES 64-Bit */
|
||||||
*/
|
|
||||||
SLES_64(85, "SLES 64-Bit", OsFamily.SUSE, true),
|
SLES_64(85, "SLES 64-Bit", OsFamily.SUSE, true),
|
||||||
/**
|
|
||||||
* Novell OES
|
/** Novell OES */
|
||||||
*/
|
|
||||||
NOVELL_OES(86, "Novell OES", OsFamily.SUSE, true),
|
NOVELL_OES(86, "Novell OES", OsFamily.SUSE, true),
|
||||||
/**
|
|
||||||
* Mandriva
|
/** Mandriva */
|
||||||
*/
|
|
||||||
MANDRIVA(89, "Mandriva", OsFamily.MANDRIVA, false),
|
MANDRIVA(89, "Mandriva", OsFamily.MANDRIVA, false),
|
||||||
/**
|
|
||||||
* Mandriva 64-Bit
|
/** Mandriva 64-Bit */
|
||||||
*/
|
|
||||||
MANDRIVA_64(90, "Mandriva 64-Bit", OsFamily.MANDRIVA, true),
|
MANDRIVA_64(90, "Mandriva 64-Bit", OsFamily.MANDRIVA, true),
|
||||||
/**
|
|
||||||
* TurboLinux
|
/** TurboLinux */
|
||||||
*/
|
|
||||||
TURBOLINUX(91, "TurboLinux", OsFamily.TURBOLINUX, false),
|
TURBOLINUX(91, "TurboLinux", OsFamily.TURBOLINUX, false),
|
||||||
/**
|
|
||||||
* TurboLinux 64-Bit
|
/** TurboLinux 64-Bit */
|
||||||
*/
|
|
||||||
TURBOLINUX_64(92, "TurboLinux 64-Bit", OsFamily.TURBOLINUX, true),
|
TURBOLINUX_64(92, "TurboLinux 64-Bit", OsFamily.TURBOLINUX, true),
|
||||||
/**
|
|
||||||
* Ubuntu
|
/** Ubuntu */
|
||||||
*/
|
|
||||||
UBUNTU(93, "Ubuntu", OsFamily.UBUNTU, false),
|
UBUNTU(93, "Ubuntu", OsFamily.UBUNTU, false),
|
||||||
/**
|
|
||||||
* Ubuntu 64-Bit
|
/** Ubuntu 64-Bit */
|
||||||
*/
|
|
||||||
UBUNTU_64(94, "Ubuntu 64-Bit", OsFamily.UBUNTU, true),
|
UBUNTU_64(94, "Ubuntu 64-Bit", OsFamily.UBUNTU, true),
|
||||||
/**
|
|
||||||
* Debian
|
/** Debian */
|
||||||
*/
|
|
||||||
DEBIAN(95, "Debian", OsFamily.DEBIAN, false),
|
DEBIAN(95, "Debian", OsFamily.DEBIAN, false),
|
||||||
/**
|
|
||||||
* Debian 64-Bit
|
/** Debian 64-Bit */
|
||||||
*/
|
|
||||||
DEBIAN_64(96, "Debian 64-Bit", OsFamily.DEBIAN, false),
|
DEBIAN_64(96, "Debian 64-Bit", OsFamily.DEBIAN, false),
|
||||||
/**
|
|
||||||
* Linux 2.4.x
|
/** Linux 2.4.x */
|
||||||
*/
|
|
||||||
LINUX_2_4(97, "Linux 2.4.x", OsFamily.LINUX, false),
|
LINUX_2_4(97, "Linux 2.4.x", OsFamily.LINUX, false),
|
||||||
/**
|
|
||||||
* Linux 2.4.x 64-Bi
|
/** Linux 2.4.x 64-Bi */
|
||||||
*/
|
|
||||||
LINUX_2_4_64(98, "Linux 2.4.x 64-Bit", OsFamily.LINUX, true),
|
LINUX_2_4_64(98, "Linux 2.4.x 64-Bit", OsFamily.LINUX, true),
|
||||||
/**
|
|
||||||
* Linux 2.6.x
|
/** Linux 2.6.x */
|
||||||
*/
|
|
||||||
LINUX_2_6(99, "Linux 2.6.x", OsFamily.LINUX, false),
|
LINUX_2_6(99, "Linux 2.6.x", OsFamily.LINUX, false),
|
||||||
/**
|
|
||||||
* Linux 2.6.x 64-Bit
|
/** Linux 2.6.x 64-Bit */
|
||||||
*/
|
|
||||||
LINUX_2_6_64(100, "Linux 2.6.x 64-Bit", OsFamily.LINUX, true),
|
LINUX_2_6_64(100, "Linux 2.6.x 64-Bit", OsFamily.LINUX, true),
|
||||||
/**
|
|
||||||
* Linux 64-Bit
|
/** Linux 64-Bit */
|
||||||
*/
|
|
||||||
LINUX_64(101, "Linux 64-Bit", OsFamily.LINUX, true),
|
LINUX_64(101, "Linux 64-Bit", OsFamily.LINUX, true),
|
||||||
/**
|
|
||||||
* Other 64-Bit
|
/** Other 64-Bit */
|
||||||
*/
|
|
||||||
OTHER_64(102, "Other 64-Bit", OsFamily.UNRECOGNIZED, true),
|
OTHER_64(102, "Other 64-Bit", OsFamily.UNRECOGNIZED, true),
|
||||||
/**
|
|
||||||
* Microsoft Windows Server 2008 R2
|
/** Microsoft Windows Server 2008 R2 */
|
||||||
*/
|
|
||||||
WINDOWS_SERVER_2008_R2(103, "Microsoft Windows Server 2008 R2", OsFamily.WINDOWS, true),
|
WINDOWS_SERVER_2008_R2(103, "Microsoft Windows Server 2008 R2", OsFamily.WINDOWS, true),
|
||||||
/**
|
|
||||||
* VMware ESXi
|
/** VMware ESXi */
|
||||||
*/
|
|
||||||
ESXI(104, "VMware ESXi", OsFamily.ESX, true),
|
ESXI(104, "VMware ESXi", OsFamily.ESX, true),
|
||||||
/**
|
|
||||||
* Microsoft Windows 7
|
/** Microsoft Windows 7 */
|
||||||
*/
|
|
||||||
WINDOWS_7(105, "Microsoft Windows 7", OsFamily.WINDOWS, false),
|
WINDOWS_7(105, "Microsoft Windows 7", OsFamily.WINDOWS, false),
|
||||||
/**
|
|
||||||
* CentOS 32-bit
|
/** CentOS 32-bit */
|
||||||
*/
|
|
||||||
CENTOS(106, "CentOS 32-bit", OsFamily.CENTOS, false),
|
CENTOS(106, "CentOS 32-bit", OsFamily.CENTOS, false),
|
||||||
/**
|
|
||||||
* CentOS 64-bit
|
/** CentOS 64-bit */
|
||||||
*/
|
|
||||||
CENTOS_64(107, "CentOS 64-bit", OsFamily.CENTOS, true),
|
CENTOS_64(107, "CentOS 64-bit", OsFamily.CENTOS, true),
|
||||||
/**
|
|
||||||
* Oracle Enterprise Linux 32-bit
|
/** Oracle Enterprise Linux 32-bit */
|
||||||
*/
|
|
||||||
ORACLE_ENTERPRISE_LINUX(108, "Oracle Enterprise Linux 32-bit", OsFamily.OEL, false),
|
ORACLE_ENTERPRISE_LINUX(108, "Oracle Enterprise Linux 32-bit", OsFamily.OEL, false),
|
||||||
/**
|
|
||||||
* Oracle Enterprise Linux 64-bit
|
/** Oracle Enterprise Linux 64-bit */
|
||||||
*/
|
|
||||||
ORACLE_ENTERPRISE_LINUX_64(109, "Oracle Enterprise Linux 64-bit", OsFamily.OEL, true),
|
ORACLE_ENTERPRISE_LINUX_64(109, "Oracle Enterprise Linux 64-bit", OsFamily.OEL, true),
|
||||||
/**
|
|
||||||
* eComStation 32-bitx
|
/** eComStation 32-bitx */
|
||||||
*/
|
ECOMSTATION_32(109, "eComStation 32-bitx", OsFamily.UNRECOGNIZED, false),
|
||||||
ECOMSTATION_32(109, "eComStation 32-bitx", OsFamily.UNRECOGNIZED, false), UNRECOGNIZED(Integer.MAX_VALUE,
|
|
||||||
"UNRECOGNIZED", null, true);
|
UNRECOGNIZED(Integer.MAX_VALUE, "UNRECOGNIZED", null, true);
|
||||||
|
|
||||||
private final int code;
|
private final int code;
|
||||||
|
|
||||||
public int getCode() {
|
public int getCode() {
|
||||||
|
|
|
@ -18,75 +18,124 @@
|
||||||
*/
|
*/
|
||||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_1_5_NS;
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_RASD_NS;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlEnum;
|
||||||
|
import javax.xml.bind.annotation.XmlEnumValue;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.Link;
|
||||||
|
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
|
import com.google.common.base.Objects;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* The ResourceAllocationSettingData class represents settings specifically
|
* The ResourceAllocationSettingData class represents settings specifically
|
||||||
* related to an allocated resource that are outside the scope of the CIM class
|
* related to an allocated resource that are outside the scope of the CIM class
|
||||||
* typically used to represent the resource itself. These settings include
|
* typically used to represent the resource itself.
|
||||||
* information specific to the allocation that may not be visible to the
|
*
|
||||||
* consumer of the resource itself. For example, a virtual processor may look
|
* These settings include information specific to the allocation that may not
|
||||||
* like a 2 ghz processor to the consumer (virtual computer system), however the
|
* be visible to the consumer of the resource itself. For example, a virtual
|
||||||
* virtualization system may use time-slicing to schedule the the virtual
|
* processor may look like a 2 GHz processor to the consumer (virtual computer
|
||||||
* processor to only allow it to use 1 ghz.
|
* system), however the virtualization system may use time-slicing to schedule
|
||||||
|
* the the virtual processor to only allow it to use 1 GHz.
|
||||||
*
|
*
|
||||||
* @author Adrian Cole
|
* @author Adrian Cole
|
||||||
* @see <a href=
|
* @author grkvlt@apache.org
|
||||||
* "http://dmtf.org/sites/default/files/cim/cim_schema_v2280/cim_schema_2.28.0Final-Doc.zip"
|
* @see http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2.22.0/CIM_ResourceAllocationSettingData.xsd
|
||||||
* />
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class ResourceAllocationSettingData extends ManagedElement {
|
@XmlType(name = "CIM_ResourceAllocationSettingData_Type", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
public class ResourceAllocationSettingData {
|
||||||
|
|
||||||
public static Builder builder() {
|
public static Builder builder() {
|
||||||
return new Builder();
|
return new Builder();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder toBuilder() {
|
public Builder toBuilder() {
|
||||||
return builder().fromResourceAllocationSettingData(this);
|
return builder().fromResourceAllocationSettingData(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Builder extends ManagedElement.Builder {
|
public static class Builder {
|
||||||
|
|
||||||
protected String address;
|
protected CimString elementName;
|
||||||
protected String addressOnParent;
|
protected CimString instanceID;
|
||||||
protected String allocationUnits;
|
protected CimString caption;
|
||||||
protected Boolean automaticAllocation;
|
protected CimString description;
|
||||||
protected Boolean automaticDeallocation;
|
protected CimString address;
|
||||||
|
protected CimString addressOnParent;
|
||||||
|
protected CimString allocationUnits;
|
||||||
|
protected CimBoolean automaticAllocation;
|
||||||
|
protected CimBoolean automaticDeallocation;
|
||||||
protected ConsumerVisibility consumerVisibility;
|
protected ConsumerVisibility consumerVisibility;
|
||||||
protected Long limit;
|
protected CimUnsignedLong limit;
|
||||||
protected MappingBehavior mappingBehavior;
|
protected MappingBehavior mappingBehavior;
|
||||||
protected String otherResourceType;
|
protected CimString otherResourceType;
|
||||||
protected String parent;
|
protected CimString parent;
|
||||||
protected String poolID;
|
protected CimString poolID;
|
||||||
protected Long reservation;
|
protected CimUnsignedLong reservation;
|
||||||
protected String resourceSubType;
|
protected CimString resourceSubType;
|
||||||
protected ResourceType resourceType;
|
protected ResourceType resourceType;
|
||||||
protected Long virtualQuantity;
|
protected CimUnsignedLong virtualQuantity;
|
||||||
protected String virtualQuantityUnits;
|
protected CimString virtualQuantityUnits;
|
||||||
protected Integer weight;
|
protected CimUnsignedInt weight;
|
||||||
protected List<String> connections = Lists.newArrayList();
|
protected List<CimString> connections = Lists.newArrayList();
|
||||||
protected List<String> hostResources = Lists.newArrayList();
|
protected List<CimString> hostResources = Lists.newArrayList();
|
||||||
|
protected URI href;
|
||||||
|
protected String type;
|
||||||
|
private Set<Link> links = Sets.newLinkedHashSet();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceAllocationSettingData#getElementName()
|
||||||
|
*/
|
||||||
|
public Builder elementName(CimString elementName) {
|
||||||
|
this.elementName = elementName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*@see ResourceAllocationSettingData#getInstanceId()
|
||||||
|
*/
|
||||||
|
public Builder instanceID(CimString instanceID) {
|
||||||
|
this.instanceID = instanceID;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceAllocationSettingData#getCaption()
|
||||||
|
*/
|
||||||
|
public Builder caption(CimString caption) {
|
||||||
|
this.caption = caption;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceAllocationSettingData#getDescription()
|
||||||
|
*/
|
||||||
|
public Builder description(CimString description) {
|
||||||
|
this.description = description;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getAddress
|
* @see ResourceAllocationSettingData#getAddress
|
||||||
*/
|
*/
|
||||||
public Builder address(String address) {
|
public Builder address(CimString address) {
|
||||||
this.address = address;
|
this.address = address;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -94,7 +143,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getAddressOnParent
|
* @see ResourceAllocationSettingData#getAddressOnParent
|
||||||
*/
|
*/
|
||||||
public Builder addressOnParent(String addressOnParent) {
|
public Builder addressOnParent(CimString addressOnParent) {
|
||||||
this.addressOnParent = addressOnParent;
|
this.addressOnParent = addressOnParent;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -102,7 +151,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getAllocationUnits
|
* @see ResourceAllocationSettingData#getAllocationUnits
|
||||||
*/
|
*/
|
||||||
public Builder allocationUnits(String allocationUnits) {
|
public Builder allocationUnits(CimString allocationUnits) {
|
||||||
this.allocationUnits = allocationUnits;
|
this.allocationUnits = allocationUnits;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -110,7 +159,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#isAutomaticAllocation()
|
* @see ResourceAllocationSettingData#isAutomaticAllocation()
|
||||||
*/
|
*/
|
||||||
public Builder automaticAllocation(Boolean automaticAllocation) {
|
public Builder automaticAllocation(CimBoolean automaticAllocation) {
|
||||||
this.automaticAllocation = automaticAllocation;
|
this.automaticAllocation = automaticAllocation;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -118,7 +167,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#isAutomaticDeallocation()
|
* @see ResourceAllocationSettingData#isAutomaticDeallocation()
|
||||||
*/
|
*/
|
||||||
public Builder automaticDeallocation(Boolean automaticDeallocation) {
|
public Builder automaticDeallocation(CimBoolean automaticDeallocation) {
|
||||||
this.automaticDeallocation = automaticDeallocation;
|
this.automaticDeallocation = automaticDeallocation;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -134,7 +183,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getLimit
|
* @see ResourceAllocationSettingData#getLimit
|
||||||
*/
|
*/
|
||||||
public Builder limit(Long limit) {
|
public Builder limit(CimUnsignedLong limit) {
|
||||||
this.limit = limit;
|
this.limit = limit;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -150,7 +199,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getOtherResourceType
|
* @see ResourceAllocationSettingData#getOtherResourceType
|
||||||
*/
|
*/
|
||||||
public Builder otherResourceType(String otherResourceType) {
|
public Builder otherResourceType(CimString otherResourceType) {
|
||||||
this.otherResourceType = otherResourceType;
|
this.otherResourceType = otherResourceType;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -158,7 +207,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getParent
|
* @see ResourceAllocationSettingData#getParent
|
||||||
*/
|
*/
|
||||||
public Builder parent(String parent) {
|
public Builder parent(CimString parent) {
|
||||||
this.parent = parent;
|
this.parent = parent;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -166,7 +215,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getPoolID
|
* @see ResourceAllocationSettingData#getPoolID
|
||||||
*/
|
*/
|
||||||
public Builder poolID(String poolID) {
|
public Builder poolID(CimString poolID) {
|
||||||
this.poolID = poolID;
|
this.poolID = poolID;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -174,7 +223,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getReservation
|
* @see ResourceAllocationSettingData#getReservation
|
||||||
*/
|
*/
|
||||||
public Builder reservation(Long reservation) {
|
public Builder reservation(CimUnsignedLong reservation) {
|
||||||
this.reservation = reservation;
|
this.reservation = reservation;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -182,7 +231,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getResourceSubType
|
* @see ResourceAllocationSettingData#getResourceSubType
|
||||||
*/
|
*/
|
||||||
public Builder resourceSubType(String resourceSubType) {
|
public Builder resourceSubType(CimString resourceSubType) {
|
||||||
this.resourceSubType = resourceSubType;
|
this.resourceSubType = resourceSubType;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -198,7 +247,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getVirtualQuantity
|
* @see ResourceAllocationSettingData#getVirtualQuantity
|
||||||
*/
|
*/
|
||||||
public Builder virtualQuantity(Long virtualQuantity) {
|
public Builder virtualQuantity(CimUnsignedLong virtualQuantity) {
|
||||||
this.virtualQuantity = virtualQuantity;
|
this.virtualQuantity = virtualQuantity;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -206,7 +255,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getVirtualQuantityUnits
|
* @see ResourceAllocationSettingData#getVirtualQuantityUnits
|
||||||
*/
|
*/
|
||||||
public Builder virtualQuantityUnits(String virtualQuantityUnits) {
|
public Builder virtualQuantityUnits(CimString virtualQuantityUnits) {
|
||||||
this.virtualQuantityUnits = virtualQuantityUnits;
|
this.virtualQuantityUnits = virtualQuantityUnits;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -214,7 +263,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getWeight
|
* @see ResourceAllocationSettingData#getWeight
|
||||||
*/
|
*/
|
||||||
public Builder weight(Integer weight) {
|
public Builder weight(CimUnsignedInt weight) {
|
||||||
this.weight = weight;
|
this.weight = weight;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -222,7 +271,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getConnections()
|
* @see ResourceAllocationSettingData#getConnections()
|
||||||
*/
|
*/
|
||||||
public Builder connection(String connection) {
|
public Builder connection(CimString connection) {
|
||||||
this.connections.add(checkNotNull(connection, "connection"));
|
this.connections.add(checkNotNull(connection, "connection"));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -230,7 +279,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getHostResources()
|
* @see ResourceAllocationSettingData#getHostResources()
|
||||||
*/
|
*/
|
||||||
public Builder hostResource(String hostResource) {
|
public Builder hostResource(CimString hostResource) {
|
||||||
this.hostResources.add(checkNotNull(hostResource, "hostResource"));
|
this.hostResources.add(checkNotNull(hostResource, "hostResource"));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -238,7 +287,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getConnections
|
* @see ResourceAllocationSettingData#getConnections
|
||||||
*/
|
*/
|
||||||
public Builder connections(List<String> connections) {
|
public Builder connections(List<CimString> connections) {
|
||||||
this.connections = Lists.newArrayList(checkNotNull(connections, "connections"));
|
this.connections = Lists.newArrayList(checkNotNull(connections, "connections"));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -246,84 +295,123 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
/**
|
/**
|
||||||
* @see ResourceAllocationSettingData#getHostResources
|
* @see ResourceAllocationSettingData#getHostResources
|
||||||
*/
|
*/
|
||||||
public Builder hostResources(List<String> hostResources) {
|
public Builder hostResources(List<CimString> hostResources) {
|
||||||
this.hostResources = Lists.newArrayList(checkNotNull(hostResources, "hostResources"));
|
this.hostResources = Lists.newArrayList(checkNotNull(hostResources, "hostResources"));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceAllocationSettingData#getType()
|
||||||
|
*/
|
||||||
|
public Builder type(String type) {
|
||||||
|
this.type = type;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceAllocationSettingData#getHref()
|
||||||
|
*/
|
||||||
|
public Builder href(URI href) {
|
||||||
|
this.href = href;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceAllocationSettingData#getLinks()
|
||||||
|
*/
|
||||||
|
public Builder links(Set<Link> links) {
|
||||||
|
this.links = Sets.newLinkedHashSet(checkNotNull(links, "links"));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceAllocationSettingData#getLinks()
|
||||||
|
*/
|
||||||
|
public Builder link(Link link) {
|
||||||
|
if (links == null)
|
||||||
|
links = Sets.newLinkedHashSet();
|
||||||
|
this.links.add(checkNotNull(link, "link"));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public ResourceAllocationSettingData build() {
|
public ResourceAllocationSettingData build() {
|
||||||
return new ResourceAllocationSettingData(elementName, instanceID, caption, description, address,
|
return new ResourceAllocationSettingData(elementName, instanceID, caption, description, address,
|
||||||
addressOnParent, allocationUnits, automaticAllocation, automaticDeallocation, consumerVisibility, limit,
|
addressOnParent, allocationUnits, automaticAllocation, automaticDeallocation, consumerVisibility, limit,
|
||||||
mappingBehavior, otherResourceType, parent, poolID, reservation, resourceSubType, resourceType,
|
mappingBehavior, otherResourceType, parent, poolID, reservation, resourceSubType, resourceType,
|
||||||
virtualQuantity, virtualQuantityUnits, weight, connections, hostResources);
|
virtualQuantity, virtualQuantityUnits, weight, connections, hostResources, type, href, links);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder fromResourceAllocationSettingData(ResourceAllocationSettingData in) {
|
public Builder fromResourceAllocationSettingData(ResourceAllocationSettingData in) {
|
||||||
return fromManagedElement(in).address(in.getAddress()).addressOnParent(in.getAddressOnParent())
|
return elementName(in.getElementName())
|
||||||
.allocationUnits(in.getAllocationUnits()).automaticAllocation(in.isAutomaticAllocation())
|
.instanceID(in.getInstanceID())
|
||||||
.automaticDeallocation(in.isAutomaticDeallocation()).consumerVisibility(in.getConsumerVisibility())
|
.caption(in.getCaption())
|
||||||
.limit(in.getLimit()).mappingBehavior(in.getMappingBehavior())
|
.description(in.getDescription())
|
||||||
.otherResourceType(in.getOtherResourceType()).parent(in.getParent()).poolID(in.getPoolID())
|
.address(in.getAddress())
|
||||||
.reservation(in.getReservation()).resourceSubType(in.getResourceSubType())
|
.addressOnParent(in.getAddressOnParent())
|
||||||
.resourceType(in.getResourceType()).virtualQuantity(in.getVirtualQuantity())
|
.allocationUnits(in.getAllocationUnits())
|
||||||
.virtualQuantityUnits(in.getVirtualQuantityUnits()).weight(in.getWeight())
|
.automaticAllocation(in.isAutomaticAllocation())
|
||||||
.connections(in.getConnections()).hostResources(in.getHostResources());
|
.automaticDeallocation(in.isAutomaticDeallocation())
|
||||||
|
.consumerVisibility(in.getConsumerVisibility())
|
||||||
|
.limit(in.getLimit())
|
||||||
|
.mappingBehavior(in.getMappingBehavior())
|
||||||
|
.otherResourceType(in.getOtherResourceType())
|
||||||
|
.parent(in.getParent())
|
||||||
|
.poolID(in.getPoolID())
|
||||||
|
.reservation(in.getReservation())
|
||||||
|
.resourceSubType(in.getResourceSubType())
|
||||||
|
.resourceType(in.getResourceType())
|
||||||
|
.virtualQuantity(in.getVirtualQuantity())
|
||||||
|
.virtualQuantityUnits(in.getVirtualQuantityUnits())
|
||||||
|
.weight(in.getWeight())
|
||||||
|
.connections(in.getConnections())
|
||||||
|
.hostResources(in.getHostResources())
|
||||||
|
.type(in.getType())
|
||||||
|
.href(in.getHref())
|
||||||
|
.links(Sets.newLinkedHashSet(in.getLinks()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder fromManagedElement(ManagedElement in) {
|
|
||||||
return Builder.class.cast(super.fromManagedElement(in));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder caption(String caption) {
|
|
||||||
return Builder.class.cast(super.caption(caption));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder description(String description) {
|
|
||||||
return Builder.class.cast(super.description(description));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder elementName(String elementName) {
|
|
||||||
return Builder.class.cast(super.elementName(elementName));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder instanceID(String instanceID) {
|
|
||||||
return Builder.class.cast(super.instanceID(instanceID));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The type of resource this allocation setting represents.
|
* The type of resource this allocation setting represents.
|
||||||
*/
|
*/
|
||||||
|
@XmlType
|
||||||
|
@XmlEnum(Integer.class)
|
||||||
public static enum ResourceType {
|
public static enum ResourceType {
|
||||||
|
@XmlEnumValue("1") OTHER(1),
|
||||||
OTHER(1), COMPUTER_SYSTEM(2), PROCESSOR(3), MEMORY(4), IDE_CONTROLLER(5), PARALLEL_SCSI_HBA(6), FC_HBA(7), ISCSI_HBA(
|
@XmlEnumValue("2") COMPUTER_SYSTEM(2),
|
||||||
8), IB_HCA(9), ETHERNET_ADAPTER(10), OTHER_NETWORK_ADAPTER(11), IO_SLOT(12), IO_DEVICE(13), FLOPPY_DRIVE(14), CD_DRIVE(
|
@XmlEnumValue("3") PROCESSOR(3),
|
||||||
15), DVD_DRIVE(16), DISK_DRIVE(17), TAPE_DRIVE(18), STORAGE_EXTENT(19), OTHER_STORAGE_DEVICE(20), SERIAL_PORT(
|
@XmlEnumValue("4") MEMORY(4),
|
||||||
21), PARALLEL_PORT(22), USB_CONTROLLER(23), GRAPHICS_CONTROLLER(24), IEEE_1394_CONTROLLER(25), PARTITIONABLE_UNIT(
|
@XmlEnumValue("5") IDE_CONTROLLER(5),
|
||||||
26), BASE_PARTITIONABLE_UNIT(27), POWER(28), COOLING_CAPACITY(29), ETHERNET_SWITCH_PORT(30), LOGICAL_DISK(
|
@XmlEnumValue("6") PARALLEL_SCSI_HBA(6),
|
||||||
31), STORAGE_VOLUME(32), ETHERNET_CONNECTION(33), DMTF_RESERVED(Integer.valueOf("8000", 16)), VENDOR_RESERVED(
|
@XmlEnumValue("7") FC_HBA(7),
|
||||||
Integer.valueOf("FFFF", 16));
|
@XmlEnumValue("8") ISCSI_HBA(8),
|
||||||
|
@XmlEnumValue("9") IB_HCA(9),
|
||||||
|
@XmlEnumValue("10") ETHERNET_ADAPTER(10),
|
||||||
|
@XmlEnumValue("11") OTHER_NETWORK_ADAPTER(11),
|
||||||
|
@XmlEnumValue("12") IO_SLOT(12),
|
||||||
|
@XmlEnumValue("13") IO_DEVICE(13),
|
||||||
|
@XmlEnumValue("14") FLOPPY_DRIVE(14),
|
||||||
|
@XmlEnumValue("15") CD_DRIVE(15),
|
||||||
|
@XmlEnumValue("16") DVD_DRIVE(16),
|
||||||
|
@XmlEnumValue("17") DISK_DRIVE(17),
|
||||||
|
@XmlEnumValue("18") TAPE_DRIVE(18),
|
||||||
|
@XmlEnumValue("19") STORAGE_EXTENT(19),
|
||||||
|
@XmlEnumValue("20") OTHER_STORAGE_DEVICE(20),
|
||||||
|
@XmlEnumValue("21") SERIAL_PORT(21),
|
||||||
|
@XmlEnumValue("22") PARALLEL_PORT(22),
|
||||||
|
@XmlEnumValue("23") USB_CONTROLLER(23),
|
||||||
|
@XmlEnumValue("24") GRAPHICS_CONTROLLER(24),
|
||||||
|
@XmlEnumValue("25") IEEE_1394_CONTROLLER(25),
|
||||||
|
@XmlEnumValue("26") PARTITIONABLE_UNIT(26),
|
||||||
|
@XmlEnumValue("27") BASE_PARTITIONABLE_UNIT(27),
|
||||||
|
@XmlEnumValue("28") POWER(28),
|
||||||
|
@XmlEnumValue("29") COOLING_CAPACITY(29),
|
||||||
|
@XmlEnumValue("30") ETHERNET_SWITCH_PORT(30),
|
||||||
|
@XmlEnumValue("31") LOGICAL_DISK(31),
|
||||||
|
@XmlEnumValue("32") STORAGE_VOLUME(32),
|
||||||
|
@XmlEnumValue("33") ETHERNET_CONNECTION(33),
|
||||||
|
@XmlEnumValue("32768") DMTF_RESERVED(Integer.valueOf("8000", 16)),
|
||||||
|
@XmlEnumValue("65535") VENDOR_RESERVED(Integer.valueOf("FFFF", 16));
|
||||||
|
|
||||||
protected final int code;
|
protected final int code;
|
||||||
|
|
||||||
|
@ -332,47 +420,52 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String value() {
|
public String value() {
|
||||||
return code + "";
|
return Integer.toString(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final static Map<Integer, ResourceType> RESOURCE_TYPE_BY_ID = Maps.uniqueIndex(
|
protected final static Map<Integer, ResourceType> RESOURCE_TYPE_BY_ID = Maps.uniqueIndex(
|
||||||
ImmutableSet.copyOf(ResourceType.values()), new Function<ResourceType, Integer>() {
|
ImmutableSet.copyOf(ResourceType.values()), new Function<ResourceType, Integer>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer apply(ResourceType input) {
|
public Integer apply(ResourceType input) {
|
||||||
return input.code;
|
return input.code;
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
public static ResourceType fromValue(String type) {
|
public static ResourceType fromValue(String type) {
|
||||||
return RESOURCE_TYPE_BY_ID.get(new Integer(checkNotNull(type, "type")));
|
return RESOURCE_TYPE_BY_ID.get(Integer.valueOf(checkNotNull(type, "type")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Describes the consumers visibility to the allocated resource.
|
* Describes the consumers visibility to the allocated resource.
|
||||||
*/
|
*/
|
||||||
|
@XmlType
|
||||||
|
@XmlEnum(Integer.class)
|
||||||
public static enum ConsumerVisibility {
|
public static enum ConsumerVisibility {
|
||||||
UNKNOWN(0),
|
@XmlEnumValue("0") UNKNOWN(0),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* indicates the underlying or host resource is utilized and passed
|
* indicates the underlying or host resource is utilized and passed
|
||||||
* through to the consumer, possibly using partitioning. At least one item
|
* through to the consumer, possibly using partitioning. At least one item
|
||||||
* shall be present in the HostResource property.
|
* shall be present in the HostResource property.
|
||||||
*/
|
*/
|
||||||
PASSED_THROUGH(2),
|
@XmlEnumValue("2") PASSED_THROUGH(2),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* indicates the resource is virtualized and may not map directly to an
|
* indicates the resource is virtualized and may not map directly to an
|
||||||
* underlying/host resource. Some implementations may support specific
|
* underlying/host resource. Some implementations may support specific
|
||||||
* assignment for virtualized resources, in which case the host
|
* assignment for virtualized resources, in which case the host
|
||||||
* resource(s) are exposed using the HostResource property.
|
* resource(s) are exposed using the HostResource property.
|
||||||
*/
|
*/
|
||||||
VIRTUALIZED(3),
|
@XmlEnumValue("3") VIRTUALIZED(3),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* indicates a representation of the resource does not exist within the
|
* indicates a representation of the resource does not exist within the
|
||||||
* context of the resource consumer.
|
* context of the resource consumer.
|
||||||
*/
|
*/
|
||||||
NOT_REPRESENTED(4), DMTF_RESERVED(32767), VENDOR_RESERVED(65535);
|
@XmlEnumValue("4") NOT_REPRESENTED(4),
|
||||||
|
@XmlEnumValue("32768") DMTF_RESERVED(Integer.valueOf("8000", 16)),
|
||||||
|
@XmlEnumValue("65535") VENDOR_RESERVED(Integer.valueOf("FFFF", 16));
|
||||||
|
|
||||||
protected final int code;
|
protected final int code;
|
||||||
|
|
||||||
|
@ -381,21 +474,19 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String value() {
|
public String value() {
|
||||||
return code + "";
|
return Integer.toString(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final static Map<Integer, ConsumerVisibility> MAPPING_BEHAVIOR_BY_ID = Maps.uniqueIndex(
|
protected final static Map<Integer, ConsumerVisibility> MAPPING_BEHAVIOR_BY_ID = Maps.uniqueIndex(
|
||||||
ImmutableSet.copyOf(ConsumerVisibility.values()), new Function<ConsumerVisibility, Integer>() {
|
ImmutableSet.copyOf(ConsumerVisibility.values()), new Function<ConsumerVisibility, Integer>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer apply(ConsumerVisibility input) {
|
public Integer apply(ConsumerVisibility input) {
|
||||||
return input.code;
|
return input.code;
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
public static ConsumerVisibility fromValue(String behavior) {
|
public static ConsumerVisibility fromValue(String behavior) {
|
||||||
return MAPPING_BEHAVIOR_BY_ID.get(new Integer(checkNotNull(behavior, "behavior")));
|
return MAPPING_BEHAVIOR_BY_ID.get(Integer.valueOf(checkNotNull(behavior, "behavior")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -404,9 +495,16 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* HostResource array contains any entries, this property reflects how the
|
* HostResource array contains any entries, this property reflects how the
|
||||||
* resource maps to those specific resources.
|
* resource maps to those specific resources.
|
||||||
*/
|
*/
|
||||||
|
@XmlType
|
||||||
|
@XmlEnum(Integer.class)
|
||||||
public static enum MappingBehavior {
|
public static enum MappingBehavior {
|
||||||
UNKNOWN(0), NOT_SUPPORTED(2), DEDICATED(3), SOFT_AFFINITY(4), HARD_AFFINITY(5), DMTF_RESERVED(32767), VENDOR_RESERVED(
|
@XmlEnumValue("0") UNKNOWN(0),
|
||||||
65535);
|
@XmlEnumValue("2") NOT_SUPPORTED(2),
|
||||||
|
@XmlEnumValue("3") DEDICATED(3),
|
||||||
|
@XmlEnumValue("4") SOFT_AFFINITY(4),
|
||||||
|
@XmlEnumValue("5") HARD_AFFINITY(5),
|
||||||
|
@XmlEnumValue("32768") DMTF_RESERVED(Integer.valueOf("8000", 16)),
|
||||||
|
@XmlEnumValue("65535") VENDOR_RESERVED(Integer.valueOf("FFFF", 16));
|
||||||
|
|
||||||
protected final int code;
|
protected final int code;
|
||||||
|
|
||||||
|
@ -415,51 +513,85 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String value() {
|
public String value() {
|
||||||
return code + "";
|
return Integer.toString(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final static Map<Integer, MappingBehavior> MAPPING_BEHAVIOR_BY_ID = Maps.uniqueIndex(
|
protected final static Map<Integer, MappingBehavior> MAPPING_BEHAVIOR_BY_ID = Maps.uniqueIndex(
|
||||||
ImmutableSet.copyOf(MappingBehavior.values()), new Function<MappingBehavior, Integer>() {
|
ImmutableSet.copyOf(MappingBehavior.values()), new Function<MappingBehavior, Integer>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer apply(MappingBehavior input) {
|
public Integer apply(MappingBehavior input) {
|
||||||
return input.code;
|
return input.code;
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
public static MappingBehavior fromValue(String behavior) {
|
public static MappingBehavior fromValue(String behavior) {
|
||||||
return MAPPING_BEHAVIOR_BY_ID.get(new Integer(checkNotNull(behavior, "behavior")));
|
return MAPPING_BEHAVIOR_BY_ID.get(Integer.valueOf(checkNotNull(behavior, "behavior")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String address;
|
@XmlElement(name = "ElementName", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
protected String addressOnParent;
|
protected CimString elementName;
|
||||||
protected String allocationUnits;
|
@XmlElement(name = "InstanceID", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
protected Boolean automaticAllocation;
|
protected CimString instanceID;
|
||||||
protected Boolean automaticDeallocation;
|
@XmlElement(name = "Caption", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected CimString caption;
|
||||||
|
@XmlElement(name = "Description", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected CimString description;
|
||||||
|
@XmlElement(name = "Address", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected CimString address;
|
||||||
|
@XmlElement(name = "AddressOnParent", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected CimString addressOnParent;
|
||||||
|
@XmlElement(name = "AllocationUnits", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected CimString allocationUnits;
|
||||||
|
@XmlElement(name = "AutomaticAllocation", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected CimBoolean automaticAllocation;
|
||||||
|
@XmlElement(name = "AutomaticDeallocation", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected CimBoolean automaticDeallocation;
|
||||||
|
@XmlElement(name = "ConsumerVisibility", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
protected ConsumerVisibility consumerVisibility;
|
protected ConsumerVisibility consumerVisibility;
|
||||||
protected Long limit;
|
@XmlElement(name = "Limit", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected CimUnsignedLong limit;
|
||||||
|
@XmlElement(name = "MappingBehavior", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
protected MappingBehavior mappingBehavior;
|
protected MappingBehavior mappingBehavior;
|
||||||
protected String otherResourceType;
|
@XmlElement(name = "OtherResourceType", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
protected String parent;
|
protected CimString otherResourceType;
|
||||||
protected String poolID;
|
@XmlElement(name = "Parent", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
protected Long reservation;
|
protected CimString parent;
|
||||||
protected String resourceSubType;
|
@XmlElement(name = "PoolID", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected CimString poolID;
|
||||||
|
@XmlElement(name = "Reservation", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected CimUnsignedLong reservation;
|
||||||
|
@XmlElement(name = "ResourceSubType", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected CimString resourceSubType;
|
||||||
|
@XmlElement(name = "ResourceType", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
protected ResourceType resourceType;
|
protected ResourceType resourceType;
|
||||||
protected Long virtualQuantity;
|
@XmlElement(name = "VirtualQuantity", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
protected String virtualQuantityUnits;
|
protected CimUnsignedLong virtualQuantity;
|
||||||
protected Integer weight;
|
@XmlElement(name = "VirtualQuantityUnits", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
protected List<String> connections;
|
protected CimString virtualQuantityUnits;
|
||||||
protected List<String> hostResources;
|
@XmlElement(name = "Weight", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected CimUnsignedInt weight;
|
||||||
|
@XmlElement(name = "Connection", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected List<CimString> connections;
|
||||||
|
@XmlElement(name = "HostResource", namespace = VCLOUD_CIM_RASD_NS)
|
||||||
|
protected List<CimString> hostResources;
|
||||||
|
@XmlAttribute(name = "type", namespace = VCLOUD_1_5_NS)
|
||||||
|
protected String type;
|
||||||
|
@XmlAttribute(name = "href", namespace = VCLOUD_1_5_NS)
|
||||||
|
protected URI href;
|
||||||
|
@XmlElement(name = "Link", namespace = VCLOUD_1_5_NS)
|
||||||
|
private Set<Link> links = Sets.newLinkedHashSet();
|
||||||
|
|
||||||
private ResourceAllocationSettingData(String elementName, String instanceID, String caption, String description,
|
private ResourceAllocationSettingData(CimString elementName, CimString instanceID, CimString caption, CimString description,
|
||||||
String address, String addressOnParent, String allocationUnits, Boolean automaticAllocation,
|
CimString address, CimString addressOnParent, CimString allocationUnits, CimBoolean automaticAllocation,
|
||||||
Boolean automaticDeallocation, ConsumerVisibility consumerVisibility, Long limit,
|
CimBoolean automaticDeallocation, ConsumerVisibility consumerVisibility, CimUnsignedLong limit,
|
||||||
MappingBehavior mappingBehavior, String otherResourceType, String parent, String poolID, Long reservation,
|
MappingBehavior mappingBehavior, CimString otherResourceType, CimString parent, CimString poolID, CimUnsignedLong reservation,
|
||||||
String resourceSubType, ResourceType resourceType, Long virtualQuantity, String virtualQuantityUnits,
|
CimString resourceSubType, ResourceType resourceType, CimUnsignedLong virtualQuantity, CimString virtualQuantityUnits,
|
||||||
Integer weight, List<String> connections, List<String> hostResources) {
|
CimUnsignedInt weight, List<CimString> connections, List<CimString> hostResources, String type, URI href, Set<Link> links) {
|
||||||
super(elementName, instanceID, caption, description);
|
this.elementName = elementName;
|
||||||
|
this.instanceID = instanceID;
|
||||||
|
this.caption = caption;
|
||||||
|
this.description = description;
|
||||||
this.address = address;
|
this.address = address;
|
||||||
this.addressOnParent = addressOnParent;
|
this.addressOnParent = addressOnParent;
|
||||||
this.allocationUnits = allocationUnits;
|
this.allocationUnits = allocationUnits;
|
||||||
|
@ -479,17 +611,51 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
this.weight = weight;
|
this.weight = weight;
|
||||||
this.connections = ImmutableList.copyOf(connections);
|
this.connections = ImmutableList.copyOf(connections);
|
||||||
this.hostResources = ImmutableList.copyOf(hostResources);
|
this.hostResources = ImmutableList.copyOf(hostResources);
|
||||||
|
this.type = type;
|
||||||
|
this.href = href;
|
||||||
|
this.links = links != null ? ImmutableSet.copyOf(links) : Collections.<Link>emptySet();
|
||||||
}
|
}
|
||||||
|
|
||||||
private ResourceAllocationSettingData() {
|
private ResourceAllocationSettingData() {
|
||||||
// for JAXB
|
// for JAXB
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The user-friendly name for this instance of SettingData. In addition, the user-friendly name
|
||||||
|
* can be used as an index property for a search or query. (Note: The name does not have to be
|
||||||
|
* unique within a namespace.)
|
||||||
|
*/
|
||||||
|
public CimString getElementName() {
|
||||||
|
return elementName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Within the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies
|
||||||
|
* an instance of this class.
|
||||||
|
*/
|
||||||
|
public CimString getInstanceID() {
|
||||||
|
return instanceID;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Caption property is a short textual description (one- line string) of the object.
|
||||||
|
*/
|
||||||
|
public CimString getCaption() {
|
||||||
|
return caption;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Description property provides a textual description of the object.
|
||||||
|
*/
|
||||||
|
public CimString getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The address of the resource. For example, the MAC address of a Ethernet
|
* The address of the resource. For example, the MAC address of a Ethernet
|
||||||
* port.
|
* port.
|
||||||
*/
|
*/
|
||||||
public String getAddress() {
|
public CimString getAddress() {
|
||||||
return address;
|
return address;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -500,7 +666,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* if the parent is a PCI Controller, this property would specify the PCI
|
* if the parent is a PCI Controller, this property would specify the PCI
|
||||||
* slot of this child device.
|
* slot of this child device.
|
||||||
*/
|
*/
|
||||||
public String getAddressOnParent() {
|
public CimString getAddressOnParent() {
|
||||||
return addressOnParent;
|
return addressOnParent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -514,7 +680,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* value of the Programmatic Units qualifier as defined in Annex C.1 of
|
* value of the Programmatic Units qualifier as defined in Annex C.1 of
|
||||||
* DSP0004 V2.5 or later.
|
* DSP0004 V2.5 or later.
|
||||||
*/
|
*/
|
||||||
public String getAllocationUnits() {
|
public CimString getAllocationUnits() {
|
||||||
return allocationUnits;
|
return allocationUnits;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -527,7 +693,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* on time, the media is not present. An explicit operation is required to
|
* on time, the media is not present. An explicit operation is required to
|
||||||
* allocate the resource.
|
* allocate the resource.
|
||||||
*/
|
*/
|
||||||
public Boolean isAutomaticAllocation() {
|
public CimBoolean isAutomaticAllocation() {
|
||||||
return automaticAllocation;
|
return automaticAllocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -538,7 +704,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* set to false, the resource will remain allocated and must be explicitly
|
* set to false, the resource will remain allocated and must be explicitly
|
||||||
* de-allocated.
|
* de-allocated.
|
||||||
*/
|
*/
|
||||||
public Boolean isAutomaticDeallocation() {
|
public CimBoolean isAutomaticDeallocation() {
|
||||||
return automaticDeallocation;
|
return automaticDeallocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -557,7 +723,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* for this allocation. The value of the Limit property is expressed in the
|
* for this allocation. The value of the Limit property is expressed in the
|
||||||
* unit specified by the value of the AllocationUnits property.
|
* unit specified by the value of the AllocationUnits property.
|
||||||
*/
|
*/
|
||||||
public Long getLimit() {
|
public CimUnsignedLong getLimit() {
|
||||||
return limit;
|
return limit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -574,7 +740,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* A string that describes the resource type when a well defined value is not
|
* A string that describes the resource type when a well defined value is not
|
||||||
* available and ResourceType has the value "Other".
|
* available and ResourceType has the value "Other".
|
||||||
*/
|
*/
|
||||||
public String getOtherResourceType() {
|
public CimString getOtherResourceType() {
|
||||||
return otherResourceType;
|
return otherResourceType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -582,7 +748,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* The Parent of the resource. For example, a controller for the current
|
* The Parent of the resource. For example, a controller for the current
|
||||||
* allocation
|
* allocation
|
||||||
*/
|
*/
|
||||||
public String getParent() {
|
public CimString getParent() {
|
||||||
return parent;
|
return parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -591,7 +757,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* allocated from, or which ResourcePool the resource will be allocated from
|
* allocated from, or which ResourcePool the resource will be allocated from
|
||||||
* when the allocation occurs.
|
* when the allocation occurs.
|
||||||
*/
|
*/
|
||||||
public String getPoolID() {
|
public CimString getPoolID() {
|
||||||
return poolID;
|
return poolID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -603,7 +769,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* the Reservation property is expressed in the unit specified by the value
|
* the Reservation property is expressed in the unit specified by the value
|
||||||
* of the AllocationUnits property.
|
* of the AllocationUnits property.
|
||||||
*/
|
*/
|
||||||
public Long getReservation() {
|
public CimUnsignedLong getReservation() {
|
||||||
return reservation;
|
return reservation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -611,7 +777,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* A string describing an implementation specific sub-type for this resource.
|
* A string describing an implementation specific sub-type for this resource.
|
||||||
* F
|
* F
|
||||||
*/
|
*/
|
||||||
public String getResourceSubType() {
|
public CimString getResourceSubType() {
|
||||||
return resourceSubType;
|
return resourceSubType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -631,7 +797,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* VirtualQuantity property should be expressed in units as defined by the
|
* VirtualQuantity property should be expressed in units as defined by the
|
||||||
* value of the VirtualQuantityUnits property.
|
* value of the VirtualQuantityUnits property.
|
||||||
*/
|
*/
|
||||||
public Long getVirtualQuantity() {
|
public CimUnsignedLong getVirtualQuantity() {
|
||||||
return virtualQuantity;
|
return virtualQuantity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -647,7 +813,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* this property shall be a legal value of the Programmatic Units qualifier
|
* this property shall be a legal value of the Programmatic Units qualifier
|
||||||
* as defined in Annex C.1 of DSP0004 V2.5 or later.
|
* as defined in Annex C.1 of DSP0004 V2.5 or later.
|
||||||
*/
|
*/
|
||||||
public String getVirtualQuantityUnits() {
|
public CimString getVirtualQuantityUnits() {
|
||||||
return virtualQuantityUnits;
|
return virtualQuantityUnits;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -657,7 +823,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* has no unit of measure, and is only relevant when compared to other
|
* has no unit of measure, and is only relevant when compared to other
|
||||||
* allocations vying for the same host resources.
|
* allocations vying for the same host resources.
|
||||||
*/
|
*/
|
||||||
public Integer getWeight() {
|
public CimUnsignedInt getWeight() {
|
||||||
return weight;
|
return weight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -665,7 +831,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* The thing to which this resource is connected. For example, a named
|
* The thing to which this resource is connected. For example, a named
|
||||||
* network or switch port.
|
* network or switch port.
|
||||||
*/
|
*/
|
||||||
public List<String> getConnections() {
|
public List<CimString> getConnections() {
|
||||||
return Collections.unmodifiableList(connections);
|
return Collections.unmodifiableList(connections);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -687,30 +853,65 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
* value(s) to indicate that the requested virtual resource allocation be
|
* value(s) to indicate that the requested virtual resource allocation be
|
||||||
* based on host resources that are identified by element values.
|
* based on host resources that are identified by element values.
|
||||||
*/
|
*/
|
||||||
public List<String> getHostResources() {
|
public List<CimString> getHostResources() {
|
||||||
return Collections.unmodifiableList(hostResources);
|
return Collections.unmodifiableList(hostResources);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public URI getHref() {
|
||||||
|
return href;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set of optional links to an entity or operation associated with this object.
|
||||||
|
*/
|
||||||
|
public Set<Link> getLinks() {
|
||||||
|
return links != null ? ImmutableSet.copyOf(links) : Collections.<Link>emptySet();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return String
|
return Objects.toStringHelper("")
|
||||||
.format(
|
.add("elementname", elementName)
|
||||||
"[elementName=%s, instanceID=%s, caption=%s, description=%s, address=%s, addressOnParent=%s, allocationUnits=%s, automaticAllocation=%s, automaticDeallocation=%s, connections=%s, consumerVisibility=%s, hostResources=%s, limit=%s, mappingBehavior=%s, otherResourceType=%s, parent=%s, poolID=%s, reservation=%s, resourceSubType=%s, resourceType=%s, virtualQuantity=%s, virtualQuantityUnits=%s, weight=%s]",
|
.add("instanceId", instanceID)
|
||||||
elementName, instanceID, caption, description, address, addressOnParent, allocationUnits,
|
.add("caption", caption)
|
||||||
automaticAllocation, automaticDeallocation, connections, consumerVisibility, hostResources, limit,
|
.add("description", description)
|
||||||
mappingBehavior, otherResourceType, parent, poolID, reservation, resourceSubType, resourceType,
|
.add("address", address)
|
||||||
virtualQuantity, virtualQuantityUnits, weight);
|
.add("addressOnParent", addressOnParent)
|
||||||
|
.add("allocationUnits", allocationUnits)
|
||||||
|
.add("automaticAllocation", automaticAllocation)
|
||||||
|
.add("automaticDeallocation", automaticDeallocation)
|
||||||
|
.add("connections", connections)
|
||||||
|
.add("consumerVisibility", consumerVisibility)
|
||||||
|
.add("hostResources", hostResources)
|
||||||
|
.add("limit", limit)
|
||||||
|
.add("mappingBehavior", mappingBehavior)
|
||||||
|
.add("otherResourceType", otherResourceType)
|
||||||
|
.add("parent", parent)
|
||||||
|
.add("poolID", poolID)
|
||||||
|
.add("reservation", reservation)
|
||||||
|
.add("resourceSubType", resourceSubType)
|
||||||
|
.add("resourceType", resourceType)
|
||||||
|
.add("virtualQuantity", virtualQuantity)
|
||||||
|
.add("virtualQuantityUnits", virtualQuantityUnits)
|
||||||
|
.add("weight", weight)
|
||||||
|
.add("type", type)
|
||||||
|
.add("href", href)
|
||||||
|
.add("links", links)
|
||||||
|
.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
final int prime = 31;
|
return Objects.hashCode(elementName, instanceID, caption, description,
|
||||||
int result = super.hashCode();
|
address, addressOnParent, allocationUnits,
|
||||||
result = prime * result + ((address == null) ? 0 : address.hashCode());
|
automaticAllocation, automaticDeallocation, connections,
|
||||||
result = prime * result + ((addressOnParent == null) ? 0 : addressOnParent.hashCode());
|
consumerVisibility, hostResources, limit, mappingBehavior,
|
||||||
result = prime * result + ((resourceSubType == null) ? 0 : resourceSubType.hashCode());
|
otherResourceType, parent, poolID, reservation, resourceSubType,
|
||||||
result = prime * result + ((resourceType == null) ? 0 : resourceType.hashCode());
|
resourceType, virtualQuantity, virtualQuantityUnits, weight, type, href, links);
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -721,28 +922,34 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
||||||
return false;
|
return false;
|
||||||
if (getClass() != obj.getClass())
|
if (getClass() != obj.getClass())
|
||||||
return false;
|
return false;
|
||||||
ResourceAllocationSettingData other = (ResourceAllocationSettingData) obj;
|
ResourceAllocationSettingData that = ResourceAllocationSettingData.class.cast(obj);
|
||||||
if (address == null) {
|
return equal(this.elementName, that.elementName) &&
|
||||||
if (other.address != null)
|
equal(this.instanceID, that.instanceID) &&
|
||||||
return false;
|
equal(this.caption, that.caption) &&
|
||||||
} else if (!address.equals(other.address))
|
equal(this.description, that.description) &&
|
||||||
return false;
|
equal(this.address, that.address) &&
|
||||||
if (addressOnParent == null) {
|
equal(this.addressOnParent, that.addressOnParent) &&
|
||||||
if (other.addressOnParent != null)
|
equal(this.allocationUnits, that.allocationUnits) &&
|
||||||
return false;
|
equal(this.automaticAllocation, that.automaticAllocation) &&
|
||||||
} else if (!addressOnParent.equals(other.addressOnParent))
|
equal(this.automaticDeallocation, that.automaticDeallocation) &&
|
||||||
return false;
|
equal(this.connections, that.connections) &&
|
||||||
if (resourceSubType == null) {
|
equal(this.consumerVisibility, that.consumerVisibility) &&
|
||||||
if (other.resourceSubType != null)
|
equal(this.hostResources, that.hostResources) &&
|
||||||
return false;
|
equal(this.limit, that.limit) &&
|
||||||
} else if (!resourceSubType.equals(other.resourceSubType))
|
equal(this.mappingBehavior, that.mappingBehavior) &&
|
||||||
return false;
|
equal(this.otherResourceType, that.otherResourceType) &&
|
||||||
if (resourceType == null) {
|
equal(this.parent, that.parent) &&
|
||||||
if (other.resourceType != null)
|
equal(this.poolID, that.poolID) &&
|
||||||
return false;
|
equal(this.reservation, that.reservation) &&
|
||||||
} else if (!resourceType.equals(other.resourceType))
|
equal(this.resourceSubType, that.resourceSubType) &&
|
||||||
return false;
|
equal(this.resourceType, that.resourceType) &&
|
||||||
return true;
|
equal(this.virtualQuantity, that.virtualQuantity) &&
|
||||||
|
equal(this.virtualQuantityUnits, that.virtualQuantityUnits) &&
|
||||||
|
equal(this.weight, that.weight) &&
|
||||||
|
equal(this.type, that.type) &&
|
||||||
|
equal(this.href, that.href) &&
|
||||||
|
equal(this.links, that.links);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
* Licensed to jclouds, Inc. (jclouds) under one or more
|
|
||||||
* contributor license agreements. See the NOTICE file
|
|
||||||
* distributed with this work for additional information
|
|
||||||
* regarding copyright ownership. jclouds licenses this file
|
|
||||||
* to you under the Apache License, Version 2.0 (the
|
|
||||||
* "License"); you may not use this file except in compliance
|
|
||||||
* with the License. You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing,
|
|
||||||
* software distributed under the License is distributed on an
|
|
||||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
* KIND, either express or implied. See the License for the
|
|
||||||
* specific language governing permissions and limitations
|
|
||||||
* under the License.
|
|
||||||
*/
|
|
||||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
|
||||||
|
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* The type of resource this allocation setting represents.
|
|
||||||
*
|
|
||||||
* @author Adrian Cole
|
|
||||||
* @see <a
|
|
||||||
* href="http://dmtf.org/sites/default/files/cim/cim_schema_v2280/cim_schema_2.28.0Final-Doc.zip"
|
|
||||||
* />
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public abstract class SettingData implements Comparable<SettingData> {
|
|
||||||
|
|
||||||
public static Builder builder() {
|
|
||||||
return new Builder();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder toBuilder() {
|
|
||||||
return builder().fromSettingData(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class Builder {
|
|
||||||
protected String elementName;
|
|
||||||
protected String instanceID;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see SettingData#getElementName
|
|
||||||
*/
|
|
||||||
public Builder elementName(String elementName) {
|
|
||||||
this.elementName = checkNotNull(elementName, "elementName");
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see SettingData#getInstanceID
|
|
||||||
*/
|
|
||||||
public Builder instanceID(String instanceID) {
|
|
||||||
this.instanceID = checkNotNull(instanceID, "instanceID");
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder fromSettingData(SettingData in) {
|
|
||||||
return elementName(in.getElementName()).instanceID(in.getInstanceID());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected String elementName;
|
|
||||||
protected String instanceID;
|
|
||||||
|
|
||||||
public SettingData(String elementName, String instanceID) {
|
|
||||||
this.elementName = checkNotNull(elementName, "elementName");
|
|
||||||
this.instanceID = checkNotNull(instanceID, "instanceID");
|
|
||||||
}
|
|
||||||
|
|
||||||
protected SettingData() {
|
|
||||||
// for JAXB
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The user-friendly name for this instance of SettingData. In addition, the user-friendly name
|
|
||||||
* can be used as an index property for a search or query. (Note: The name does not have to be
|
|
||||||
* unique within a namespace.)
|
|
||||||
*/
|
|
||||||
public String getElementName() {
|
|
||||||
return elementName;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Within the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies
|
|
||||||
* an instance of this class.
|
|
||||||
*/
|
|
||||||
public String getInstanceID() {
|
|
||||||
return instanceID;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
final int prime = 31;
|
|
||||||
int result = 1;
|
|
||||||
result = prime * result + ((elementName == null) ? 0 : elementName.hashCode());
|
|
||||||
result = prime * result + ((instanceID == null) ? 0 : instanceID.hashCode());
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(Object obj) {
|
|
||||||
if (this == obj)
|
|
||||||
return true;
|
|
||||||
if (obj == null)
|
|
||||||
return false;
|
|
||||||
if (getClass() != obj.getClass())
|
|
||||||
return false;
|
|
||||||
SettingData other = (SettingData) obj;
|
|
||||||
if (elementName == null) {
|
|
||||||
if (other.elementName != null)
|
|
||||||
return false;
|
|
||||||
} else if (!elementName.equals(other.elementName))
|
|
||||||
return false;
|
|
||||||
if (instanceID == null) {
|
|
||||||
if (other.instanceID != null)
|
|
||||||
return false;
|
|
||||||
} else if (!instanceID.equals(other.instanceID))
|
|
||||||
return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return String.format("[elementName=%s, instanceID=%s]", elementName, instanceID);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public int compareTo(SettingData o) {
|
|
||||||
if (instanceID == null)
|
|
||||||
return -1;
|
|
||||||
return (this == o) ? 0 : instanceID.compareTo(o.instanceID);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,4 +1,4 @@
|
||||||
/**
|
/*
|
||||||
* Licensed to jclouds, Inc. (jclouds) under one or more
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
* contributor license agreements. See the NOTICE file
|
* contributor license agreements. See the NOTICE file
|
||||||
* distributed with this work for additional information
|
* distributed with this work for additional information
|
||||||
|
@ -18,69 +18,100 @@
|
||||||
*/
|
*/
|
||||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_VSSD_NS;
|
||||||
|
|
||||||
import java.net.URI;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
|
import javax.xml.bind.annotation.XmlEnum;
|
||||||
|
import javax.xml.bind.annotation.XmlEnumValue;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
|
import com.google.common.base.Objects;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import com.google.common.collect.Sets;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* VirtualSystemSettingData defines the virtual aspects of a virtual system through a set of
|
||||||
|
* virtualization specific properties.
|
||||||
*
|
*
|
||||||
* CIM_VirtualSystemSettingData defines the virtual aspects of a virtual system through a set of
|
* VirtualSystemSettingData is also used as the top level class of virtual system configurations.
|
||||||
* virtualization specific properties. CIM_VirtualSystemSettingData is also used as the top level
|
* Virtual system configurations model configuration information about virtual systems and their
|
||||||
* class of virtual system configurations. Virtual system configurations model configuration
|
* components. A virtual system configuration consists of one top-level instance of class
|
||||||
* information about virtual systems and their components. A virtual system configuration consists
|
* VirtualSystemSettingData that aggregates a number of instances of class
|
||||||
* of one top-level instance of class CIM_VirtualSystemSettingData that aggregates a number of
|
* {@link ResourceAllocationSettingData}, using association {@link ConcreteComponent).
|
||||||
* instances of class CIM_ResourceAllocationSettingData, using association CIM_ConcreteComponent.
|
* <p>
|
||||||
* Virtual system configurations may for example be used to reflect configurations of - virtual
|
* Virtual system configurations may for example be used to reflect configurations of:
|
||||||
* systems that are defined at a virtualization platform, - virtual systems that are currently
|
* <ul>
|
||||||
* active, - input requests to create new virtual systems, - input requests to modify existing
|
* <li>virtual systems that are defined at a virtualization platform
|
||||||
* virtual systems, or - snapshots of virtual systems.
|
* <li>virtual systems that are currently active
|
||||||
|
* <li>input requests to create new virtual systems
|
||||||
|
* <li>input requests to modify existing virtual systems
|
||||||
|
* <li>snapshots of virtual systems
|
||||||
|
* </ul>
|
||||||
*
|
*
|
||||||
* @author Adrian Cole
|
* @author Adrian Cole
|
||||||
* @see <a
|
* @author grkvlt@apache.org
|
||||||
* href="http://dmtf.org/sites/default/files/cim/cim_schema_v2280/cim_schema_2.28.0Final-Doc.zip"
|
* @see http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2.22.0/CIM_VirtualSystemSettingData.xsd
|
||||||
* />
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class VirtualSystemSettingData extends ManagedElement {
|
@XmlType(name = "CIM_VirtualSystemSettingData_Type", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
|
public class VirtualSystemSettingData {
|
||||||
|
|
||||||
public static Builder builder() {
|
public static Builder builder() {
|
||||||
return new Builder();
|
return new Builder();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder toBuilder() {
|
public Builder toBuilder() {
|
||||||
return builder().fromVirtualSystemSettingData(this);
|
return builder().fromVirtualSystemSettingData(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Builder extends ManagedElement.Builder {
|
public static class Builder {
|
||||||
|
|
||||||
|
protected CimString elementName;
|
||||||
|
protected CimString instanceID;
|
||||||
|
private CimString caption;
|
||||||
|
private CimString description;
|
||||||
private AutomaticRecoveryAction automaticRecoveryAction;
|
private AutomaticRecoveryAction automaticRecoveryAction;
|
||||||
private AutomaticShutdownAction automaticShutdownAction;
|
private AutomaticShutdownAction automaticShutdownAction;
|
||||||
private AutomaticStartupAction automaticStartupAction;
|
private AutomaticStartupAction automaticStartupAction;
|
||||||
private Long automaticStartupActionDelay;
|
private CimUnsignedLong automaticStartupActionDelay;
|
||||||
private Integer automaticStartupActionSequenceNumber;
|
private CimUnsignedInt automaticStartupActionSequenceNumber;
|
||||||
private URI configurationDataRoot;
|
private CimString configurationDataRoot;
|
||||||
private URI configurationFile;
|
private CimString configurationFile;
|
||||||
private String configurationID;
|
private CimString configurationID;
|
||||||
private Date creationTime;
|
private Date creationTime;
|
||||||
private URI logDataRoot;
|
private CimString logDataRoot;
|
||||||
private URI recoveryFile;
|
private CimString recoveryFile;
|
||||||
private URI snapshotDataRoot;
|
private CimString snapshotDataRoot;
|
||||||
private URI suspendDataRoot;
|
private CimString suspendDataRoot;
|
||||||
private URI swapFileDataRoot;
|
private CimString swapFileDataRoot;
|
||||||
private String virtualSystemIdentifier;
|
private CimString virtualSystemIdentifier;
|
||||||
private Set<String> virtualSystemTypes = Sets.newLinkedHashSet();
|
private CimString virtualSystemType;
|
||||||
private String notes;
|
private CimString notes;
|
||||||
|
|
||||||
|
public Builder elementName(CimString elementName) {
|
||||||
|
this.elementName = elementName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder instanceID(CimString instanceID) {
|
||||||
|
this.instanceID = instanceID;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder caption(CimString caption) {
|
||||||
|
this.caption = caption;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder description(CimString description) {
|
||||||
|
this.description = description;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public Builder automaticRecoveryAction(AutomaticRecoveryAction automaticRecoveryAction) {
|
public Builder automaticRecoveryAction(AutomaticRecoveryAction automaticRecoveryAction) {
|
||||||
this.automaticRecoveryAction = automaticRecoveryAction;
|
this.automaticRecoveryAction = automaticRecoveryAction;
|
||||||
|
@ -97,27 +128,27 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder automaticStartupActionDelay(Long automaticStartupActionDelay) {
|
public Builder automaticStartupActionDelay(CimUnsignedLong automaticStartupActionDelay) {
|
||||||
this.automaticStartupActionDelay = automaticStartupActionDelay;
|
this.automaticStartupActionDelay = automaticStartupActionDelay;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder automaticStartupActionSequenceNumber(Integer automaticStartupActionSequenceNumber) {
|
public Builder automaticStartupActionSequenceNumber(CimUnsignedInt automaticStartupActionSequenceNumber) {
|
||||||
this.automaticStartupActionSequenceNumber = automaticStartupActionSequenceNumber;
|
this.automaticStartupActionSequenceNumber = automaticStartupActionSequenceNumber;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder configurationDataRoot(URI configurationDataRoot) {
|
public Builder configurationDataRoot(CimString configurationDataRoot) {
|
||||||
this.configurationDataRoot = configurationDataRoot;
|
this.configurationDataRoot = configurationDataRoot;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder configurationFile(URI configurationFile) {
|
public Builder configurationFile(CimString configurationFile) {
|
||||||
this.configurationFile = configurationFile;
|
this.configurationFile = configurationFile;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder configurationID(String configurationID) {
|
public Builder configurationID(CimString configurationID) {
|
||||||
this.configurationID = configurationID;
|
this.configurationID = configurationID;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -127,47 +158,42 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder logDataRoot(URI logDataRoot) {
|
public Builder logDataRoot(CimString logDataRoot) {
|
||||||
this.logDataRoot = logDataRoot;
|
this.logDataRoot = logDataRoot;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder recoveryFile(URI recoveryFile) {
|
public Builder recoveryFile(CimString recoveryFile) {
|
||||||
this.recoveryFile = recoveryFile;
|
this.recoveryFile = recoveryFile;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder snapshotDataRoot(URI snapshotDataRoot) {
|
public Builder snapshotDataRoot(CimString snapshotDataRoot) {
|
||||||
this.snapshotDataRoot = snapshotDataRoot;
|
this.snapshotDataRoot = snapshotDataRoot;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder suspendDataRoot(URI suspendDataRoot) {
|
public Builder suspendDataRoot(CimString suspendDataRoot) {
|
||||||
this.suspendDataRoot = suspendDataRoot;
|
this.suspendDataRoot = suspendDataRoot;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder swapFileDataRoot(URI swapFileDataRoot) {
|
public Builder swapFileDataRoot(CimString swapFileDataRoot) {
|
||||||
this.swapFileDataRoot = swapFileDataRoot;
|
this.swapFileDataRoot = swapFileDataRoot;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder virtualSystemIdentifier(String virtualSystemIdentifier) {
|
public Builder virtualSystemIdentifier(CimString virtualSystemIdentifier) {
|
||||||
this.virtualSystemIdentifier = virtualSystemIdentifier;
|
this.virtualSystemIdentifier = virtualSystemIdentifier;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder virtualSystemTypes(Iterable<String> virtualSystemTypes) {
|
public Builder virtualSystemType(CimString virtualSystemType) {
|
||||||
this.virtualSystemTypes = ImmutableSet.copyOf(checkNotNull(virtualSystemTypes, "virtualSystemTypes"));
|
this.virtualSystemType = virtualSystemType;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder virtualSystemType(String virtualSystemType) {
|
public Builder notes(CimString notes) {
|
||||||
this.virtualSystemTypes.add(checkNotNull(virtualSystemType, "virtualSystemType"));
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder notes(String notes) {
|
|
||||||
this.notes = notes;
|
this.notes = notes;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -177,77 +203,48 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
automaticShutdownAction, automaticStartupAction, automaticStartupActionDelay,
|
automaticShutdownAction, automaticStartupAction, automaticStartupActionDelay,
|
||||||
automaticStartupActionSequenceNumber, configurationDataRoot, configurationFile, configurationID,
|
automaticStartupActionSequenceNumber, configurationDataRoot, configurationFile, configurationID,
|
||||||
creationTime, logDataRoot, recoveryFile, snapshotDataRoot, suspendDataRoot, swapFileDataRoot,
|
creationTime, logDataRoot, recoveryFile, snapshotDataRoot, suspendDataRoot, swapFileDataRoot,
|
||||||
virtualSystemIdentifier, virtualSystemTypes, notes);
|
virtualSystemIdentifier, virtualSystemType, notes);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder fromVirtualSystemSettingData(VirtualSystemSettingData in) {
|
public Builder fromVirtualSystemSettingData(VirtualSystemSettingData in) {
|
||||||
return fromManagedElement(in).automaticRecoveryAction(in.getAutomaticRecoveryAction())
|
return elementName(in.getElementName())
|
||||||
.automaticShutdownAction(in.getAutomaticShutdownAction()).automaticStartupAction(
|
.instanceID(in.getInstanceID())
|
||||||
in.getAutomaticStartupAction()).automaticStartupActionDelay(
|
.caption(in.getCaption())
|
||||||
in.getAutomaticStartupActionDelay()).automaticStartupActionSequenceNumber(
|
.description(in.getDescription())
|
||||||
in.getAutomaticStartupActionSequenceNumber()).configurationDataRoot(
|
.automaticRecoveryAction(in.getAutomaticRecoveryAction())
|
||||||
in.getConfigurationDataRoot()).configurationFile(in.getConfigurationFile()).configurationID(
|
.automaticShutdownAction(in.getAutomaticShutdownAction())
|
||||||
in.getConfigurationID()).creationTime(in.getCreationTime()).logDataRoot(in.getLogDataRoot())
|
.automaticStartupAction(in.getAutomaticStartupAction())
|
||||||
.recoveryFile(in.getRecoveryFile()).snapshotDataRoot(in.getSnapshotDataRoot()).suspendDataRoot(
|
.automaticStartupActionDelay(in.getAutomaticStartupActionDelay())
|
||||||
in.getSuspendDataRoot()).swapFileDataRoot(in.getSwapFileDataRoot()).virtualSystemIdentifier(
|
.automaticStartupActionSequenceNumber(in.getAutomaticStartupActionSequenceNumber())
|
||||||
in.getVirtualSystemIdentifier()).virtualSystemTypes(in.getVirtualSystemTypes()).notes(
|
.configurationDataRoot(in.getConfigurationDataRoot())
|
||||||
in.getNotes());
|
.configurationFile(in.getConfigurationFile())
|
||||||
}
|
.configurationID(in.getConfigurationID())
|
||||||
|
.creationTime(in.getCreationTime())
|
||||||
/**
|
.logDataRoot(in.getLogDataRoot())
|
||||||
* {@inheritDoc}
|
.recoveryFile(in.getRecoveryFile())
|
||||||
*/
|
.snapshotDataRoot(in.getSnapshotDataRoot())
|
||||||
@Override
|
.suspendDataRoot(in.getSuspendDataRoot())
|
||||||
public Builder fromManagedElement(ManagedElement in) {
|
.swapFileDataRoot(in.getSwapFileDataRoot())
|
||||||
return Builder.class.cast(super.fromManagedElement(in));
|
.virtualSystemIdentifier(in.getVirtualSystemIdentifier())
|
||||||
}
|
.virtualSystemType(in.getVirtualSystemType())
|
||||||
|
.notes(in.getNotes());
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder caption(String caption) {
|
|
||||||
return Builder.class.cast(super.caption(caption));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder description(String description) {
|
|
||||||
return Builder.class.cast(super.description(description));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder elementName(String elementName) {
|
|
||||||
return Builder.class.cast(super.elementName(elementName));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public Builder instanceID(String instanceID) {
|
|
||||||
return Builder.class.cast(super.instanceID(instanceID));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Action to take for the virtual system when the software executed by the virtual system fails.
|
* Action to take for the virtual system when the software executed by the virtual system fails.
|
||||||
|
*
|
||||||
* Failures in this case means a failure that is detectable by the host platform, such as a
|
* Failures in this case means a failure that is detectable by the host platform, such as a
|
||||||
* non-interuptable wait state condition.
|
* non-interuptable wait state condition.
|
||||||
*/
|
*/
|
||||||
|
@XmlType
|
||||||
|
@XmlEnum(Integer.class)
|
||||||
public static enum AutomaticRecoveryAction {
|
public static enum AutomaticRecoveryAction {
|
||||||
|
|
||||||
NONE(2),
|
@XmlEnumValue("2") NONE(2),
|
||||||
|
@XmlEnumValue("3") RESTART(3),
|
||||||
RESTART(3),
|
@XmlEnumValue("4") REVERT_TO_SNAPSHOT(4);
|
||||||
|
|
||||||
REVERT_TO_SNAPSHOT(4);
|
|
||||||
|
|
||||||
protected final int code;
|
protected final int code;
|
||||||
|
|
||||||
|
@ -256,35 +253,32 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String value() {
|
public String value() {
|
||||||
return code + "";
|
return Integer.toString(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final static Map<Integer, AutomaticRecoveryAction> AUTOMATIC_RECOVERY_ACTION_BY_ID = Maps.uniqueIndex(
|
protected final static Map<Integer, AutomaticRecoveryAction> AUTOMATIC_RECOVERY_ACTION_BY_ID = Maps.uniqueIndex(
|
||||||
ImmutableSet.copyOf(AutomaticRecoveryAction.values()), new Function<AutomaticRecoveryAction, Integer>() {
|
ImmutableSet.copyOf(AutomaticRecoveryAction.values()), new Function<AutomaticRecoveryAction, Integer>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer apply(AutomaticRecoveryAction input) {
|
public Integer apply(AutomaticRecoveryAction input) {
|
||||||
return input.code;
|
return input.code;
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
public static AutomaticRecoveryAction fromValue(String automaticRecoveryAction) {
|
public static AutomaticRecoveryAction fromValue(String automaticRecoveryAction) {
|
||||||
return AUTOMATIC_RECOVERY_ACTION_BY_ID.get(new Integer(checkNotNull(automaticRecoveryAction,
|
return AUTOMATIC_RECOVERY_ACTION_BY_ID.get(Integer.valueOf(checkNotNull(automaticRecoveryAction, "automaticRecoveryAction")));
|
||||||
"automaticRecoveryAction")));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Action to take for the virtual system when the host is shut down.
|
* Action to take for the virtual system when the host is shut down.
|
||||||
*/
|
*/
|
||||||
|
@XmlType
|
||||||
|
@XmlEnum(Integer.class)
|
||||||
public static enum AutomaticShutdownAction {
|
public static enum AutomaticShutdownAction {
|
||||||
|
|
||||||
TURN_OFF(2),
|
@XmlEnumValue("2") TURN_OFF(2),
|
||||||
|
@XmlEnumValue("3") SAVE_STATE(3),
|
||||||
SAVE_STATE(3),
|
@XmlEnumValue("4") SHUTDOWN(4);
|
||||||
|
|
||||||
SHUTDOWN(4);
|
|
||||||
|
|
||||||
protected final int code;
|
protected final int code;
|
||||||
|
|
||||||
|
@ -293,35 +287,32 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String value() {
|
public String value() {
|
||||||
return code + "";
|
return Integer.toString(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final static Map<Integer, AutomaticShutdownAction> AUTOMATIC_SHUTDOWN_ACTION_BY_ID = Maps.uniqueIndex(
|
protected final static Map<Integer, AutomaticShutdownAction> AUTOMATIC_SHUTDOWN_ACTION_BY_ID = Maps.uniqueIndex(
|
||||||
ImmutableSet.copyOf(AutomaticShutdownAction.values()), new Function<AutomaticShutdownAction, Integer>() {
|
ImmutableSet.copyOf(AutomaticShutdownAction.values()), new Function<AutomaticShutdownAction, Integer>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer apply(AutomaticShutdownAction input) {
|
public Integer apply(AutomaticShutdownAction input) {
|
||||||
return input.code;
|
return input.code;
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
public static AutomaticShutdownAction fromValue(String automaticShutdownAction) {
|
public static AutomaticShutdownAction fromValue(String automaticShutdownAction) {
|
||||||
return AUTOMATIC_SHUTDOWN_ACTION_BY_ID.get(new Integer(checkNotNull(automaticShutdownAction,
|
return AUTOMATIC_SHUTDOWN_ACTION_BY_ID.get(Integer.valueOf(checkNotNull(automaticShutdownAction, "automaticShutdownAction")));
|
||||||
"automaticShutdownAction")));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Action to take for the virtual system when the host is started.
|
* Action to take for the virtual system when the host is started.
|
||||||
*/
|
*/
|
||||||
|
@XmlType
|
||||||
|
@XmlEnum(Integer.class)
|
||||||
public static enum AutomaticStartupAction {
|
public static enum AutomaticStartupAction {
|
||||||
|
|
||||||
NONE(2),
|
@XmlEnumValue("2") NONE(2),
|
||||||
|
@XmlEnumValue("3") RESTART_IF_PREVIOUSLY_ACTIVE(3),
|
||||||
RESTART_IF_PREVIOUSLY_ACTIVE(3),
|
@XmlEnumValue("4") ALWAYS_STARTUP(4);
|
||||||
|
|
||||||
ALWAYS_STARTUP(4);
|
|
||||||
|
|
||||||
protected final int code;
|
protected final int code;
|
||||||
|
|
||||||
|
@ -330,51 +321,76 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String value() {
|
public String value() {
|
||||||
return code + "";
|
return Integer.toString(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final static Map<Integer, AutomaticStartupAction> AUTOMATIC_STARTUP_ACTION_BY_ID = Maps.uniqueIndex(
|
protected final static Map<Integer, AutomaticStartupAction> AUTOMATIC_STARTUP_ACTION_BY_ID = Maps.uniqueIndex(
|
||||||
ImmutableSet.copyOf(AutomaticStartupAction.values()), new Function<AutomaticStartupAction, Integer>() {
|
ImmutableSet.copyOf(AutomaticStartupAction.values()), new Function<AutomaticStartupAction, Integer>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer apply(AutomaticStartupAction input) {
|
public Integer apply(AutomaticStartupAction input) {
|
||||||
return input.code;
|
return input.code;
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
public static AutomaticStartupAction fromValue(String automaticStartupAction) {
|
public static AutomaticStartupAction fromValue(String automaticStartupAction) {
|
||||||
return AUTOMATIC_STARTUP_ACTION_BY_ID.get(new Integer(checkNotNull(automaticStartupAction,
|
return AUTOMATIC_STARTUP_ACTION_BY_ID.get(Integer.valueOf(checkNotNull(automaticStartupAction, "automaticStartupAction")));
|
||||||
"automaticStartupAction")));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "ElementName", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
|
protected CimString elementName;
|
||||||
|
@XmlElement(name = "InstanceID", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
|
protected CimString instanceID;
|
||||||
|
@XmlElement(name = "Caption", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
|
protected CimString caption;
|
||||||
|
@XmlElement(name = "Description", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
|
protected CimString description;
|
||||||
|
@XmlElement(name = "VirtualSystemIdentifier", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
|
private CimString virtualSystemIdentifier;
|
||||||
|
@XmlElement(name = "VirtualSystemType", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
|
private CimString virtualSystemType;
|
||||||
|
@XmlElement(name = "AutomaticRecoveryAction", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
private AutomaticRecoveryAction automaticRecoveryAction;
|
private AutomaticRecoveryAction automaticRecoveryAction;
|
||||||
|
@XmlElement(name = "AutomaticShutdownAction", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
private AutomaticShutdownAction automaticShutdownAction;
|
private AutomaticShutdownAction automaticShutdownAction;
|
||||||
|
@XmlElement(name = "AutomaticStartupAction", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
private AutomaticStartupAction automaticStartupAction;
|
private AutomaticStartupAction automaticStartupAction;
|
||||||
private Long automaticStartupActionDelay;
|
@XmlElement(name = "AutomaticStartupActionDelay", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
private Integer automaticStartupActionSequenceNumber;
|
private CimUnsignedLong automaticStartupActionDelay;
|
||||||
private URI configurationDataRoot;
|
@XmlElement(name = "AutomaticStartupActionSequenceNumber", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
private URI configurationFile;
|
private CimUnsignedInt automaticStartupActionSequenceNumber;
|
||||||
private String configurationID;
|
@XmlElement(name = "ConfigurationDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
|
private CimString configurationDataRoot;
|
||||||
|
@XmlElement(name = "ConfigurationFile", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
|
private CimString configurationFile;
|
||||||
|
@XmlElement(name = "ConfigurationID", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
|
private CimString configurationID;
|
||||||
|
@XmlElement(name = "CreationTime", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
private Date creationTime;
|
private Date creationTime;
|
||||||
private URI logDataRoot;
|
@XmlElement(name = "LogDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
private URI recoveryFile;
|
private CimString logDataRoot;
|
||||||
private URI snapshotDataRoot;
|
@XmlElement(name = "RecoveryFile", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
private URI suspendDataRoot;
|
private CimString recoveryFile;
|
||||||
private URI swapFileDataRoot;
|
@XmlElement(name = "SnapshotDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
private String virtualSystemIdentifier;
|
private CimString snapshotDataRoot;
|
||||||
private Set<String> virtualSystemTypes;
|
@XmlElement(name = "SuspendDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
private String notes;
|
private CimString suspendDataRoot;
|
||||||
|
@XmlElement(name = "SwapFileDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
|
private CimString swapFileDataRoot;
|
||||||
|
@XmlElement(name = "Notes", namespace = VCLOUD_CIM_VSSD_NS)
|
||||||
|
private CimString notes;
|
||||||
|
|
||||||
private VirtualSystemSettingData(String elementName, String instanceID, String caption, String description,
|
private VirtualSystemSettingData(CimString elementName, CimString instanceID, CimString caption, CimString description,
|
||||||
AutomaticRecoveryAction automaticRecoveryAction, AutomaticShutdownAction automaticShutdownAction,
|
AutomaticRecoveryAction automaticRecoveryAction, AutomaticShutdownAction automaticShutdownAction,
|
||||||
AutomaticStartupAction automaticStartupAction, Long automaticStartupActionDelay,
|
AutomaticStartupAction automaticStartupAction, CimUnsignedLong automaticStartupActionDelay,
|
||||||
Integer automaticStartupActionSequenceNumber, URI configurationDataRoot, URI configurationFile,
|
CimUnsignedInt automaticStartupActionSequenceNumber, CimString configurationDataRoot, CimString configurationFile,
|
||||||
String configurationID, Date creationTime, URI logDataRoot, URI recoveryFile, URI snapshotDataRoot,
|
CimString configurationID, Date creationTime, CimString logDataRoot, CimString recoveryFile, CimString snapshotDataRoot,
|
||||||
URI suspendDataRoot, URI swapFileDataRoot, String virtualSystemIdentifier,
|
CimString suspendDataRoot, CimString swapFileDataRoot, CimString virtualSystemIdentifier,
|
||||||
Iterable<String> virtualSystemTypes, String notes) {
|
CimString virtualSystemType, CimString notes) {
|
||||||
super(elementName, instanceID, caption, description);
|
this.elementName = elementName;
|
||||||
|
this.instanceID = instanceID;
|
||||||
|
this.caption = caption;
|
||||||
|
this.description = description;
|
||||||
this.automaticRecoveryAction = automaticRecoveryAction;
|
this.automaticRecoveryAction = automaticRecoveryAction;
|
||||||
this.automaticShutdownAction = automaticShutdownAction;
|
this.automaticShutdownAction = automaticShutdownAction;
|
||||||
this.automaticStartupAction = automaticStartupAction;
|
this.automaticStartupAction = automaticStartupAction;
|
||||||
|
@ -390,7 +406,7 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
this.suspendDataRoot = suspendDataRoot;
|
this.suspendDataRoot = suspendDataRoot;
|
||||||
this.swapFileDataRoot = swapFileDataRoot;
|
this.swapFileDataRoot = swapFileDataRoot;
|
||||||
this.virtualSystemIdentifier = virtualSystemIdentifier;
|
this.virtualSystemIdentifier = virtualSystemIdentifier;
|
||||||
this.virtualSystemTypes = ImmutableSet.copyOf(checkNotNull(virtualSystemTypes, "virtualSystemTypes"));
|
this.virtualSystemType = virtualSystemType;
|
||||||
this.notes = notes;
|
this.notes = notes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -398,6 +414,37 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
// for JAXB
|
// for JAXB
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The user-friendly name for this instance of SettingData. In addition, the user-friendly name
|
||||||
|
* can be used as an index property for a search or query. (Note: The name does not have to be
|
||||||
|
* unique within a namespace.)
|
||||||
|
*/
|
||||||
|
public CimString getElementName() {
|
||||||
|
return elementName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Within the scope of the instantiating Namespace, InstanceID opaquely and uniquely identifies
|
||||||
|
* an instance of this class.
|
||||||
|
*/
|
||||||
|
public CimString getInstanceID() {
|
||||||
|
return instanceID;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Caption property is a short textual description (one- line string) of the object.
|
||||||
|
*/
|
||||||
|
public CimString getCaption() {
|
||||||
|
return caption;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Description property provides a textual description of the object.
|
||||||
|
*/
|
||||||
|
public CimString getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Action to take for the virtual system when the software executed by the virtual system fails.
|
* Action to take for the virtual system when the software executed by the virtual system fails.
|
||||||
* Failures in this case means a failure that is detectable by the host platform, such as a
|
* Failures in this case means a failure that is detectable by the host platform, such as a
|
||||||
|
@ -425,7 +472,7 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
* Delay applicable to startup action. The value shall be in the interval variant of the datetime
|
* Delay applicable to startup action. The value shall be in the interval variant of the datetime
|
||||||
* datatype.
|
* datatype.
|
||||||
*/
|
*/
|
||||||
public Long getAutomaticStartupActionDelay() {
|
public CimUnsignedLong getAutomaticStartupActionDelay() {
|
||||||
return automaticStartupActionDelay;
|
return automaticStartupActionDelay;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -435,24 +482,28 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
* same value, the sequence is implementation dependent. A value of 0 indicates that the sequence
|
* same value, the sequence is implementation dependent. A value of 0 indicates that the sequence
|
||||||
* is implementation dependent.
|
* is implementation dependent.
|
||||||
*/
|
*/
|
||||||
public Integer getAutomaticStartupActionSequenceNumber() {
|
public CimUnsignedInt getAutomaticStartupActionSequenceNumber() {
|
||||||
return automaticStartupActionSequenceNumber;
|
return automaticStartupActionSequenceNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filepath of a directory where information about the virtual system configuration is
|
* Filepath of a directory where information about the virtual system configuration is
|
||||||
* stored.Format shall be URI based on RFC 2079.
|
* stored.
|
||||||
|
*
|
||||||
|
* Format shall be CimString based on RFC-2079.
|
||||||
*/
|
*/
|
||||||
public URI getConfigurationDataRoot() {
|
public CimString getConfigurationDataRoot() {
|
||||||
return configurationDataRoot;
|
return configurationDataRoot;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filepath of a file where information about the virtual system configuration is stored. A
|
* Filepath of a file where information about the virtual system configuration is stored.
|
||||||
* relative path appends to the value of the ConfigurationDataRoot property.Format shall be URI
|
*
|
||||||
* based on RFC 2079.
|
* A relative path appends to the value of the {@link #getConfigurationDataRoot()} property.
|
||||||
|
* <p>
|
||||||
|
* Format shall be CimString based on RFC-2079.
|
||||||
*/
|
*/
|
||||||
public URI getConfigurationFile() {
|
public CimString getConfigurationFile() {
|
||||||
return configurationFile;
|
return configurationFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -461,7 +512,7 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
* the InstanceID as it is assigned by the implementation to a virtual system or a virtual system
|
* the InstanceID as it is assigned by the implementation to a virtual system or a virtual system
|
||||||
* configuration. It is not a key, and the same value may occur within more than one instance.
|
* configuration. It is not a key, and the same value may occur within more than one instance.
|
||||||
*/
|
*/
|
||||||
public String getConfigurationID() {
|
public CimString getConfigurationID() {
|
||||||
return configurationID;
|
return configurationID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -473,81 +524,89 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filepath of a directory where log information about the virtual system is stored. A relative
|
* Filepath of a directory where log information about the virtual system is stored.
|
||||||
* path appends to the value of the ConfigurationDataRoot property.Format shall be URI based on
|
*
|
||||||
* RFC 2079.
|
* A relative path appends to the value of the {@link #getConfigurationDataRoot()} property.
|
||||||
|
* <p>
|
||||||
|
* Format shall be CimString based on RFC-2079.
|
||||||
*/
|
*/
|
||||||
public URI getLogDataRoot() {
|
public CimString getLogDataRoot() {
|
||||||
return logDataRoot;
|
return logDataRoot;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filepath of a file where recovery relateded information of the virtual system is stored.Format
|
* Filepath of a file where recovery relateded information of the virtual system is stored.
|
||||||
* shall be URI based on RFC 2079.
|
*
|
||||||
|
* Format shall be CimString based on RFC-2079.
|
||||||
*/
|
*/
|
||||||
public URI getRecoveryFile() {
|
public CimString getRecoveryFile() {
|
||||||
return recoveryFile;
|
return recoveryFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filepath of a directory where information about virtual system snapshots is stored. A relative
|
* Filepath of a directory where information about virtual system snapshots is stored.
|
||||||
* path appends to the value of the ConfigurationDataRoot property.Format shall be URI based on
|
*
|
||||||
* RFC 2079.
|
* A relative path appends to the value of the {@link #getConfigurationDataRoot()} property.
|
||||||
|
* <p>
|
||||||
|
* Format shall be CimString based on RFC-2079.
|
||||||
*/
|
*/
|
||||||
public URI getSnapshotDataRoot() {
|
public CimString getSnapshotDataRoot() {
|
||||||
return snapshotDataRoot;
|
return snapshotDataRoot;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filepath of a directory where suspend related information about the virtual system is stored.
|
* Filepath of a directory where suspend related information about the virtual system is stored.
|
||||||
* A relative path appends to the value of the ConfigurationDataRoot property.Format shall be URI
|
*
|
||||||
* based on RFC 2079.
|
* A relative path appends to the value of the {@link #getConfigurationDataRoot()} property.
|
||||||
|
* <p>
|
||||||
|
* Format shall be CimString based on RFC-2079.
|
||||||
*/
|
*/
|
||||||
public URI getSuspendDataRoot() {
|
public CimString getSuspendDataRoot() {
|
||||||
return suspendDataRoot;
|
return suspendDataRoot;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filepath of a directory where swapfiles of the virtual system are stored. A relative path
|
* Filepath of a directory where swapfiles of the virtual system are stored.
|
||||||
* appends to the value of the ConfigurationDataRoot property.Format shall be URI based on RFC
|
*
|
||||||
* 2079.
|
* A relative path appends to the value of the {@link #getConfigurationDataRoot()} property.
|
||||||
|
* <p>
|
||||||
|
* Format shall be CimString based on RFC-2079.
|
||||||
*/
|
*/
|
||||||
public URI getSwapFileDataRoot() {
|
public CimString getSwapFileDataRoot() {
|
||||||
return swapFileDataRoot;
|
return swapFileDataRoot;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* VirtualSystemIdentifier shall reflect a unique name for the system as it is used within the
|
* VirtualSystemIdentifier shall reflect a unique name for the system as it is used within the
|
||||||
* 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 expresssion) 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 CimString getVirtualSystemIdentifier() {
|
||||||
return virtualSystemIdentifier;
|
return virtualSystemIdentifier;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* VirtualSystemType shall reflect a particular type of virtual system.
|
* VirtualSystemType shall reflect a particular type of virtual system.
|
||||||
*/
|
*/
|
||||||
public Set<String> getVirtualSystemTypes() {
|
public CimString getVirtualSystemType() {
|
||||||
return virtualSystemTypes;
|
return virtualSystemType;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* End-user supplied notes that are related to the virtual system.
|
* End-user supplied notes that are related to the virtual system.
|
||||||
*/
|
*/
|
||||||
public String getNotes() {
|
public CimString getNotes() {
|
||||||
return notes;
|
return notes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
final int prime = 31;
|
return Objects.hashCode(elementName, instanceID, caption, description, virtualSystemIdentifier, virtualSystemType);
|
||||||
int result = super.hashCode();
|
|
||||||
result = prime * result + ((virtualSystemIdentifier == null) ? 0 : virtualSystemIdentifier.hashCode());
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -558,25 +617,23 @@ public class VirtualSystemSettingData extends ManagedElement {
|
||||||
return false;
|
return false;
|
||||||
if (getClass() != obj.getClass())
|
if (getClass() != obj.getClass())
|
||||||
return false;
|
return false;
|
||||||
VirtualSystemSettingData other = (VirtualSystemSettingData) obj;
|
VirtualSystemSettingData that = VirtualSystemSettingData.class.cast(obj);
|
||||||
if (virtualSystemIdentifier == null) {
|
return equal(this.elementName, that.elementName) &&
|
||||||
if (other.virtualSystemIdentifier != null)
|
equal(this.instanceID, that.instanceID) &&
|
||||||
return false;
|
equal(this.caption, that.caption) &&
|
||||||
} else if (!virtualSystemIdentifier.equals(other.virtualSystemIdentifier))
|
equal(this.description, that.description) &&
|
||||||
return false;
|
equal(this.virtualSystemIdentifier, that.virtualSystemIdentifier) &&
|
||||||
return true;
|
equal(this.virtualSystemType, that.virtualSystemType);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return String
|
return Objects.toStringHelper("")
|
||||||
.format(
|
.add("caption", caption)
|
||||||
"[elementName=%s, instanceID=%s, caption=%s, description=%s, automaticRecoveryAction=%s, automaticShutdownAction=%s, automaticStartupAction=%s, automaticStartupActionDelay=%s, automaticStartupActionSequenceNumber=%s, configurationDataRoot=%s, configurationFile=%s, configurationID=%s, creationTime=%s, logDataRoot=%s, notes=%s, recoveryFile=%s, snapshotDataRoot=%s, suspendDataRoot=%s, swapFileDataRoot=%s, virtualSystemIdentifier=%s, virtualSystemTypes=%s]",
|
.add("description", description)
|
||||||
elementName, instanceID, caption, description, automaticRecoveryAction,
|
.add("virtualSystemIdentifier", virtualSystemIdentifier)
|
||||||
automaticShutdownAction, automaticStartupAction, automaticStartupActionDelay,
|
.add("virtualSystemType", virtualSystemType)
|
||||||
automaticStartupActionSequenceNumber, configurationDataRoot, configurationFile,
|
.toString();
|
||||||
configurationID, creationTime, logDataRoot, notes, recoveryFile, snapshotDataRoot,
|
|
||||||
suspendDataRoot, swapFileDataRoot, virtualSystemIdentifier, virtualSystemTypes);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -16,14 +16,26 @@
|
||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
@XmlSchema(namespace = VCLOUD_CIM_NS, elementFormDefault = XmlNsForm.QUALIFIED)
|
@XmlSchema(namespace = VCLOUD_CIM_NS, elementFormDefault = XmlNsForm.QUALIFIED,
|
||||||
|
xmlns = {
|
||||||
|
@XmlNs(prefix = "cim", namespaceURI = VCLOUD_CIM_NS),
|
||||||
|
@XmlNs(prefix = "vssd", namespaceURI = VCLOUD_CIM_VSSD_NS),
|
||||||
|
@XmlNs(prefix = "rasd", namespaceURI = VCLOUD_CIM_RASD_NS),
|
||||||
|
@XmlNs(prefix = "vcloud", namespaceURI = VCLOUD_1_5_NS)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
// http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData
|
||||||
@XmlAccessorType(XmlAccessType.FIELD)
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
package org.jclouds.vcloud.director.v1_5.domain.cim;
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_1_5_NS;
|
||||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_NS;
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_NS;
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_VSSD_NS;
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_RASD_NS;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
import javax.xml.bind.annotation.XmlNs;
|
||||||
import javax.xml.bind.annotation.XmlNsForm;
|
import javax.xml.bind.annotation.XmlNsForm;
|
||||||
import javax.xml.bind.annotation.XmlSchema;
|
import javax.xml.bind.annotation.XmlSchema;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,28 @@
|
||||||
//
|
/*
|
||||||
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
|
* contributor license agreements. See the NOTICE file
|
||||||
// Any modifications to this file will be lost upon recompilation of the source schema.
|
* distributed with this work for additional information
|
||||||
// Generated on: 2012.02.08 at 02:47:44 PM GMT
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
//
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
|
||||||
import javax.xml.bind.annotation.XmlAnyAttribute;
|
import javax.xml.bind.annotation.XmlAnyAttribute;
|
||||||
import javax.xml.bind.annotation.XmlAttribute;
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
import javax.xml.bind.annotation.XmlSchemaType;
|
import javax.xml.bind.annotation.XmlSchemaType;
|
||||||
|
@ -19,11 +30,10 @@ import javax.xml.bind.annotation.XmlSeeAlso;
|
||||||
import javax.xml.bind.annotation.XmlType;
|
import javax.xml.bind.annotation.XmlType;
|
||||||
import javax.xml.namespace.QName;
|
import javax.xml.namespace.QName;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Java class for anonymous complex type.
|
* Java class for anonymous complex type.
|
||||||
*
|
|
||||||
* <p>The following schema fragment specifies the expected content contained within this class.
|
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* <complexType>
|
* <complexType>
|
||||||
|
@ -41,82 +51,51 @@ import javax.xml.namespace.QName;
|
||||||
* </complexContent>
|
* </complexContent>
|
||||||
* </complexType>
|
* </complexType>
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
@XmlType(name = "")
|
@XmlType
|
||||||
@XmlSeeAlso({
|
@XmlSeeAlso({
|
||||||
StartupSectionItem.class
|
StartupSectionItem.class
|
||||||
})
|
})
|
||||||
public class Item {
|
public class Item {
|
||||||
|
|
||||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1", required = true)
|
// TODO Builder
|
||||||
|
|
||||||
|
@XmlAttribute(required = true)
|
||||||
protected String id;
|
protected String id;
|
||||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1", required = true)
|
@XmlAttribute(required = true)
|
||||||
@XmlSchemaType(name = "unsignedShort")
|
@XmlSchemaType(name = "unsignedShort")
|
||||||
protected int order;
|
protected int order;
|
||||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1")
|
@XmlAttribute
|
||||||
@XmlSchemaType(name = "unsignedShort")
|
@XmlSchemaType(name = "unsignedShort")
|
||||||
protected Integer startDelay;
|
protected Integer startDelay;
|
||||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1")
|
@XmlAttribute
|
||||||
protected Boolean waitingForGuest;
|
protected Boolean waitingForGuest;
|
||||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1")
|
@XmlAttribute
|
||||||
@XmlSchemaType(name = "unsignedShort")
|
@XmlSchemaType(name = "unsignedShort")
|
||||||
protected Integer stopDelay;
|
protected Integer stopDelay;
|
||||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1")
|
@XmlAttribute
|
||||||
protected String startAction;
|
protected String startAction;
|
||||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1")
|
@XmlAttribute
|
||||||
protected String stopAction;
|
protected String stopAction;
|
||||||
@XmlAnyAttribute
|
@XmlAnyAttribute
|
||||||
private Map<QName, String> otherAttributes = new HashMap<QName, String>();
|
private Map<QName, String> otherAttributes = new HashMap<QName, String>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the value of the id property.
|
* Gets the value of the id property.
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* possible object is
|
|
||||||
* {@link String }
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public String getId() {
|
public String getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the value of the id property.
|
|
||||||
*
|
|
||||||
* @param value
|
|
||||||
* allowed object is
|
|
||||||
* {@link String }
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public void setId(String value) {
|
|
||||||
this.id = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the value of the order property.
|
* Gets the value of the order property.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public int getOrder() {
|
public int getOrder() {
|
||||||
return order;
|
return order;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the value of the order property.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public void setOrder(int value) {
|
|
||||||
this.order = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the value of the startDelay property.
|
* Gets the value of the startDelay property.
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* possible object is
|
|
||||||
* {@link Integer }
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public int getStartDelay() {
|
public int getStartDelay() {
|
||||||
if (startDelay == null) {
|
if (startDelay == null) {
|
||||||
|
@ -126,25 +105,8 @@ public class Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the value of the startDelay property.
|
|
||||||
*
|
|
||||||
* @param value
|
|
||||||
* allowed object is
|
|
||||||
* {@link Integer }
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public void setStartDelay(Integer value) {
|
|
||||||
this.startDelay = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the value of the waitingForGuest property.
|
* Gets the value of the waitingForGuest property.
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* possible object is
|
|
||||||
* {@link Boolean }
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public boolean isWaitingForGuest() {
|
public boolean isWaitingForGuest() {
|
||||||
if (waitingForGuest == null) {
|
if (waitingForGuest == null) {
|
||||||
|
@ -154,25 +116,8 @@ public class Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the value of the waitingForGuest property.
|
|
||||||
*
|
|
||||||
* @param value
|
|
||||||
* allowed object is
|
|
||||||
* {@link Boolean }
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public void setWaitingForGuest(Boolean value) {
|
|
||||||
this.waitingForGuest = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the value of the stopDelay property.
|
* Gets the value of the stopDelay property.
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* possible object is
|
|
||||||
* {@link Integer }
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public int getStopDelay() {
|
public int getStopDelay() {
|
||||||
if (stopDelay == null) {
|
if (stopDelay == null) {
|
||||||
|
@ -182,25 +127,8 @@ public class Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the value of the stopDelay property.
|
|
||||||
*
|
|
||||||
* @param value
|
|
||||||
* allowed object is
|
|
||||||
* {@link Integer }
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public void setStopDelay(Integer value) {
|
|
||||||
this.stopDelay = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the value of the startAction property.
|
* Gets the value of the startAction property.
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* possible object is
|
|
||||||
* {@link String }
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public String getStartAction() {
|
public String getStartAction() {
|
||||||
if (startAction == null) {
|
if (startAction == null) {
|
||||||
|
@ -210,25 +138,8 @@ public class Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the value of the startAction property.
|
|
||||||
*
|
|
||||||
* @param value
|
|
||||||
* allowed object is
|
|
||||||
* {@link String }
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public void setStartAction(String value) {
|
|
||||||
this.startAction = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the value of the stopAction property.
|
* Gets the value of the stopAction property.
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* possible object is
|
|
||||||
* {@link String }
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public String getStopAction() {
|
public String getStopAction() {
|
||||||
if (stopAction == null) {
|
if (stopAction == null) {
|
||||||
|
@ -238,34 +149,46 @@ public class Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the value of the stopAction property.
|
|
||||||
*
|
|
||||||
* @param value
|
|
||||||
* allowed object is
|
|
||||||
* {@link String }
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public void setStopAction(String value) {
|
|
||||||
this.stopAction = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a map that contains attributes that aren't bound to any typed property on this class.
|
* Gets a map that contains attributes that aren't bound to any typed property on this class.
|
||||||
*
|
|
||||||
* <p>
|
|
||||||
* the map is keyed by the name of the attribute and
|
|
||||||
* the value is the string value of the attribute.
|
|
||||||
*
|
|
||||||
* the map returned by this method is live, and you can add new attribute
|
|
||||||
* by updating the map directly. Because of this design, there's no setter.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
* always non-null
|
|
||||||
*/
|
*/
|
||||||
public Map<QName, String> getOtherAttributes() {
|
public Map<QName, String> getOtherAttributes() {
|
||||||
return otherAttributes;
|
return otherAttributes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hashCode(id, order, startDelay, waitingForGuest, stopDelay, startAction, stopAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (this == obj)
|
||||||
|
return true;
|
||||||
|
if (obj == null)
|
||||||
|
return false;
|
||||||
|
if (getClass() != obj.getClass())
|
||||||
|
return false;
|
||||||
|
Item that = Item.class.cast(obj);
|
||||||
|
return equal(this.id, that.id) &&
|
||||||
|
equal(this.order, that.order) &&
|
||||||
|
equal(this.startDelay, that.startDelay) &&
|
||||||
|
equal(this.waitingForGuest, that.waitingForGuest) &&
|
||||||
|
equal(this.stopDelay, that.stopDelay) &&
|
||||||
|
equal(this.startAction, that.startAction) &&
|
||||||
|
equal(this.stopAction, that.stopAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return Objects.toStringHelper("")
|
||||||
|
.add("id", id)
|
||||||
|
.add("order", order)
|
||||||
|
.add("startDelay", startDelay)
|
||||||
|
.add("waitingForGuest", waitingForGuest)
|
||||||
|
.add("stopDelay", stopDelay)
|
||||||
|
.add("startAction", startAction)
|
||||||
|
.add("stopAction", stopAction)
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||||
import static com.google.common.base.Objects.equal;
|
import static com.google.common.base.Objects.equal;
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_1_5_NS;
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_1_5_NS;
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_VMW_NS;
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_VMW_NS;
|
||||||
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
@ -30,6 +31,7 @@ import java.util.Set;
|
||||||
import javax.xml.bind.annotation.XmlAttribute;
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Link;
|
import org.jclouds.vcloud.director.v1_5.domain.Link;
|
||||||
|
|
||||||
|
@ -44,6 +46,7 @@ import com.google.common.collect.Sets;
|
||||||
* @author Adam Lowe
|
* @author Adam Lowe
|
||||||
*/
|
*/
|
||||||
@XmlRootElement(name = "OperatingSystemSection")
|
@XmlRootElement(name = "OperatingSystemSection")
|
||||||
|
@XmlType
|
||||||
public class OperatingSystemSection extends SectionType {
|
public class OperatingSystemSection extends SectionType {
|
||||||
|
|
||||||
public static Builder<?> builder() {
|
public static Builder<?> builder() {
|
||||||
|
@ -58,7 +61,7 @@ public class OperatingSystemSection extends SectionType {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Builder<B extends Builder<B>> extends SectionType.Builder<B> {
|
public static class Builder<B extends Builder<B>> extends SectionType.Builder<B> {
|
||||||
private Integer id;
|
private int id;
|
||||||
private String description;
|
private String description;
|
||||||
private String version;
|
private String version;
|
||||||
private String osType;
|
private String osType;
|
||||||
|
@ -69,7 +72,7 @@ public class OperatingSystemSection extends SectionType {
|
||||||
/**
|
/**
|
||||||
* @see OperatingSystemSection#getId()
|
* @see OperatingSystemSection#getId()
|
||||||
*/
|
*/
|
||||||
public B id(Integer id) {
|
public B id(int id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
return self();
|
return self();
|
||||||
}
|
}
|
||||||
|
@ -141,16 +144,17 @@ public class OperatingSystemSection extends SectionType {
|
||||||
}
|
}
|
||||||
|
|
||||||
public B fromOperatingSystemSection(OperatingSystemSection in) {
|
public B fromOperatingSystemSection(OperatingSystemSection in) {
|
||||||
return fromSectionType(in).id(in.getId()).version(in.getVersion()).description(in.getDescription())
|
return fromSectionType(in)
|
||||||
|
.id(in.getId()).version(in.getVersion()).description(in.getDescription())
|
||||||
.osType(in.getOsType()).href(in.getHref()).type(in.getType()).links(in.getLinks());
|
.osType(in.getOsType()).href(in.getHref()).type(in.getType()).links(in.getLinks());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@XmlAttribute(required = true)
|
@XmlAttribute(namespace = VCLOUD_OVF_NS, required = true)
|
||||||
protected Integer id;
|
protected int id;
|
||||||
@XmlAttribute
|
@XmlAttribute
|
||||||
protected String version;
|
protected String version;
|
||||||
@XmlElement
|
@XmlElement(name = "Description")
|
||||||
protected String description;
|
protected String description;
|
||||||
@XmlAttribute(namespace = VCLOUD_VMW_NS)
|
@XmlAttribute(namespace = VCLOUD_VMW_NS)
|
||||||
protected String osType;
|
protected String osType;
|
||||||
|
@ -181,7 +185,7 @@ public class OperatingSystemSection extends SectionType {
|
||||||
*
|
*
|
||||||
* @see org.jclouds.vcloud.director.v1_5.domain.cim.OSType#getCode()
|
* @see org.jclouds.vcloud.director.v1_5.domain.cim.OSType#getCode()
|
||||||
*/
|
*/
|
||||||
public Integer getId() {
|
public int getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,7 +234,7 @@ public class OperatingSystemSection extends SectionType {
|
||||||
* @see ResourceType#getLinks()
|
* @see ResourceType#getLinks()
|
||||||
*/
|
*/
|
||||||
public Set<Link> getLinks() {
|
public Set<Link> getLinks() {
|
||||||
return links == null ? ImmutableSet.<Link>of() : Collections.unmodifiableSet(links);
|
return links == null ? Sets.<Link>newLinkedHashSet() : ImmutableSet.copyOf(links);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -18,8 +18,14 @@
|
||||||
*/
|
*/
|
||||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_1_5_NS;
|
||||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlAttribute;
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlSeeAlso;
|
import javax.xml.bind.annotation.XmlSeeAlso;
|
||||||
|
@ -28,11 +34,14 @@ import javax.xml.bind.annotation.XmlType;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.CustomizationSection;
|
import org.jclouds.vcloud.director.v1_5.domain.CustomizationSection;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.GuestCustomizationSection;
|
import org.jclouds.vcloud.director.v1_5.domain.GuestCustomizationSection;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.LeaseSettingsSection;
|
import org.jclouds.vcloud.director.v1_5.domain.LeaseSettingsSection;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.Link;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.NetworkConfigSection;
|
import org.jclouds.vcloud.director.v1_5.domain.NetworkConfigSection;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.NetworkConnectionSection;
|
import org.jclouds.vcloud.director.v1_5.domain.NetworkConnectionSection;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.RuntimeInfoSection;
|
import org.jclouds.vcloud.director.v1_5.domain.RuntimeInfoSection;
|
||||||
|
|
||||||
import com.google.common.base.Objects;
|
import com.google.common.base.Objects;
|
||||||
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Metadata about a virtual machine or grouping of them.
|
* Metadata about a virtual machine or grouping of them.
|
||||||
|
@ -41,6 +50,7 @@ import com.google.common.base.Objects;
|
||||||
*
|
*
|
||||||
* @author Adrian Cole
|
* @author Adrian Cole
|
||||||
* @author Adam Lowe
|
* @author Adam Lowe
|
||||||
|
* @author grkvlt@apache.org
|
||||||
*/
|
*/
|
||||||
@XmlType(name = "Section_Type")
|
@XmlType(name = "Section_Type")
|
||||||
@XmlSeeAlso({
|
@XmlSeeAlso({
|
||||||
|
@ -63,6 +73,7 @@ public abstract class SectionType {
|
||||||
public static abstract class Builder<B extends Builder<B>> {
|
public static abstract class Builder<B extends Builder<B>> {
|
||||||
private String info;
|
private String info;
|
||||||
private Boolean required;
|
private Boolean required;
|
||||||
|
private Set<Link> links = Sets.newLinkedHashSet();
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
protected B self() {
|
protected B self() {
|
||||||
|
@ -103,19 +114,40 @@ public abstract class SectionType {
|
||||||
return self();
|
return self();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
public B links(Set<Link> links) {
|
||||||
|
this.links = Sets.newLinkedHashSet(checkNotNull(links, "links"));
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see ResourceType#getLinks()
|
||||||
|
*/
|
||||||
|
public B link(Link link) {
|
||||||
|
if (links == null)
|
||||||
|
links = Sets.newLinkedHashSet();
|
||||||
|
this.links.add(checkNotNull(link, "link"));
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
public B fromSectionType(SectionType in) {
|
public B fromSectionType(SectionType in) {
|
||||||
return info(in.getInfo()).required(in.isRequired());
|
return info(in.getInfo()).required(in.isRequired()).links(Sets.newLinkedHashSet(in.getLinks()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@XmlElement(name = "Info")
|
@XmlElement(name = "Info", required = true)
|
||||||
private String info;
|
private String info;
|
||||||
@XmlAttribute(namespace = VCLOUD_OVF_NS)
|
@XmlAttribute(namespace = VCLOUD_OVF_NS)
|
||||||
private Boolean required;
|
private Boolean required;
|
||||||
|
@XmlElement(name = "Link", namespace = VCLOUD_1_5_NS)
|
||||||
|
private Set<Link> links = Sets.newLinkedHashSet();
|
||||||
|
|
||||||
protected SectionType(Builder<?> builder) {
|
protected SectionType(Builder<?> builder) {
|
||||||
this.info = builder.info;
|
this.info = builder.info;
|
||||||
this.required = builder.required;
|
this.required = builder.required;
|
||||||
|
this.links = builder.links != null ? ImmutableSet.copyOf(builder.links) : Collections.<Link>emptySet();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected SectionType() {
|
protected SectionType() {
|
||||||
|
@ -139,9 +171,16 @@ public abstract class SectionType {
|
||||||
return required;
|
return required;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set of optional links to an entity or operation associated with this object.
|
||||||
|
*/
|
||||||
|
public Set<Link> getLinks() {
|
||||||
|
return links != null ? ImmutableSet.copyOf(links) : Collections.<Link>emptySet();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hashCode(info, required);
|
return Objects.hashCode(info, required, links);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -153,7 +192,7 @@ public abstract class SectionType {
|
||||||
if (getClass() != obj.getClass())
|
if (getClass() != obj.getClass())
|
||||||
return false;
|
return false;
|
||||||
SectionType other = (SectionType) obj;
|
SectionType other = (SectionType) obj;
|
||||||
return Objects.equal(this.info, other.info) && Objects.equal(this.required, other.required);
|
return equal(this.info, other.info) && equal(this.required, other.required) && equal(this.links, other.links);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -162,7 +201,7 @@ public abstract class SectionType {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Objects.ToStringHelper string() {
|
protected Objects.ToStringHelper string() {
|
||||||
return Objects.toStringHelper("").add("info", info).add("required", required);
|
return Objects.toStringHelper("").add("info", info).add("required", required).add("links", links);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -24,13 +24,13 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlAnyElement;
|
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
|
||||||
import com.google.common.base.Objects;
|
import com.google.common.base.Objects;
|
||||||
import com.google.common.base.Objects.ToStringHelper;
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies the order in which entities in a VirtualSystemCollection are powered on and shut down
|
* Specifies the order in which entities in a VirtualSystemCollection are powered on and shut down
|
||||||
|
@ -55,8 +55,7 @@ public class StartupSection extends SectionType {
|
||||||
|
|
||||||
public static class Builder<B extends Builder<B>> extends SectionType.Builder<B> {
|
public static class Builder<B extends Builder<B>> extends SectionType.Builder<B> {
|
||||||
|
|
||||||
private List<StartupSectionItem> items = Collections.emptyList();
|
private List<StartupSectionItem> items = Lists.newArrayList();
|
||||||
private List<Object> any = Collections.emptyList();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see StartupSection#getItem()
|
* @see StartupSection#getItem()
|
||||||
|
@ -74,28 +73,18 @@ public class StartupSection extends SectionType {
|
||||||
return self();
|
return self();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @see StartupSection#getAny()
|
|
||||||
*/
|
|
||||||
public B any(List<Object> any) {
|
|
||||||
this.any = any;
|
|
||||||
return self();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StartupSection build() {
|
public StartupSection build() {
|
||||||
return new StartupSection(this);
|
return new StartupSection(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public B fromStartupSection(StartupSection in) {
|
public B fromStartupSection(StartupSection in) {
|
||||||
return fromSectionType(in).items(items).any(any);
|
return fromSectionType(in).items(in.getItems());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@XmlElement(name = "Item")
|
@XmlElement(name = "Item")
|
||||||
private List<StartupSectionItem> items;
|
private List<StartupSectionItem> items = Lists.newArrayList();
|
||||||
@XmlAnyElement(lax = true)
|
|
||||||
private List<Object> any;
|
|
||||||
|
|
||||||
protected StartupSection() {
|
protected StartupSection() {
|
||||||
// For JAXB
|
// For JAXB
|
||||||
|
@ -104,23 +93,15 @@ public class StartupSection extends SectionType {
|
||||||
public StartupSection(Builder<?> builder) {
|
public StartupSection(Builder<?> builder) {
|
||||||
super(builder);
|
super(builder);
|
||||||
this.items = (items != null) ? ImmutableList.<StartupSectionItem>copyOf(builder.items) : Collections.<StartupSectionItem>emptyList();
|
this.items = (items != null) ? ImmutableList.<StartupSectionItem>copyOf(builder.items) : Collections.<StartupSectionItem>emptyList();
|
||||||
this.any = (any != null) ? ImmutableList.<Object>copyOf(builder.any) : Collections.<Object>emptyList();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the value of the item property.
|
* Gets the value of the item property.
|
||||||
*/
|
*/
|
||||||
public List<StartupSectionItem> getItem() {
|
public List<StartupSectionItem> getItems() {
|
||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the value of the any property.
|
|
||||||
*/
|
|
||||||
public List<Object> getAny() {
|
|
||||||
return any;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object o) {
|
public boolean equals(Object o) {
|
||||||
if (this == o)
|
if (this == o)
|
||||||
|
@ -128,17 +109,16 @@ public class StartupSection extends SectionType {
|
||||||
if (o == null || getClass() != o.getClass())
|
if (o == null || getClass() != o.getClass())
|
||||||
return false;
|
return false;
|
||||||
StartupSection that = StartupSection.class.cast(o);
|
StartupSection that = StartupSection.class.cast(o);
|
||||||
return super.equals(that) &&
|
return super.equals(that) && equal(this.items, that.items);
|
||||||
equal(this.items, that.items) && equal(this.any, that.any);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hashCode(super.hashCode(), items, any);
|
return Objects.hashCode(super.hashCode(), items);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ToStringHelper string() {
|
public ToStringHelper string() {
|
||||||
return super.string().add("items", items).add("any", any);
|
return super.string().add("items", items);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,28 @@
|
||||||
//
|
/*
|
||||||
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6
|
* Licensed to jclouds, Inc. (jclouds) under one or more
|
||||||
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
|
* contributor license agreements. See the NOTICE file
|
||||||
// Any modifications to this file will be lost upon recompilation of the source schema.
|
* distributed with this work for additional information
|
||||||
// Generated on: 2012.02.08 at 02:47:44 PM GMT
|
* regarding copyright ownership. jclouds licenses this file
|
||||||
//
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
import javax.xml.bind.annotation.XmlType;
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Java class for Item element declaration.
|
* Java class for Item element declaration.
|
||||||
*
|
|
||||||
* <p>The following schema fragment specifies the expected content contained within this class.
|
|
||||||
*
|
*
|
||||||
* <pre>
|
* <pre>
|
||||||
* <element name="Item">
|
* <element name="Item">
|
||||||
|
@ -37,12 +42,23 @@ import javax.xml.bind.annotation.XmlType;
|
||||||
* </complexType>
|
* </complexType>
|
||||||
* </element>
|
* </element>
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
@XmlType(name = "")
|
@XmlType
|
||||||
@XmlRootElement(name = "Item")
|
@XmlRootElement(name = "Item")
|
||||||
public class StartupSectionItem extends Item {
|
public class StartupSectionItem extends Item {
|
||||||
|
|
||||||
|
// TODO Builder
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (this == obj)
|
||||||
|
return true;
|
||||||
|
if (obj == null)
|
||||||
|
return false;
|
||||||
|
if (getClass() != obj.getClass())
|
||||||
|
return false;
|
||||||
|
StartupSectionItem that = StartupSectionItem.class.cast(obj);
|
||||||
|
return super.equals(that);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,15 +18,21 @@
|
||||||
*/
|
*/
|
||||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||||
|
|
||||||
|
import static com.google.common.base.Objects.equal;
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
import javax.xml.bind.annotation.XmlType;
|
||||||
|
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.cim.ResourceAllocationSettingData;
|
import org.jclouds.vcloud.director.v1_5.domain.cim.ResourceAllocationSettingData;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.cim.VirtualSystemSettingData;
|
import org.jclouds.vcloud.director.v1_5.domain.cim.VirtualSystemSettingData;
|
||||||
|
|
||||||
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Objects;
|
import com.google.common.base.Objects;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
@ -40,8 +46,10 @@ import com.google.common.collect.Sets;
|
||||||
*
|
*
|
||||||
* @author Adrian Cole
|
* @author Adrian Cole
|
||||||
* @author Adam Lowe
|
* @author Adam Lowe
|
||||||
|
* @author grkvlt@apache.org
|
||||||
*/
|
*/
|
||||||
@XmlRootElement(name = "VirtualHardwareSection")
|
@XmlRootElement(name = "VirtualHardwareSection")
|
||||||
|
@XmlType(name = "VirtualHardwareSection_Type")
|
||||||
public class VirtualHardwareSection extends SectionType {
|
public class VirtualHardwareSection extends SectionType {
|
||||||
|
|
||||||
public static Builder<?> builder() {
|
public static Builder<?> builder() {
|
||||||
|
@ -56,8 +64,9 @@ public class VirtualHardwareSection extends SectionType {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Builder<B extends Builder<B>> extends SectionType.Builder<B> {
|
public static class Builder<B extends Builder<B>> extends SectionType.Builder<B> {
|
||||||
|
|
||||||
protected VirtualSystemSettingData virtualSystem;
|
protected VirtualSystemSettingData virtualSystem;
|
||||||
protected Set<String> transports = Sets.newLinkedHashSet();
|
protected String transport;
|
||||||
protected Set<ResourceAllocationSettingData> items = Sets.newLinkedHashSet();
|
protected Set<ResourceAllocationSettingData> items = Sets.newLinkedHashSet();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -69,23 +78,31 @@ public class VirtualHardwareSection extends SectionType {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see VirtualHardwareSection#getTransports
|
* @see VirtualHardwareSection#getTransport()
|
||||||
*/
|
*/
|
||||||
public B transport(String transport) {
|
public B transport(String transport) {
|
||||||
this.transports.add(checkNotNull(transport, "transport"));
|
this.transport = transport;
|
||||||
return self();
|
return self();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see VirtualHardwareSection#getTransports
|
* @see VirtualHardwareSection#getTransport()
|
||||||
*/
|
*/
|
||||||
public B transports(Iterable<String> transports) {
|
public B transport(Iterable<String> transports) {
|
||||||
this.transports = ImmutableSet.<String>copyOf(checkNotNull(transports, "transports"));
|
this.transport = Joiner.on(',').join(transports);
|
||||||
return self();
|
return self();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see VirtualHardwareSection#getItems
|
* @see VirtualHardwareSection#getTransport()
|
||||||
|
*/
|
||||||
|
public B transport(String...transports) {
|
||||||
|
this.transport = Joiner.on(',').join(transports);
|
||||||
|
return self();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see VirtualHardwareSection#getItems()
|
||||||
*/
|
*/
|
||||||
public B item(ResourceAllocationSettingData item) {
|
public B item(ResourceAllocationSettingData item) {
|
||||||
this.items.add(checkNotNull(item, "item"));
|
this.items.add(checkNotNull(item, "item"));
|
||||||
|
@ -93,11 +110,10 @@ public class VirtualHardwareSection extends SectionType {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see VirtualHardwareSection#getItems
|
* @see VirtualHardwareSection#getItems()
|
||||||
*/
|
*/
|
||||||
public B items(Iterable<? extends ResourceAllocationSettingData> items) {
|
public B items(Iterable<? extends ResourceAllocationSettingData> items) {
|
||||||
this.items = ImmutableSet.<ResourceAllocationSettingData>copyOf(checkNotNull(
|
this.items = Sets.newLinkedHashSet(checkNotNull(items, "items"));
|
||||||
items, "items"));
|
|
||||||
return self();
|
return self();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,20 +126,25 @@ public class VirtualHardwareSection extends SectionType {
|
||||||
}
|
}
|
||||||
|
|
||||||
public B fromVirtualHardwareSection(VirtualHardwareSection in) {
|
public B fromVirtualHardwareSection(VirtualHardwareSection in) {
|
||||||
return fromSectionType(in).items(in.getItems()).transports(in.getTransports()).system(
|
return fromSectionType(in)
|
||||||
in.getSystem()).info(in.getInfo());
|
.items(in.getItems())
|
||||||
|
.transport(in.getTransport())
|
||||||
|
.system(in.getSystem());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "System")
|
||||||
private VirtualSystemSettingData virtualSystem;
|
private VirtualSystemSettingData virtualSystem;
|
||||||
private Set<String> transports;
|
@XmlAttribute(name = "transport")
|
||||||
private Set<ResourceAllocationSettingData> items;
|
private String transport;
|
||||||
|
@XmlElement(name = "Item")
|
||||||
|
private Set<ResourceAllocationSettingData> items = Sets.newLinkedHashSet();
|
||||||
|
|
||||||
private VirtualHardwareSection(Builder<?> builder) {
|
private VirtualHardwareSection(Builder<?> builder) {
|
||||||
super(builder);
|
super(builder);
|
||||||
this.virtualSystem = builder.virtualSystem;
|
this.virtualSystem = builder.virtualSystem;
|
||||||
this.transports = ImmutableSet.<String>copyOf(checkNotNull(builder.transports, "transports"));
|
this.transport = builder.transport;
|
||||||
this.items = ImmutableSet.<ResourceAllocationSettingData>copyOf(checkNotNull(builder.items, "items"));
|
this.items = builder.items != null ? ImmutableSet.copyOf(builder.items) : Collections.<ResourceAllocationSettingData>emptySet();
|
||||||
}
|
}
|
||||||
|
|
||||||
private VirtualHardwareSection() {
|
private VirtualHardwareSection() {
|
||||||
|
@ -131,9 +152,11 @@ public class VirtualHardwareSection extends SectionType {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* transport types define methods by which the environment document is communicated from the
|
* Comma-separated list of supported transports types for the OVF descriptor.
|
||||||
|
*
|
||||||
|
* Transport types define methods by which the environment document is communicated from the
|
||||||
* deployment platform to the guest software.
|
* deployment platform to the guest software.
|
||||||
* <p/>
|
* <p>
|
||||||
* To enable interoperability, this specification defines an "iso" transport type which all
|
* To enable interoperability, this specification defines an "iso" transport type which all
|
||||||
* implementations that support CD-ROM devices are required to support. The iso transport
|
* implementations that support CD-ROM devices are required to support. The iso transport
|
||||||
* communicates the environment 1346 document by making a dynamically generated ISO image
|
* communicates the environment 1346 document by making a dynamically generated ISO image
|
||||||
|
@ -141,14 +164,14 @@ public class VirtualHardwareSection extends SectionType {
|
||||||
* machine, an implementation shall make an ISO 9660 read-only disk image available as backing
|
* machine, an implementation shall make an ISO 9660 read-only disk image available as backing
|
||||||
* for a disconnected CD-ROM. If the iso transport is selected for a VirtualHardwareSection, at
|
* for a disconnected CD-ROM. If the iso transport is selected for a VirtualHardwareSection, at
|
||||||
* least one disconnected CD-ROM device shall be present in this section.
|
* least one disconnected CD-ROM device shall be present in this section.
|
||||||
* <p/>
|
* <p>
|
||||||
* Support for the "iso" transport type is not a requirement for virtual hardware architectures
|
* Support for the "iso" transport type is not a requirement for virtual hardware architectures
|
||||||
* or guest 1351 operating systems which do not have CD-ROM device support.
|
* or guest 1351 operating systems which do not have CD-ROM device support.
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Set<String> getTransports() {
|
public String getTransport() {
|
||||||
return transports;
|
return transport;
|
||||||
}
|
}
|
||||||
|
|
||||||
public VirtualSystemSettingData getSystem() {
|
public VirtualSystemSettingData getSystem() {
|
||||||
|
@ -161,7 +184,7 @@ public class VirtualHardwareSection extends SectionType {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hashCode(super.hashCode(), transports, virtualSystem, items);
|
return Objects.hashCode(super.hashCode(), transport, virtualSystem, items);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -169,15 +192,15 @@ public class VirtualHardwareSection extends SectionType {
|
||||||
if (this == obj) return true;
|
if (this == obj) return true;
|
||||||
if (obj == null) return false;
|
if (obj == null) return false;
|
||||||
if (getClass() != obj.getClass()) return false;
|
if (getClass() != obj.getClass()) return false;
|
||||||
|
VirtualHardwareSection that = VirtualHardwareSection.class.cast(obj);
|
||||||
VirtualHardwareSection other = (VirtualHardwareSection) obj;
|
return super.equals(that) &&
|
||||||
return super.equals(other) && Objects.equal(transports, other.transports)
|
equal(this.transport, that.transport) &&
|
||||||
&& Objects.equal(virtualSystem, other.virtualSystem)
|
equal(this.virtualSystem, that.virtualSystem) &&
|
||||||
&& Objects.equal(items, other.items);
|
equal(this.items, that.items);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Objects.ToStringHelper string() {
|
protected Objects.ToStringHelper string() {
|
||||||
return super.string().add("transports", transports).add("virtualSystem", virtualSystem).add("items", items);
|
return super.string().add("transport", transport).add("virtualSystem", virtualSystem).add("items", items);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -19,14 +19,18 @@
|
||||||
@XmlSchema(namespace = VCLOUD_OVF_NS,
|
@XmlSchema(namespace = VCLOUD_OVF_NS,
|
||||||
elementFormDefault = XmlNsForm.QUALIFIED,
|
elementFormDefault = XmlNsForm.QUALIFIED,
|
||||||
xmlns = {
|
xmlns = {
|
||||||
@XmlNs(prefix = "cim", namespaceURI = VCLOUD_CIM_NS)
|
@XmlNs(prefix = "cim", namespaceURI = VCLOUD_CIM_NS),
|
||||||
|
@XmlNs(prefix = "vmv", namespaceURI = VCLOUD_VMW_NS),
|
||||||
|
@XmlNs(prefix = "vcloud", namespaceURI = VCLOUD_1_5_NS)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@XmlAccessorType(XmlAccessType.FIELD)
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
package org.jclouds.vcloud.director.v1_5.domain.ovf;
|
||||||
|
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_1_5_NS;
|
||||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_NS;
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_NS;
|
||||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_OVF_NS;
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_VMW_NS;
|
||||||
|
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
|
|
@ -403,7 +403,7 @@ public interface VAppAsyncClient {
|
||||||
*/
|
*/
|
||||||
@PUT
|
@PUT
|
||||||
@Path("/networkConnectionSection")
|
@Path("/networkConnectionSection")
|
||||||
@Produces(NETWORK_CONFIG_SECTION)
|
@Produces(NETWORK_CONNECTION_SECTION)
|
||||||
@Consumes(TASK)
|
@Consumes(TASK)
|
||||||
@JAXBResponseParser
|
@JAXBResponseParser
|
||||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||||
|
|
|
@ -25,7 +25,7 @@ public class VCloudDirectorLiveTestConstants {
|
||||||
|
|
||||||
/* regular expressions for pattern matching */
|
/* regular expressions for pattern matching */
|
||||||
|
|
||||||
public static final String MAC_ADDRESS_PATTERN = "^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$";
|
public static final String MAC_ADDRESS_PATTERN = "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$";
|
||||||
|
|
||||||
/* Error code 200 indicates success. */
|
/* Error code 200 indicates success. */
|
||||||
|
|
||||||
|
|
|
@ -598,6 +598,25 @@ public class Checks {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void checkVmPendingQuestion(VmPendingQuestion question) {
|
||||||
|
// Check required fields
|
||||||
|
assertNotNull(question.getQuestion(), String.format(OBJ_FIELD_REQ, "VmPendingQuestion", "Question"));
|
||||||
|
assertNotNull(question.getQuestionId(), String.format(OBJ_FIELD_REQ, "VmPendingQuestion", "QuestionId"));
|
||||||
|
for (VmQuestionAnswerChoice choice : question.getChoices()) {
|
||||||
|
checkVmQuestionAnswerChoice(choice);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check parent type
|
||||||
|
checkResourceType(question);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkVmQuestionAnswerChoice(VmQuestionAnswerChoice choice) {
|
||||||
|
assertNotNull(choice, String.format(NOT_NULL_OBJ_FMT, "VmQuestionAnswerChoice"));
|
||||||
|
|
||||||
|
// NOTE the Id field cannot be checked
|
||||||
|
// NOTE the Text field cannot be checked
|
||||||
|
}
|
||||||
|
|
||||||
public static void checkVApp(VApp vApp) {
|
public static void checkVApp(VApp vApp) {
|
||||||
// Check optional fields
|
// Check optional fields
|
||||||
Owner owner = vApp.getOwner();
|
Owner owner = vApp.getOwner();
|
||||||
|
@ -727,11 +746,7 @@ public class Checks {
|
||||||
// Check optional fields
|
// Check optional fields
|
||||||
VirtualSystemSettingData virtualSystem = hardware.getSystem();
|
VirtualSystemSettingData virtualSystem = hardware.getSystem();
|
||||||
if (virtualSystem != null) checkVirtualSystemSettingData(virtualSystem);
|
if (virtualSystem != null) checkVirtualSystemSettingData(virtualSystem);
|
||||||
if (hardware.getTransports() != null) {
|
|
||||||
for (String transport : hardware.getTransports()) {
|
|
||||||
// NOTE transport cannot be checked
|
// NOTE transport cannot be checked
|
||||||
}
|
|
||||||
}
|
|
||||||
if (hardware.getItems() != null) {
|
if (hardware.getItems() != null) {
|
||||||
for (ResourceAllocationSettingData item : hardware.getItems()) {
|
for (ResourceAllocationSettingData item : hardware.getItems()) {
|
||||||
checkResourceAllocationSettingData(item);
|
checkResourceAllocationSettingData(item);
|
||||||
|
|
|
@ -28,6 +28,7 @@ import static org.testng.Assert.assertTrue;
|
||||||
import static org.testng.Assert.assertFalse;
|
import static org.testng.Assert.assertFalse;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.math.BigInteger;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
@ -44,8 +45,10 @@ import org.jclouds.vcloud.director.v1_5.domain.VApp;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.VAppTemplate;
|
import org.jclouds.vcloud.director.v1_5.domain.VAppTemplate;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Vdc;
|
import org.jclouds.vcloud.director.v1_5.domain.Vdc;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Vm;
|
import org.jclouds.vcloud.director.v1_5.domain.Vm;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.cim.CimBoolean;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.cim.CimString;
|
import org.jclouds.vcloud.director.v1_5.domain.cim.CimString;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.cim.CimUnsignedInt;
|
import org.jclouds.vcloud.director.v1_5.domain.cim.CimUnsignedInt;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.cim.CimUnsignedLong;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.RASD;
|
import org.jclouds.vcloud.director.v1_5.domain.ovf.RASD;
|
||||||
import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorClientLiveTest;
|
import org.jclouds.vcloud.director.v1_5.internal.BaseVCloudDirectorClientLiveTest;
|
||||||
import org.jclouds.vcloud.director.v1_5.predicates.ReferenceTypePredicates;
|
import org.jclouds.vcloud.director.v1_5.predicates.ReferenceTypePredicates;
|
||||||
|
@ -223,12 +226,24 @@ public abstract class AbstractVAppClientLiveTest extends BaseVCloudDirectorClien
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected static CimBoolean cimBoolean(boolean val) {
|
||||||
|
CimBoolean result = new CimBoolean();
|
||||||
|
result.setValue(val);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
protected static CimUnsignedInt cimUnsignedInt(long val) {
|
protected static CimUnsignedInt cimUnsignedInt(long val) {
|
||||||
CimUnsignedInt result = new CimUnsignedInt();
|
CimUnsignedInt result = new CimUnsignedInt();
|
||||||
result.setValue(val);
|
result.setValue(val);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected static CimUnsignedLong cimUnsignedLong(BigInteger val) {
|
||||||
|
CimUnsignedLong result = new CimUnsignedLong();
|
||||||
|
result.setValue(val);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
protected static CimString cimString(String value) {
|
protected static CimString cimString(String value) {
|
||||||
return new CimString(value);
|
return new CimString(value);
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,14 +44,18 @@ import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkScreenTicket;
|
||||||
import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkStartupSection;
|
import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkStartupSection;
|
||||||
import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkVApp;
|
import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkVApp;
|
||||||
import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkVirtualHardwareSection;
|
import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkVirtualHardwareSection;
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.domain.Checks.checkVmPendingQuestion;
|
||||||
import static org.testng.Assert.assertEquals;
|
import static org.testng.Assert.assertEquals;
|
||||||
import static org.testng.Assert.assertFalse;
|
import static org.testng.Assert.assertFalse;
|
||||||
import static org.testng.Assert.assertNotNull;
|
import static org.testng.Assert.assertNotNull;
|
||||||
import static org.testng.Assert.assertTrue;
|
import static org.testng.Assert.assertTrue;
|
||||||
import static org.testng.Assert.fail;
|
import static org.testng.Assert.fail;
|
||||||
|
|
||||||
|
import java.math.BigInteger;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.UUID;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.jclouds.vcloud.director.v1_5.VCloudDirectorException;
|
import org.jclouds.vcloud.director.v1_5.VCloudDirectorException;
|
||||||
|
@ -67,6 +71,8 @@ import org.jclouds.vcloud.director.v1_5.domain.Metadata;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.MetadataEntry;
|
import org.jclouds.vcloud.director.v1_5.domain.MetadataEntry;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.MetadataValue;
|
import org.jclouds.vcloud.director.v1_5.domain.MetadataValue;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.NetworkConfigSection;
|
import org.jclouds.vcloud.director.v1_5.domain.NetworkConfigSection;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.NetworkConnection;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.NetworkConnection.IpAddressAllocationMode;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.NetworkConnectionSection;
|
import org.jclouds.vcloud.director.v1_5.domain.NetworkConnectionSection;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.Owner;
|
import org.jclouds.vcloud.director.v1_5.domain.Owner;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.ProductSectionList;
|
import org.jclouds.vcloud.director.v1_5.domain.ProductSectionList;
|
||||||
|
@ -81,6 +87,9 @@ import org.jclouds.vcloud.director.v1_5.domain.Task;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.UndeployVAppParams;
|
import org.jclouds.vcloud.director.v1_5.domain.UndeployVAppParams;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.VApp;
|
import org.jclouds.vcloud.director.v1_5.domain.VApp;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.VmPendingQuestion;
|
import org.jclouds.vcloud.director.v1_5.domain.VmPendingQuestion;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.cim.OSType;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.cim.ResourceAllocationSettingData;
|
||||||
|
import org.jclouds.vcloud.director.v1_5.domain.cim.ResourceAllocationSettingData.ResourceType;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.MsgType;
|
import org.jclouds.vcloud.director.v1_5.domain.ovf.MsgType;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.NetworkSection;
|
import org.jclouds.vcloud.director.v1_5.domain.ovf.NetworkSection;
|
||||||
import org.jclouds.vcloud.director.v1_5.domain.ovf.OperatingSystemSection;
|
import org.jclouds.vcloud.director.v1_5.domain.ovf.OperatingSystemSection;
|
||||||
|
@ -93,6 +102,9 @@ import org.jclouds.vcloud.director.v1_5.domain.query.QueryResultRecords;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
|
import com.google.common.base.Optional;
|
||||||
|
import com.google.common.base.Predicate;
|
||||||
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
|
|
||||||
|
@ -349,7 +361,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
assertFalse(vApp.isInMaintenanceMode(), String.format(CONDITION_FMT, "InMaintenanceMode", "FALSE", vApp.isInMaintenanceMode()));
|
assertFalse(vApp.isInMaintenanceMode(), String.format(CONDITION_FMT, "InMaintenanceMode", "FALSE", vApp.isInMaintenanceMode()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(testName = "POST /vApp/{id}/action/installVMwareTools", dependsOnMethods = { "testGetVApp" })
|
@Test(testName = "POST /vApp/{id}/action/installVMwareTools", dependsOnMethods = { "testPowerOnVApp" })
|
||||||
public void testInstallVMwareTools() {
|
public void testInstallVMwareTools() {
|
||||||
// The method under test
|
// The method under test
|
||||||
Task installVMwareTools = vAppClient.installVMwareTools(vApp.getHref());
|
Task installVMwareTools = vAppClient.installVMwareTools(vApp.getHref());
|
||||||
|
@ -416,6 +428,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
GuestCustomizationSection oldSection = vAppClient.getGuestCustomizationSection(vmURI);
|
GuestCustomizationSection oldSection = vAppClient.getGuestCustomizationSection(vmURI);
|
||||||
GuestCustomizationSection newSection = oldSection.toBuilder()
|
GuestCustomizationSection newSection = oldSection.toBuilder()
|
||||||
.computerName("newComputerName")
|
.computerName("newComputerName")
|
||||||
|
.enabled(Boolean.FALSE)
|
||||||
.adminPassword(null) // Not allowed
|
.adminPassword(null) // Not allowed
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
@ -431,6 +444,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
|
|
||||||
// Check the modified section fields are set correctly
|
// Check the modified section fields are set correctly
|
||||||
assertEquals(modified.getComputerName(), newSection.getComputerName());
|
assertEquals(modified.getComputerName(), newSection.getComputerName());
|
||||||
|
assertFalse(modified.isEnabled());
|
||||||
|
|
||||||
// Reset the admin password in the retrieved GuestCustomizationSection for equality check
|
// Reset the admin password in the retrieved GuestCustomizationSection for equality check
|
||||||
modified = modified.toBuilder().adminPassword(null).build();
|
modified = modified.toBuilder().adminPassword(null).build();
|
||||||
|
@ -567,15 +581,23 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIXME "Task error: Unable to perform this action. Contact your cloud administrator."
|
||||||
@Test(testName = "PUT /vApp/{id}/networkConnectionSection", dependsOnMethods = { "testGetNetworkConnectionSection" })
|
@Test(testName = "PUT /vApp/{id}/networkConnectionSection", dependsOnMethods = { "testGetNetworkConnectionSection" })
|
||||||
public void testModifyNetworkConnectionSection() {
|
public void testModifyNetworkConnectionSection() {
|
||||||
// Get URI for child VM
|
// Get URI for child VM
|
||||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||||
|
|
||||||
|
// Look up a network in the Vdc
|
||||||
|
Set<Reference> networks = vdc.getAvailableNetworks().getNetworks();
|
||||||
|
Reference network = Iterables.getLast(networks);
|
||||||
|
|
||||||
// Copy existing section and update fields
|
// Copy existing section and update fields
|
||||||
NetworkConnectionSection oldSection = vAppClient.getNetworkConnectionSection(vmURI);
|
NetworkConnectionSection oldSection = vAppClient.getNetworkConnectionSection(vmURI);
|
||||||
NetworkConnectionSection newSection = oldSection.toBuilder()
|
NetworkConnectionSection newSection = oldSection.toBuilder()
|
||||||
.info("Changed NetworkConnectionSection Info")
|
.networkConnection(NetworkConnection.builder()
|
||||||
|
.ipAddressAllocationMode(IpAddressAllocationMode.DHCP.toString())
|
||||||
|
.network(network.getName())
|
||||||
|
.build())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
// The method under test
|
// The method under test
|
||||||
|
@ -588,8 +610,8 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
// Check the retrieved object is well formed
|
// Check the retrieved object is well formed
|
||||||
checkNetworkConnectionSection(modified);
|
checkNetworkConnectionSection(modified);
|
||||||
|
|
||||||
// Check the modified section fields are set correctly
|
// Check the modified section has an extra network connection
|
||||||
assertEquals(modified.getInfo(), newSection.getInfo());
|
assertEquals(modified.getNetworkConnections().size(), newSection.getNetworkConnections().size() + 1);
|
||||||
|
|
||||||
// Check the section was modified correctly
|
// Check the section was modified correctly
|
||||||
assertEquals(modified, newSection, String.format(ENTITY_EQUAL, "NetworkConnectionSection"));
|
assertEquals(modified, newSection, String.format(ENTITY_EQUAL, "NetworkConnectionSection"));
|
||||||
|
@ -621,13 +643,12 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
// Get URI for child VM
|
// Get URI for child VM
|
||||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||||
|
|
||||||
// Copy existing section and update fields
|
// Create new OperatingSystemSection
|
||||||
OperatingSystemSection oldSection = vAppClient.getOperatingSystemSection(vmURI);
|
OperatingSystemSection newSection = OperatingSystemSection.builder()
|
||||||
OperatingSystemSection newSection = oldSection.toBuilder()
|
.info("") // NOTE Required OVF field, ignored
|
||||||
.info("Changed OperatingSystemSection Description")
|
.id(OSType.RHEL_64.getCode())
|
||||||
.description("Changed OperatingSystemSection Description")
|
.osType("rhel5_64Guest")
|
||||||
.build();
|
.build();
|
||||||
assertNotNull(newSection.getId());
|
|
||||||
|
|
||||||
// The method under test
|
// The method under test
|
||||||
Task modifyOperatingSystemSection = vAppClient.modifyOperatingSystemSection(vmURI, newSection);
|
Task modifyOperatingSystemSection = vAppClient.modifyOperatingSystemSection(vmURI, newSection);
|
||||||
|
@ -640,11 +661,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
checkOperatingSystemSection(modified);
|
checkOperatingSystemSection(modified);
|
||||||
|
|
||||||
// Check the modified section fields are set correctly
|
// Check the modified section fields are set correctly
|
||||||
assertEquals(modified.getInfo(), newSection.getInfo());
|
assertEquals(modified.getId(), newSection.getId());
|
||||||
assertEquals(modified.getDescription(), newSection.getDescription());
|
|
||||||
|
|
||||||
// Check the section was modified correctly
|
|
||||||
assertEquals(modified, newSection, String.format(ENTITY_EQUAL, "OperatingSystemSection"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(testName = "GET /vApp/{id}/owner", dependsOnMethods = { "testGetVApp" })
|
@Test(testName = "GET /vApp/{id}/owner", dependsOnMethods = { "testGetVApp" })
|
||||||
|
@ -689,7 +706,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
ProductSectionList newSections = oldSections.toBuilder()
|
ProductSectionList newSections = oldSections.toBuilder()
|
||||||
.productSection(ProductSection.builder()
|
.productSection(ProductSection.builder()
|
||||||
.info("Information about the installed software") // Default ovf:Info text
|
.info("Information about the installed software") // Default ovf:Info text
|
||||||
.required(true)
|
.required()
|
||||||
.product(MsgType.builder().value("jclouds").build())
|
.product(MsgType.builder().value("jclouds").build())
|
||||||
.vendor(MsgType.builder().value("jclouds Inc.").build())
|
.vendor(MsgType.builder().value("jclouds Inc.").build())
|
||||||
// NOTE other ProductSection elements not returned by vCloud
|
// NOTE other ProductSection elements not returned by vCloud
|
||||||
|
@ -706,21 +723,21 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
// Check the retrieved object is well formed
|
// Check the retrieved object is well formed
|
||||||
checkProductSectionList(modified);
|
checkProductSectionList(modified);
|
||||||
|
|
||||||
// Check the modified section fields are set correctly
|
// Check the modified object has an extra ProductSection
|
||||||
assertEquals(modified.getProductSections().size(), oldSections.getProductSections().size() + 1);
|
assertEquals(modified.getProductSections().size(), oldSections.getProductSections().size() + 1);
|
||||||
|
|
||||||
// Check the section was modified correctly
|
// Check the section was modified correctly
|
||||||
assertEquals(modified, newSections, String.format(ENTITY_EQUAL, "ProductSectionList"));
|
assertEquals(modified, newSections, String.format(ENTITY_EQUAL, "ProductSectionList"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(testName = "GET /vApp/{id}/question", dependsOnMethods = { "testGetVApp" })
|
@Test(testName = "GET /vApp/{id}/question", dependsOnMethods = { "testPowerOnVApp" })
|
||||||
public void testGetPendingQuestion() {
|
public void testGetPendingQuestion() {
|
||||||
// TODO how to test?
|
// TODO how to test?
|
||||||
// The method under test
|
// The method under test
|
||||||
VmPendingQuestion question = vAppClient.getPendingQuestion(vApp.getHref());
|
VmPendingQuestion question = vAppClient.getPendingQuestion(vApp.getHref());
|
||||||
|
|
||||||
// Check the retrieved object is well formed
|
// Check the retrieved object is well formed
|
||||||
// checkQuestion(question);
|
checkVmPendingQuestion(question);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(testName = "PUT /vApp/{id}/question/action/answer", dependsOnMethods = { "testGetPendingQuestion" })
|
@Test(testName = "PUT /vApp/{id}/question/action/answer", dependsOnMethods = { "testGetPendingQuestion" })
|
||||||
|
@ -818,7 +835,24 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
|
|
||||||
// Copy existing section and update fields
|
// Copy existing section and update fields
|
||||||
VirtualHardwareSection oldSection = vAppClient.getVirtualHardwareSection(vmURI);
|
VirtualHardwareSection oldSection = vAppClient.getVirtualHardwareSection(vmURI);
|
||||||
VirtualHardwareSection newSection = oldSection.toBuilder().build();
|
Optional<? extends ResourceAllocationSettingData> memory = Iterables.tryFind(oldSection.getItems(),
|
||||||
|
new Predicate<ResourceAllocationSettingData>() {
|
||||||
|
@Override
|
||||||
|
public boolean apply(ResourceAllocationSettingData item) {
|
||||||
|
return item.getResourceType() == ResourceType.MEMORY;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (memory.isPresent()) debug(memory);
|
||||||
|
VirtualHardwareSection newSection = oldSection.toBuilder()
|
||||||
|
.item(ResourceAllocationSettingData.builder()
|
||||||
|
.elementName(cimString("Memory"))
|
||||||
|
.instanceID(cimString(UUID.randomUUID().toString()))
|
||||||
|
.allocationUnits(cimString("byte * 2^20"))
|
||||||
|
.reservation(cimUnsignedLong(BigInteger.valueOf(0L)))
|
||||||
|
.virtualQuantity(cimUnsignedLong(BigInteger.valueOf(1024L)))
|
||||||
|
.weight(cimUnsignedInt(0L))
|
||||||
|
.build())
|
||||||
|
.build();
|
||||||
|
|
||||||
// The method under test
|
// The method under test
|
||||||
Task modifyVirtualHardwareSection = vAppClient.modifyVirtualHardwareSection(vmURI, newSection);
|
Task modifyVirtualHardwareSection = vAppClient.modifyVirtualHardwareSection(vmURI, newSection);
|
||||||
|
@ -840,7 +874,10 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
// Get URI for child VM
|
// Get URI for child VM
|
||||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||||
|
|
||||||
|
// Method under test
|
||||||
RASD rasd = vAppClient.getVirtualHardwareSectionCpu(vmURI);
|
RASD rasd = vAppClient.getVirtualHardwareSectionCpu(vmURI);
|
||||||
|
|
||||||
|
// Check the retrieved object is well formed
|
||||||
checkRASD(rasd);
|
checkRASD(rasd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -878,6 +915,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
// Get URI for child VM
|
// Get URI for child VM
|
||||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||||
|
|
||||||
|
// Method under test
|
||||||
RasdItemsList rasdItems = vAppClient.getVirtualHardwareSectionDisks(vmURI);
|
RasdItemsList rasdItems = vAppClient.getVirtualHardwareSectionDisks(vmURI);
|
||||||
|
|
||||||
// Check the retrieved object is well formed
|
// Check the retrieved object is well formed
|
||||||
|
@ -928,6 +966,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
// Get URI for child VM
|
// Get URI for child VM
|
||||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||||
|
|
||||||
|
// Method under test
|
||||||
RasdItemsList rasdItems = vAppClient.getVirtualHardwareSectionMedia(vmURI);
|
RasdItemsList rasdItems = vAppClient.getVirtualHardwareSectionMedia(vmURI);
|
||||||
|
|
||||||
// Check the retrieved object is well formed
|
// Check the retrieved object is well formed
|
||||||
|
@ -939,6 +978,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
// Get URI for child VM
|
// Get URI for child VM
|
||||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||||
|
|
||||||
|
// Method under test
|
||||||
RASD rasd = vAppClient.getVirtualHardwareSectionCpu(vmURI);
|
RASD rasd = vAppClient.getVirtualHardwareSectionCpu(vmURI);
|
||||||
|
|
||||||
// Check the retrieved object is well formed
|
// Check the retrieved object is well formed
|
||||||
|
@ -973,6 +1013,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
// Get URI for child VM
|
// Get URI for child VM
|
||||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||||
|
|
||||||
|
// Method under test
|
||||||
RasdItemsList rasdItems = vAppClient.getVirtualHardwareSectionNetworkCards(vmURI);
|
RasdItemsList rasdItems = vAppClient.getVirtualHardwareSectionNetworkCards(vmURI);
|
||||||
|
|
||||||
// Check the retrieved object is well formed
|
// Check the retrieved object is well formed
|
||||||
|
@ -1007,6 +1048,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
||||||
// Get URI for child VM
|
// Get URI for child VM
|
||||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||||
|
|
||||||
|
// Method under test
|
||||||
RasdItemsList rasdItems = vAppClient.getVirtualHardwareSectionSerialPorts(vmURI);
|
RasdItemsList rasdItems = vAppClient.getVirtualHardwareSectionSerialPorts(vmURI);
|
||||||
|
|
||||||
// Check the retrieved object is well formed
|
// Check the retrieved object is well formed
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
*/
|
*/
|
||||||
package org.jclouds.vcloud.director.v1_5.features;
|
package org.jclouds.vcloud.director.v1_5.features;
|
||||||
|
|
||||||
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.ANY;
|
||||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.CUSTOMIZATION_SECTION;
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.CUSTOMIZATION_SECTION;
|
||||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.ERROR;
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.ERROR;
|
||||||
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.GUEST_CUSTOMIZATION_SECTION;
|
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.GUEST_CUSTOMIZATION_SECTION;
|
||||||
|
@ -390,7 +391,7 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx
|
||||||
URI uri = URI.create(endpoint + templateId);
|
URI uri = URI.create(endpoint + templateId);
|
||||||
|
|
||||||
VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||||
new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/metadata").acceptMedia(METADATA).httpRequestBuilder().build(),
|
new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/metadata").acceptMedia(ANY).httpRequestBuilder().build(),
|
||||||
new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/metadata.xml", METADATA).httpResponseBuilder().build(),
|
new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/metadata.xml", METADATA).httpResponseBuilder().build(),
|
||||||
new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/metadata").xmlFilePayload("/vapptemplate/metadata.xml", METADATA).acceptMedia(TASK).httpRequestBuilder().build(),
|
new VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/metadata").xmlFilePayload("/vapptemplate/metadata.xml", METADATA).acceptMedia(TASK).httpRequestBuilder().build(),
|
||||||
new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
new VcloudHttpResponsePrimer().xmlFilePayload("/task/task.xml", TASK).httpResponseBuilder().build()
|
||||||
|
@ -411,7 +412,7 @@ public class VAppTemplateClientExpectTest extends BaseVCloudDirectorRestClientEx
|
||||||
URI uri = URI.create(endpoint + templateId);
|
URI uri = URI.create(endpoint + templateId);
|
||||||
|
|
||||||
VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
VAppTemplateClient client = orderedRequestsSendResponses(loginRequest, sessionResponse,
|
||||||
new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/metadata").acceptMedia(METADATA).httpRequestBuilder().build(),
|
new VcloudHttpRequestPrimer().apiCommand("GET", templateId + "/metadata").acceptMedia(ANY).httpRequestBuilder().build(),
|
||||||
new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
new VcloudHttpResponsePrimer().xmlFilePayload("/vapptemplate/error400.xml", ERROR).httpResponseBuilder().statusCode(400).build()).getVAppTemplateClient();
|
||||||
|
|
||||||
client.getVAppTemplateMetadata(uri);
|
client.getVAppTemplateMetadata(uri);
|
||||||
|
|
Loading…
Reference in New Issue