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
|
@ -35,6 +35,10 @@ public class VCloudDirectorConstants {
|
|||
public static final String VCLOUD_OVF_ENV_NS = "http://schemas.dmtf.org/ovf/environment/1";
|
||||
|
||||
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. */
|
||||
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()
|
||||
*/
|
||||
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();
|
||||
}
|
||||
|
||||
|
@ -110,12 +118,15 @@ public class NetworkConnectionSection extends SectionType {
|
|||
@Override
|
||||
public NetworkConnectionSection build() {
|
||||
return new NetworkConnectionSection(this);
|
||||
|
||||
}
|
||||
|
||||
public B fromNetworkConnectionSection(NetworkConnectionSection in) {
|
||||
return fromSectionType(in).primaryNetworkConnectionIndex(in.getPrimaryNetworkConnectionIndex()).networkConnections(in.getNetworkConnections()).links(in.getLinks()).href(in.getHref()).type(
|
||||
in.getType());
|
||||
return fromSectionType(in)
|
||||
.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) {
|
||||
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 {
|
||||
/**
|
||||
* Other
|
||||
*/
|
||||
|
||||
/** Other */
|
||||
OTHER(1, "Other", OsFamily.UNRECOGNIZED, false),
|
||||
/**
|
||||
* MACOS
|
||||
*/
|
||||
|
||||
/** MACOS */
|
||||
MACOS(2, "MACOS", OsFamily.DARWIN, false),
|
||||
/**
|
||||
* Solaris
|
||||
*/
|
||||
|
||||
/** Solaris */
|
||||
SOLARIS(29, "Solaris", OsFamily.SOLARIS, false),
|
||||
/**
|
||||
* LINUX
|
||||
*/
|
||||
|
||||
/** LINUX */
|
||||
LINUX(36, "LINUX", OsFamily.LINUX, false),
|
||||
/**
|
||||
* FreeBSD
|
||||
*/
|
||||
|
||||
/** FreeBSD */
|
||||
FREEBSD(42, "FreeBSD", OsFamily.FREEBSD, false),
|
||||
/**
|
||||
* NetBSD
|
||||
*/
|
||||
|
||||
/** NetBSD */
|
||||
NETBSD(43, "NetBSD", OsFamily.NETBSD, false),
|
||||
/**
|
||||
* OpenBSD
|
||||
*/
|
||||
|
||||
/** OpenBSD */
|
||||
OPENBSD(65, "OpenBSD", OsFamily.OPENBSD, false),
|
||||
/**
|
||||
* Not Applicable
|
||||
*/
|
||||
|
||||
/** Not Applicable */
|
||||
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),
|
||||
/**
|
||||
* 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),
|
||||
/**
|
||||
* Microsoft Windows Server 2008
|
||||
*/
|
||||
|
||||
/** Microsoft Windows Server 2008 */
|
||||
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),
|
||||
/**
|
||||
* FreeBSD 64-Bit
|
||||
*/
|
||||
|
||||
/** FreeBSD 64-Bit */
|
||||
FREEBSD_64(78, "FreeBSD 64-Bit", OsFamily.FREEBSD, true),
|
||||
/**
|
||||
* RedHat Enterprise Linux
|
||||
*/
|
||||
|
||||
/** RedHat Enterprise Linux */
|
||||
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),
|
||||
/**
|
||||
* Solaris 64-Bit
|
||||
*/
|
||||
|
||||
/** Solaris 64-Bit */
|
||||
SOLARIS_64(81, "Solaris 64-Bit", OsFamily.SOLARIS, true),
|
||||
/**
|
||||
* SUSE
|
||||
*/
|
||||
|
||||
/** SUSE */
|
||||
SUSE(82, "SUSE", OsFamily.SUSE, false),
|
||||
/**
|
||||
* SUSE 64-Bit
|
||||
*/
|
||||
|
||||
/** SUSE 64-Bit */
|
||||
SUSE_64(83, "SUSE 64-Bit", OsFamily.SUSE, true),
|
||||
/**
|
||||
* SLES
|
||||
*/
|
||||
|
||||
/** SLES */
|
||||
SLES(84, "SLES", OsFamily.SUSE, false),
|
||||
/**
|
||||
* SLES 64-Bit
|
||||
*/
|
||||
|
||||
/** SLES 64-Bit */
|
||||
SLES_64(85, "SLES 64-Bit", OsFamily.SUSE, true),
|
||||
/**
|
||||
* Novell OES
|
||||
*/
|
||||
|
||||
/** Novell OES */
|
||||
NOVELL_OES(86, "Novell OES", OsFamily.SUSE, true),
|
||||
/**
|
||||
* Mandriva
|
||||
*/
|
||||
|
||||
/** Mandriva */
|
||||
MANDRIVA(89, "Mandriva", OsFamily.MANDRIVA, false),
|
||||
/**
|
||||
* Mandriva 64-Bit
|
||||
*/
|
||||
|
||||
/** Mandriva 64-Bit */
|
||||
MANDRIVA_64(90, "Mandriva 64-Bit", OsFamily.MANDRIVA, true),
|
||||
/**
|
||||
* TurboLinux
|
||||
*/
|
||||
|
||||
/** TurboLinux */
|
||||
TURBOLINUX(91, "TurboLinux", OsFamily.TURBOLINUX, false),
|
||||
/**
|
||||
* TurboLinux 64-Bit
|
||||
*/
|
||||
|
||||
/** TurboLinux 64-Bit */
|
||||
TURBOLINUX_64(92, "TurboLinux 64-Bit", OsFamily.TURBOLINUX, true),
|
||||
/**
|
||||
* Ubuntu
|
||||
*/
|
||||
|
||||
/** Ubuntu */
|
||||
UBUNTU(93, "Ubuntu", OsFamily.UBUNTU, false),
|
||||
/**
|
||||
* Ubuntu 64-Bit
|
||||
*/
|
||||
|
||||
/** Ubuntu 64-Bit */
|
||||
UBUNTU_64(94, "Ubuntu 64-Bit", OsFamily.UBUNTU, true),
|
||||
/**
|
||||
* Debian
|
||||
*/
|
||||
|
||||
/** Debian */
|
||||
DEBIAN(95, "Debian", OsFamily.DEBIAN, false),
|
||||
/**
|
||||
* Debian 64-Bit
|
||||
*/
|
||||
|
||||
/** Debian 64-Bit */
|
||||
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.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.6.x
|
||||
*/
|
||||
|
||||
/** Linux 2.6.x */
|
||||
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 64-Bit
|
||||
*/
|
||||
|
||||
/** Linux 64-Bit */
|
||||
LINUX_64(101, "Linux 64-Bit", OsFamily.LINUX, true),
|
||||
/**
|
||||
* Other 64-Bit
|
||||
*/
|
||||
|
||||
/** Other 64-Bit */
|
||||
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),
|
||||
/**
|
||||
* VMware ESXi
|
||||
*/
|
||||
|
||||
/** VMware ESXi */
|
||||
ESXI(104, "VMware ESXi", OsFamily.ESX, true),
|
||||
/**
|
||||
* Microsoft Windows 7
|
||||
*/
|
||||
|
||||
/** Microsoft Windows 7 */
|
||||
WINDOWS_7(105, "Microsoft Windows 7", OsFamily.WINDOWS, false),
|
||||
/**
|
||||
* CentOS 32-bit
|
||||
*/
|
||||
|
||||
/** CentOS 32-bit */
|
||||
CENTOS(106, "CentOS 32-bit", OsFamily.CENTOS, false),
|
||||
/**
|
||||
* CentOS 64-bit
|
||||
*/
|
||||
|
||||
/** CentOS 64-bit */
|
||||
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 64-bit
|
||||
*/
|
||||
|
||||
/** Oracle Enterprise Linux 64-bit */
|
||||
ORACLE_ENTERPRISE_LINUX_64(109, "Oracle Enterprise Linux 64-bit", OsFamily.OEL, true),
|
||||
/**
|
||||
* eComStation 32-bitx
|
||||
*/
|
||||
ECOMSTATION_32(109, "eComStation 32-bitx", OsFamily.UNRECOGNIZED, false), UNRECOGNIZED(Integer.MAX_VALUE,
|
||||
"UNRECOGNIZED", null, true);
|
||||
|
||||
/** eComStation 32-bitx */
|
||||
ECOMSTATION_32(109, "eComStation 32-bitx", OsFamily.UNRECOGNIZED, false),
|
||||
|
||||
UNRECOGNIZED(Integer.MAX_VALUE, "UNRECOGNIZED", null, true);
|
||||
|
||||
private final int code;
|
||||
|
||||
public int getCode() {
|
||||
|
|
|
@ -18,75 +18,124 @@
|
|||
*/
|
||||
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 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.List;
|
||||
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.Objects;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
/**
|
||||
*
|
||||
* The ResourceAllocationSettingData class represents settings specifically
|
||||
* related to an allocated resource that are outside the scope of the CIM class
|
||||
* typically used to represent the resource itself. These settings include
|
||||
* information specific to the allocation that may not be visible to the
|
||||
* consumer of the resource itself. For example, a virtual processor may look
|
||||
* like a 2 ghz processor to the consumer (virtual computer system), however the
|
||||
* virtualization system may use time-slicing to schedule the the virtual
|
||||
* processor to only allow it to use 1 ghz.
|
||||
* typically used to represent the resource itself.
|
||||
*
|
||||
* These settings include information specific to the allocation that may not
|
||||
* be visible to the consumer of the resource itself. For example, a virtual
|
||||
* processor may look like a 2 GHz processor to the consumer (virtual computer
|
||||
* 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
|
||||
* @see <a href=
|
||||
* "http://dmtf.org/sites/default/files/cim/cim_schema_v2280/cim_schema_2.28.0Final-Doc.zip"
|
||||
* />
|
||||
*
|
||||
* @author grkvlt@apache.org
|
||||
* @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() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
return builder().fromResourceAllocationSettingData(this);
|
||||
}
|
||||
|
||||
public static class Builder extends ManagedElement.Builder {
|
||||
public static class Builder {
|
||||
|
||||
protected String address;
|
||||
protected String addressOnParent;
|
||||
protected String allocationUnits;
|
||||
protected Boolean automaticAllocation;
|
||||
protected Boolean automaticDeallocation;
|
||||
protected CimString elementName;
|
||||
protected CimString instanceID;
|
||||
protected CimString caption;
|
||||
protected CimString description;
|
||||
protected CimString address;
|
||||
protected CimString addressOnParent;
|
||||
protected CimString allocationUnits;
|
||||
protected CimBoolean automaticAllocation;
|
||||
protected CimBoolean automaticDeallocation;
|
||||
protected ConsumerVisibility consumerVisibility;
|
||||
protected Long limit;
|
||||
protected CimUnsignedLong limit;
|
||||
protected MappingBehavior mappingBehavior;
|
||||
protected String otherResourceType;
|
||||
protected String parent;
|
||||
protected String poolID;
|
||||
protected Long reservation;
|
||||
protected String resourceSubType;
|
||||
protected CimString otherResourceType;
|
||||
protected CimString parent;
|
||||
protected CimString poolID;
|
||||
protected CimUnsignedLong reservation;
|
||||
protected CimString resourceSubType;
|
||||
protected ResourceType resourceType;
|
||||
protected Long virtualQuantity;
|
||||
protected String virtualQuantityUnits;
|
||||
protected Integer weight;
|
||||
protected List<String> connections = Lists.newArrayList();
|
||||
protected List<String> hostResources = Lists.newArrayList();
|
||||
protected CimUnsignedLong virtualQuantity;
|
||||
protected CimString virtualQuantityUnits;
|
||||
protected CimUnsignedInt weight;
|
||||
protected List<CimString> connections = 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
|
||||
*/
|
||||
public Builder address(String address) {
|
||||
public Builder address(CimString address) {
|
||||
this.address = address;
|
||||
return this;
|
||||
}
|
||||
|
@ -94,7 +143,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getAddressOnParent
|
||||
*/
|
||||
public Builder addressOnParent(String addressOnParent) {
|
||||
public Builder addressOnParent(CimString addressOnParent) {
|
||||
this.addressOnParent = addressOnParent;
|
||||
return this;
|
||||
}
|
||||
|
@ -102,7 +151,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getAllocationUnits
|
||||
*/
|
||||
public Builder allocationUnits(String allocationUnits) {
|
||||
public Builder allocationUnits(CimString allocationUnits) {
|
||||
this.allocationUnits = allocationUnits;
|
||||
return this;
|
||||
}
|
||||
|
@ -110,7 +159,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#isAutomaticAllocation()
|
||||
*/
|
||||
public Builder automaticAllocation(Boolean automaticAllocation) {
|
||||
public Builder automaticAllocation(CimBoolean automaticAllocation) {
|
||||
this.automaticAllocation = automaticAllocation;
|
||||
return this;
|
||||
}
|
||||
|
@ -118,7 +167,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#isAutomaticDeallocation()
|
||||
*/
|
||||
public Builder automaticDeallocation(Boolean automaticDeallocation) {
|
||||
public Builder automaticDeallocation(CimBoolean automaticDeallocation) {
|
||||
this.automaticDeallocation = automaticDeallocation;
|
||||
return this;
|
||||
}
|
||||
|
@ -134,7 +183,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getLimit
|
||||
*/
|
||||
public Builder limit(Long limit) {
|
||||
public Builder limit(CimUnsignedLong limit) {
|
||||
this.limit = limit;
|
||||
return this;
|
||||
}
|
||||
|
@ -150,7 +199,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getOtherResourceType
|
||||
*/
|
||||
public Builder otherResourceType(String otherResourceType) {
|
||||
public Builder otherResourceType(CimString otherResourceType) {
|
||||
this.otherResourceType = otherResourceType;
|
||||
return this;
|
||||
}
|
||||
|
@ -158,7 +207,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getParent
|
||||
*/
|
||||
public Builder parent(String parent) {
|
||||
public Builder parent(CimString parent) {
|
||||
this.parent = parent;
|
||||
return this;
|
||||
}
|
||||
|
@ -166,7 +215,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getPoolID
|
||||
*/
|
||||
public Builder poolID(String poolID) {
|
||||
public Builder poolID(CimString poolID) {
|
||||
this.poolID = poolID;
|
||||
return this;
|
||||
}
|
||||
|
@ -174,7 +223,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getReservation
|
||||
*/
|
||||
public Builder reservation(Long reservation) {
|
||||
public Builder reservation(CimUnsignedLong reservation) {
|
||||
this.reservation = reservation;
|
||||
return this;
|
||||
}
|
||||
|
@ -182,7 +231,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getResourceSubType
|
||||
*/
|
||||
public Builder resourceSubType(String resourceSubType) {
|
||||
public Builder resourceSubType(CimString resourceSubType) {
|
||||
this.resourceSubType = resourceSubType;
|
||||
return this;
|
||||
}
|
||||
|
@ -198,7 +247,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getVirtualQuantity
|
||||
*/
|
||||
public Builder virtualQuantity(Long virtualQuantity) {
|
||||
public Builder virtualQuantity(CimUnsignedLong virtualQuantity) {
|
||||
this.virtualQuantity = virtualQuantity;
|
||||
return this;
|
||||
}
|
||||
|
@ -206,7 +255,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getVirtualQuantityUnits
|
||||
*/
|
||||
public Builder virtualQuantityUnits(String virtualQuantityUnits) {
|
||||
public Builder virtualQuantityUnits(CimString virtualQuantityUnits) {
|
||||
this.virtualQuantityUnits = virtualQuantityUnits;
|
||||
return this;
|
||||
}
|
||||
|
@ -214,7 +263,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getWeight
|
||||
*/
|
||||
public Builder weight(Integer weight) {
|
||||
public Builder weight(CimUnsignedInt weight) {
|
||||
this.weight = weight;
|
||||
return this;
|
||||
}
|
||||
|
@ -222,7 +271,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getConnections()
|
||||
*/
|
||||
public Builder connection(String connection) {
|
||||
public Builder connection(CimString connection) {
|
||||
this.connections.add(checkNotNull(connection, "connection"));
|
||||
return this;
|
||||
}
|
||||
|
@ -230,7 +279,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getHostResources()
|
||||
*/
|
||||
public Builder hostResource(String hostResource) {
|
||||
public Builder hostResource(CimString hostResource) {
|
||||
this.hostResources.add(checkNotNull(hostResource, "hostResource"));
|
||||
return this;
|
||||
}
|
||||
|
@ -238,7 +287,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getConnections
|
||||
*/
|
||||
public Builder connections(List<String> connections) {
|
||||
public Builder connections(List<CimString> connections) {
|
||||
this.connections = Lists.newArrayList(checkNotNull(connections, "connections"));
|
||||
return this;
|
||||
}
|
||||
|
@ -246,84 +295,123 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
/**
|
||||
* @see ResourceAllocationSettingData#getHostResources
|
||||
*/
|
||||
public Builder hostResources(List<String> hostResources) {
|
||||
public Builder hostResources(List<CimString> hostResources) {
|
||||
this.hostResources = Lists.newArrayList(checkNotNull(hostResources, "hostResources"));
|
||||
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() {
|
||||
return new ResourceAllocationSettingData(elementName, instanceID, caption, description, address,
|
||||
addressOnParent, allocationUnits, automaticAllocation, automaticDeallocation, consumerVisibility, limit,
|
||||
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) {
|
||||
return fromManagedElement(in).address(in.getAddress()).addressOnParent(in.getAddressOnParent())
|
||||
.allocationUnits(in.getAllocationUnits()).automaticAllocation(in.isAutomaticAllocation())
|
||||
.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());
|
||||
return elementName(in.getElementName())
|
||||
.instanceID(in.getInstanceID())
|
||||
.caption(in.getCaption())
|
||||
.description(in.getDescription())
|
||||
.address(in.getAddress())
|
||||
.addressOnParent(in.getAddressOnParent())
|
||||
.allocationUnits(in.getAllocationUnits())
|
||||
.automaticAllocation(in.isAutomaticAllocation())
|
||||
.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.
|
||||
*/
|
||||
@XmlType
|
||||
@XmlEnum(Integer.class)
|
||||
public static enum ResourceType {
|
||||
|
||||
OTHER(1), COMPUTER_SYSTEM(2), PROCESSOR(3), MEMORY(4), IDE_CONTROLLER(5), PARALLEL_SCSI_HBA(6), FC_HBA(7), ISCSI_HBA(
|
||||
8), IB_HCA(9), ETHERNET_ADAPTER(10), OTHER_NETWORK_ADAPTER(11), IO_SLOT(12), IO_DEVICE(13), FLOPPY_DRIVE(14), CD_DRIVE(
|
||||
15), DVD_DRIVE(16), DISK_DRIVE(17), TAPE_DRIVE(18), STORAGE_EXTENT(19), OTHER_STORAGE_DEVICE(20), SERIAL_PORT(
|
||||
21), PARALLEL_PORT(22), USB_CONTROLLER(23), GRAPHICS_CONTROLLER(24), IEEE_1394_CONTROLLER(25), PARTITIONABLE_UNIT(
|
||||
26), BASE_PARTITIONABLE_UNIT(27), POWER(28), COOLING_CAPACITY(29), ETHERNET_SWITCH_PORT(30), LOGICAL_DISK(
|
||||
31), STORAGE_VOLUME(32), ETHERNET_CONNECTION(33), DMTF_RESERVED(Integer.valueOf("8000", 16)), VENDOR_RESERVED(
|
||||
Integer.valueOf("FFFF", 16));
|
||||
@XmlEnumValue("1") OTHER(1),
|
||||
@XmlEnumValue("2") COMPUTER_SYSTEM(2),
|
||||
@XmlEnumValue("3") PROCESSOR(3),
|
||||
@XmlEnumValue("4") MEMORY(4),
|
||||
@XmlEnumValue("5") IDE_CONTROLLER(5),
|
||||
@XmlEnumValue("6") PARALLEL_SCSI_HBA(6),
|
||||
@XmlEnumValue("7") FC_HBA(7),
|
||||
@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;
|
||||
|
||||
|
@ -332,47 +420,52 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
}
|
||||
|
||||
public String value() {
|
||||
return code + "";
|
||||
return Integer.toString(code);
|
||||
}
|
||||
|
||||
protected final static Map<Integer, ResourceType> RESOURCE_TYPE_BY_ID = Maps.uniqueIndex(
|
||||
ImmutableSet.copyOf(ResourceType.values()), new Function<ResourceType, Integer>() {
|
||||
|
||||
@Override
|
||||
public Integer apply(ResourceType input) {
|
||||
return input.code;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
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.
|
||||
*/
|
||||
@XmlType
|
||||
@XmlEnum(Integer.class)
|
||||
public static enum ConsumerVisibility {
|
||||
UNKNOWN(0),
|
||||
@XmlEnumValue("0") UNKNOWN(0),
|
||||
|
||||
/**
|
||||
* indicates the underlying or host resource is utilized and passed
|
||||
* through to the consumer, possibly using partitioning. At least one item
|
||||
* 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
|
||||
* underlying/host resource. Some implementations may support specific
|
||||
* assignment for virtualized resources, in which case the host
|
||||
* 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
|
||||
* 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;
|
||||
|
||||
|
@ -381,21 +474,19 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
}
|
||||
|
||||
public String value() {
|
||||
return code + "";
|
||||
return Integer.toString(code);
|
||||
}
|
||||
|
||||
protected final static Map<Integer, ConsumerVisibility> MAPPING_BEHAVIOR_BY_ID = Maps.uniqueIndex(
|
||||
ImmutableSet.copyOf(ConsumerVisibility.values()), new Function<ConsumerVisibility, Integer>() {
|
||||
|
||||
@Override
|
||||
public Integer apply(ConsumerVisibility input) {
|
||||
return input.code;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
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
|
||||
* resource maps to those specific resources.
|
||||
*/
|
||||
@XmlType
|
||||
@XmlEnum(Integer.class)
|
||||
public static enum MappingBehavior {
|
||||
UNKNOWN(0), NOT_SUPPORTED(2), DEDICATED(3), SOFT_AFFINITY(4), HARD_AFFINITY(5), DMTF_RESERVED(32767), VENDOR_RESERVED(
|
||||
65535);
|
||||
@XmlEnumValue("0") UNKNOWN(0),
|
||||
@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;
|
||||
|
||||
|
@ -415,51 +513,85 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
}
|
||||
|
||||
public String value() {
|
||||
return code + "";
|
||||
return Integer.toString(code);
|
||||
}
|
||||
|
||||
protected final static Map<Integer, MappingBehavior> MAPPING_BEHAVIOR_BY_ID = Maps.uniqueIndex(
|
||||
ImmutableSet.copyOf(MappingBehavior.values()), new Function<MappingBehavior, Integer>() {
|
||||
|
||||
@Override
|
||||
public Integer apply(MappingBehavior input) {
|
||||
return input.code;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
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;
|
||||
protected String addressOnParent;
|
||||
protected String allocationUnits;
|
||||
protected Boolean automaticAllocation;
|
||||
protected Boolean automaticDeallocation;
|
||||
@XmlElement(name = "ElementName", namespace = VCLOUD_CIM_RASD_NS)
|
||||
protected CimString elementName;
|
||||
@XmlElement(name = "InstanceID", namespace = VCLOUD_CIM_RASD_NS)
|
||||
protected CimString instanceID;
|
||||
@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 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 String otherResourceType;
|
||||
protected String parent;
|
||||
protected String poolID;
|
||||
protected Long reservation;
|
||||
protected String resourceSubType;
|
||||
@XmlElement(name = "OtherResourceType", namespace = VCLOUD_CIM_RASD_NS)
|
||||
protected CimString otherResourceType;
|
||||
@XmlElement(name = "Parent", namespace = VCLOUD_CIM_RASD_NS)
|
||||
protected CimString parent;
|
||||
@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 Long virtualQuantity;
|
||||
protected String virtualQuantityUnits;
|
||||
protected Integer weight;
|
||||
protected List<String> connections;
|
||||
protected List<String> hostResources;
|
||||
@XmlElement(name = "VirtualQuantity", namespace = VCLOUD_CIM_RASD_NS)
|
||||
protected CimUnsignedLong virtualQuantity;
|
||||
@XmlElement(name = "VirtualQuantityUnits", namespace = VCLOUD_CIM_RASD_NS)
|
||||
protected CimString virtualQuantityUnits;
|
||||
@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,
|
||||
String address, String addressOnParent, String allocationUnits, Boolean automaticAllocation,
|
||||
Boolean automaticDeallocation, ConsumerVisibility consumerVisibility, Long limit,
|
||||
MappingBehavior mappingBehavior, String otherResourceType, String parent, String poolID, Long reservation,
|
||||
String resourceSubType, ResourceType resourceType, Long virtualQuantity, String virtualQuantityUnits,
|
||||
Integer weight, List<String> connections, List<String> hostResources) {
|
||||
super(elementName, instanceID, caption, description);
|
||||
private ResourceAllocationSettingData(CimString elementName, CimString instanceID, CimString caption, CimString description,
|
||||
CimString address, CimString addressOnParent, CimString allocationUnits, CimBoolean automaticAllocation,
|
||||
CimBoolean automaticDeallocation, ConsumerVisibility consumerVisibility, CimUnsignedLong limit,
|
||||
MappingBehavior mappingBehavior, CimString otherResourceType, CimString parent, CimString poolID, CimUnsignedLong reservation,
|
||||
CimString resourceSubType, ResourceType resourceType, CimUnsignedLong virtualQuantity, CimString virtualQuantityUnits,
|
||||
CimUnsignedInt weight, List<CimString> connections, List<CimString> hostResources, String type, URI href, Set<Link> links) {
|
||||
this.elementName = elementName;
|
||||
this.instanceID = instanceID;
|
||||
this.caption = caption;
|
||||
this.description = description;
|
||||
this.address = address;
|
||||
this.addressOnParent = addressOnParent;
|
||||
this.allocationUnits = allocationUnits;
|
||||
|
@ -479,17 +611,51 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
this.weight = weight;
|
||||
this.connections = ImmutableList.copyOf(connections);
|
||||
this.hostResources = ImmutableList.copyOf(hostResources);
|
||||
this.type = type;
|
||||
this.href = href;
|
||||
this.links = links != null ? ImmutableSet.copyOf(links) : Collections.<Link>emptySet();
|
||||
}
|
||||
|
||||
private ResourceAllocationSettingData() {
|
||||
// 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
|
||||
* port.
|
||||
*/
|
||||
public String getAddress() {
|
||||
public CimString getAddress() {
|
||||
return address;
|
||||
}
|
||||
|
||||
|
@ -500,7 +666,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* if the parent is a PCI Controller, this property would specify the PCI
|
||||
* slot of this child device.
|
||||
*/
|
||||
public String getAddressOnParent() {
|
||||
public CimString getAddressOnParent() {
|
||||
return addressOnParent;
|
||||
}
|
||||
|
||||
|
@ -514,7 +680,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* value of the Programmatic Units qualifier as defined in Annex C.1 of
|
||||
* DSP0004 V2.5 or later.
|
||||
*/
|
||||
public String getAllocationUnits() {
|
||||
public CimString getAllocationUnits() {
|
||||
return allocationUnits;
|
||||
}
|
||||
|
||||
|
@ -527,7 +693,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* on time, the media is not present. An explicit operation is required to
|
||||
* allocate the resource.
|
||||
*/
|
||||
public Boolean isAutomaticAllocation() {
|
||||
public CimBoolean isAutomaticAllocation() {
|
||||
return automaticAllocation;
|
||||
}
|
||||
|
||||
|
@ -538,7 +704,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* set to false, the resource will remain allocated and must be explicitly
|
||||
* de-allocated.
|
||||
*/
|
||||
public Boolean isAutomaticDeallocation() {
|
||||
public CimBoolean isAutomaticDeallocation() {
|
||||
return automaticDeallocation;
|
||||
}
|
||||
|
||||
|
@ -557,7 +723,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* for this allocation. The value of the Limit property is expressed in the
|
||||
* unit specified by the value of the AllocationUnits property.
|
||||
*/
|
||||
public Long getLimit() {
|
||||
public CimUnsignedLong getLimit() {
|
||||
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
|
||||
* available and ResourceType has the value "Other".
|
||||
*/
|
||||
public String getOtherResourceType() {
|
||||
public CimString getOtherResourceType() {
|
||||
return otherResourceType;
|
||||
}
|
||||
|
||||
|
@ -582,7 +748,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* The Parent of the resource. For example, a controller for the current
|
||||
* allocation
|
||||
*/
|
||||
public String getParent() {
|
||||
public CimString getParent() {
|
||||
return parent;
|
||||
}
|
||||
|
||||
|
@ -591,7 +757,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* allocated from, or which ResourcePool the resource will be allocated from
|
||||
* when the allocation occurs.
|
||||
*/
|
||||
public String getPoolID() {
|
||||
public CimString getPoolID() {
|
||||
return poolID;
|
||||
}
|
||||
|
||||
|
@ -603,7 +769,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* the Reservation property is expressed in the unit specified by the value
|
||||
* of the AllocationUnits property.
|
||||
*/
|
||||
public Long getReservation() {
|
||||
public CimUnsignedLong getReservation() {
|
||||
return reservation;
|
||||
}
|
||||
|
||||
|
@ -611,7 +777,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* A string describing an implementation specific sub-type for this resource.
|
||||
* F
|
||||
*/
|
||||
public String getResourceSubType() {
|
||||
public CimString getResourceSubType() {
|
||||
return resourceSubType;
|
||||
}
|
||||
|
||||
|
@ -631,7 +797,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* VirtualQuantity property should be expressed in units as defined by the
|
||||
* value of the VirtualQuantityUnits property.
|
||||
*/
|
||||
public Long getVirtualQuantity() {
|
||||
public CimUnsignedLong getVirtualQuantity() {
|
||||
return virtualQuantity;
|
||||
}
|
||||
|
||||
|
@ -647,7 +813,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* this property shall be a legal value of the Programmatic Units qualifier
|
||||
* as defined in Annex C.1 of DSP0004 V2.5 or later.
|
||||
*/
|
||||
public String getVirtualQuantityUnits() {
|
||||
public CimString getVirtualQuantityUnits() {
|
||||
return virtualQuantityUnits;
|
||||
}
|
||||
|
||||
|
@ -657,7 +823,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* has no unit of measure, and is only relevant when compared to other
|
||||
* allocations vying for the same host resources.
|
||||
*/
|
||||
public Integer getWeight() {
|
||||
public CimUnsignedInt getWeight() {
|
||||
return weight;
|
||||
}
|
||||
|
||||
|
@ -665,7 +831,7 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* The thing to which this resource is connected. For example, a named
|
||||
* network or switch port.
|
||||
*/
|
||||
public List<String> getConnections() {
|
||||
public List<CimString> getConnections() {
|
||||
return Collections.unmodifiableList(connections);
|
||||
}
|
||||
|
||||
|
@ -687,30 +853,65 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
* value(s) to indicate that the requested virtual resource allocation be
|
||||
* based on host resources that are identified by element values.
|
||||
*/
|
||||
public List<String> getHostResources() {
|
||||
public List<CimString> getHostResources() {
|
||||
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
|
||||
public String toString() {
|
||||
return String
|
||||
.format(
|
||||
"[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]",
|
||||
elementName, instanceID, caption, description, address, addressOnParent, allocationUnits,
|
||||
automaticAllocation, automaticDeallocation, connections, consumerVisibility, hostResources, limit,
|
||||
mappingBehavior, otherResourceType, parent, poolID, reservation, resourceSubType, resourceType,
|
||||
virtualQuantity, virtualQuantityUnits, weight);
|
||||
return Objects.toStringHelper("")
|
||||
.add("elementname", elementName)
|
||||
.add("instanceId", instanceID)
|
||||
.add("caption", caption)
|
||||
.add("description", description)
|
||||
.add("address", address)
|
||||
.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
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = super.hashCode();
|
||||
result = prime * result + ((address == null) ? 0 : address.hashCode());
|
||||
result = prime * result + ((addressOnParent == null) ? 0 : addressOnParent.hashCode());
|
||||
result = prime * result + ((resourceSubType == null) ? 0 : resourceSubType.hashCode());
|
||||
result = prime * result + ((resourceType == null) ? 0 : resourceType.hashCode());
|
||||
return result;
|
||||
return Objects.hashCode(elementName, instanceID, caption, description,
|
||||
address, addressOnParent, allocationUnits,
|
||||
automaticAllocation, automaticDeallocation, connections,
|
||||
consumerVisibility, hostResources, limit, mappingBehavior,
|
||||
otherResourceType, parent, poolID, reservation, resourceSubType,
|
||||
resourceType, virtualQuantity, virtualQuantityUnits, weight, type, href, links);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -721,28 +922,34 @@ public class ResourceAllocationSettingData extends ManagedElement {
|
|||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
ResourceAllocationSettingData other = (ResourceAllocationSettingData) obj;
|
||||
if (address == null) {
|
||||
if (other.address != null)
|
||||
return false;
|
||||
} else if (!address.equals(other.address))
|
||||
return false;
|
||||
if (addressOnParent == null) {
|
||||
if (other.addressOnParent != null)
|
||||
return false;
|
||||
} else if (!addressOnParent.equals(other.addressOnParent))
|
||||
return false;
|
||||
if (resourceSubType == null) {
|
||||
if (other.resourceSubType != null)
|
||||
return false;
|
||||
} else if (!resourceSubType.equals(other.resourceSubType))
|
||||
return false;
|
||||
if (resourceType == null) {
|
||||
if (other.resourceType != null)
|
||||
return false;
|
||||
} else if (!resourceType.equals(other.resourceType))
|
||||
return false;
|
||||
return true;
|
||||
ResourceAllocationSettingData that = ResourceAllocationSettingData.class.cast(obj);
|
||||
return equal(this.elementName, that.elementName) &&
|
||||
equal(this.instanceID, that.instanceID) &&
|
||||
equal(this.caption, that.caption) &&
|
||||
equal(this.description, that.description) &&
|
||||
equal(this.address, that.address) &&
|
||||
equal(this.addressOnParent, that.addressOnParent) &&
|
||||
equal(this.allocationUnits, that.allocationUnits) &&
|
||||
equal(this.automaticAllocation, that.automaticAllocation) &&
|
||||
equal(this.automaticDeallocation, that.automaticDeallocation) &&
|
||||
equal(this.connections, that.connections) &&
|
||||
equal(this.consumerVisibility, that.consumerVisibility) &&
|
||||
equal(this.hostResources, that.hostResources) &&
|
||||
equal(this.limit, that.limit) &&
|
||||
equal(this.mappingBehavior, that.mappingBehavior) &&
|
||||
equal(this.otherResourceType, that.otherResourceType) &&
|
||||
equal(this.parent, that.parent) &&
|
||||
equal(this.poolID, that.poolID) &&
|
||||
equal(this.reservation, that.reservation) &&
|
||||
equal(this.resourceSubType, that.resourceSubType) &&
|
||||
equal(this.resourceType, that.resourceType) &&
|
||||
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
|
||||
* contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
|
@ -18,69 +18,100 @@
|
|||
*/
|
||||
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 org.jclouds.vcloud.director.v1_5.VCloudDirectorConstants.VCLOUD_CIM_VSSD_NS;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Date;
|
||||
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.Objects;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
/**
|
||||
*
|
||||
* CIM_VirtualSystemSettingData defines the virtual aspects of a virtual system through a set of
|
||||
* virtualization specific properties. CIM_VirtualSystemSettingData is also used as the top level
|
||||
* class of virtual system configurations. Virtual system configurations model configuration
|
||||
* information about virtual systems and their components. A virtual system configuration consists
|
||||
* of one top-level instance of class CIM_VirtualSystemSettingData that aggregates a number of
|
||||
* instances of class CIM_ResourceAllocationSettingData, using association CIM_ConcreteComponent.
|
||||
* Virtual system configurations may for example be used to reflect configurations of - virtual
|
||||
* systems that are defined at a virtualization platform, - virtual systems that are currently
|
||||
* active, - input requests to create new virtual systems, - input requests to modify existing
|
||||
* virtual systems, or - snapshots of virtual systems.
|
||||
* VirtualSystemSettingData defines the virtual aspects of a virtual system through a set of
|
||||
* virtualization specific properties.
|
||||
*
|
||||
* VirtualSystemSettingData is also used as the top level class of virtual system configurations.
|
||||
* Virtual system configurations model configuration information about virtual systems and their
|
||||
* components. A virtual system configuration consists of one top-level instance of class
|
||||
* VirtualSystemSettingData that aggregates a number of instances of class
|
||||
* {@link ResourceAllocationSettingData}, using association {@link ConcreteComponent).
|
||||
* <p>
|
||||
* Virtual system configurations may for example be used to reflect configurations of:
|
||||
* <ul>
|
||||
* <li>virtual systems that are defined at a virtualization platform
|
||||
* <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
|
||||
* @see <a
|
||||
* href="http://dmtf.org/sites/default/files/cim/cim_schema_v2280/cim_schema_2.28.0Final-Doc.zip"
|
||||
* />
|
||||
*
|
||||
* @author grkvlt@apache.org
|
||||
* @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() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Builder toBuilder() {
|
||||
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 AutomaticShutdownAction automaticShutdownAction;
|
||||
private AutomaticStartupAction automaticStartupAction;
|
||||
private Long automaticStartupActionDelay;
|
||||
private Integer automaticStartupActionSequenceNumber;
|
||||
private URI configurationDataRoot;
|
||||
private URI configurationFile;
|
||||
private String configurationID;
|
||||
private CimUnsignedLong automaticStartupActionDelay;
|
||||
private CimUnsignedInt automaticStartupActionSequenceNumber;
|
||||
private CimString configurationDataRoot;
|
||||
private CimString configurationFile;
|
||||
private CimString configurationID;
|
||||
private Date creationTime;
|
||||
private URI logDataRoot;
|
||||
private URI recoveryFile;
|
||||
private URI snapshotDataRoot;
|
||||
private URI suspendDataRoot;
|
||||
private URI swapFileDataRoot;
|
||||
private String virtualSystemIdentifier;
|
||||
private Set<String> virtualSystemTypes = Sets.newLinkedHashSet();
|
||||
private String notes;
|
||||
private CimString logDataRoot;
|
||||
private CimString recoveryFile;
|
||||
private CimString snapshotDataRoot;
|
||||
private CimString suspendDataRoot;
|
||||
private CimString swapFileDataRoot;
|
||||
private CimString virtualSystemIdentifier;
|
||||
private CimString virtualSystemType;
|
||||
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) {
|
||||
this.automaticRecoveryAction = automaticRecoveryAction;
|
||||
|
@ -97,27 +128,27 @@ public class VirtualSystemSettingData extends ManagedElement {
|
|||
return this;
|
||||
}
|
||||
|
||||
public Builder automaticStartupActionDelay(Long automaticStartupActionDelay) {
|
||||
public Builder automaticStartupActionDelay(CimUnsignedLong automaticStartupActionDelay) {
|
||||
this.automaticStartupActionDelay = automaticStartupActionDelay;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder automaticStartupActionSequenceNumber(Integer automaticStartupActionSequenceNumber) {
|
||||
public Builder automaticStartupActionSequenceNumber(CimUnsignedInt automaticStartupActionSequenceNumber) {
|
||||
this.automaticStartupActionSequenceNumber = automaticStartupActionSequenceNumber;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder configurationDataRoot(URI configurationDataRoot) {
|
||||
public Builder configurationDataRoot(CimString configurationDataRoot) {
|
||||
this.configurationDataRoot = configurationDataRoot;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder configurationFile(URI configurationFile) {
|
||||
public Builder configurationFile(CimString configurationFile) {
|
||||
this.configurationFile = configurationFile;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder configurationID(String configurationID) {
|
||||
public Builder configurationID(CimString configurationID) {
|
||||
this.configurationID = configurationID;
|
||||
return this;
|
||||
}
|
||||
|
@ -127,47 +158,42 @@ public class VirtualSystemSettingData extends ManagedElement {
|
|||
return this;
|
||||
}
|
||||
|
||||
public Builder logDataRoot(URI logDataRoot) {
|
||||
public Builder logDataRoot(CimString logDataRoot) {
|
||||
this.logDataRoot = logDataRoot;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder recoveryFile(URI recoveryFile) {
|
||||
public Builder recoveryFile(CimString recoveryFile) {
|
||||
this.recoveryFile = recoveryFile;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder snapshotDataRoot(URI snapshotDataRoot) {
|
||||
public Builder snapshotDataRoot(CimString snapshotDataRoot) {
|
||||
this.snapshotDataRoot = snapshotDataRoot;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder suspendDataRoot(URI suspendDataRoot) {
|
||||
public Builder suspendDataRoot(CimString suspendDataRoot) {
|
||||
this.suspendDataRoot = suspendDataRoot;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder swapFileDataRoot(URI swapFileDataRoot) {
|
||||
public Builder swapFileDataRoot(CimString swapFileDataRoot) {
|
||||
this.swapFileDataRoot = swapFileDataRoot;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder virtualSystemIdentifier(String virtualSystemIdentifier) {
|
||||
public Builder virtualSystemIdentifier(CimString virtualSystemIdentifier) {
|
||||
this.virtualSystemIdentifier = virtualSystemIdentifier;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder virtualSystemTypes(Iterable<String> virtualSystemTypes) {
|
||||
this.virtualSystemTypes = ImmutableSet.copyOf(checkNotNull(virtualSystemTypes, "virtualSystemTypes"));
|
||||
public Builder virtualSystemType(CimString virtualSystemType) {
|
||||
this.virtualSystemType = virtualSystemType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder virtualSystemType(String virtualSystemType) {
|
||||
this.virtualSystemTypes.add(checkNotNull(virtualSystemType, "virtualSystemType"));
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder notes(String notes) {
|
||||
public Builder notes(CimString notes) {
|
||||
this.notes = notes;
|
||||
return this;
|
||||
}
|
||||
|
@ -177,77 +203,48 @@ public class VirtualSystemSettingData extends ManagedElement {
|
|||
automaticShutdownAction, automaticStartupAction, automaticStartupActionDelay,
|
||||
automaticStartupActionSequenceNumber, configurationDataRoot, configurationFile, configurationID,
|
||||
creationTime, logDataRoot, recoveryFile, snapshotDataRoot, suspendDataRoot, swapFileDataRoot,
|
||||
virtualSystemIdentifier, virtualSystemTypes, notes);
|
||||
virtualSystemIdentifier, virtualSystemType, notes);
|
||||
}
|
||||
|
||||
public Builder fromVirtualSystemSettingData(VirtualSystemSettingData in) {
|
||||
return fromManagedElement(in).automaticRecoveryAction(in.getAutomaticRecoveryAction())
|
||||
.automaticShutdownAction(in.getAutomaticShutdownAction()).automaticStartupAction(
|
||||
in.getAutomaticStartupAction()).automaticStartupActionDelay(
|
||||
in.getAutomaticStartupActionDelay()).automaticStartupActionSequenceNumber(
|
||||
in.getAutomaticStartupActionSequenceNumber()).configurationDataRoot(
|
||||
in.getConfigurationDataRoot()).configurationFile(in.getConfigurationFile()).configurationID(
|
||||
in.getConfigurationID()).creationTime(in.getCreationTime()).logDataRoot(in.getLogDataRoot())
|
||||
.recoveryFile(in.getRecoveryFile()).snapshotDataRoot(in.getSnapshotDataRoot()).suspendDataRoot(
|
||||
in.getSuspendDataRoot()).swapFileDataRoot(in.getSwapFileDataRoot()).virtualSystemIdentifier(
|
||||
in.getVirtualSystemIdentifier()).virtualSystemTypes(in.getVirtualSystemTypes()).notes(
|
||||
in.getNotes());
|
||||
}
|
||||
|
||||
/**
|
||||
* {@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));
|
||||
return elementName(in.getElementName())
|
||||
.instanceID(in.getInstanceID())
|
||||
.caption(in.getCaption())
|
||||
.description(in.getDescription())
|
||||
.automaticRecoveryAction(in.getAutomaticRecoveryAction())
|
||||
.automaticShutdownAction(in.getAutomaticShutdownAction())
|
||||
.automaticStartupAction(in.getAutomaticStartupAction())
|
||||
.automaticStartupActionDelay(in.getAutomaticStartupActionDelay())
|
||||
.automaticStartupActionSequenceNumber(in.getAutomaticStartupActionSequenceNumber())
|
||||
.configurationDataRoot(in.getConfigurationDataRoot())
|
||||
.configurationFile(in.getConfigurationFile())
|
||||
.configurationID(in.getConfigurationID())
|
||||
.creationTime(in.getCreationTime())
|
||||
.logDataRoot(in.getLogDataRoot())
|
||||
.recoveryFile(in.getRecoveryFile())
|
||||
.snapshotDataRoot(in.getSnapshotDataRoot())
|
||||
.suspendDataRoot(in.getSuspendDataRoot())
|
||||
.swapFileDataRoot(in.getSwapFileDataRoot())
|
||||
.virtualSystemIdentifier(in.getVirtualSystemIdentifier())
|
||||
.virtualSystemType(in.getVirtualSystemType())
|
||||
.notes(in.getNotes());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
* non-interuptable wait state condition.
|
||||
*/
|
||||
@XmlType
|
||||
@XmlEnum(Integer.class)
|
||||
public static enum AutomaticRecoveryAction {
|
||||
|
||||
NONE(2),
|
||||
|
||||
RESTART(3),
|
||||
|
||||
REVERT_TO_SNAPSHOT(4);
|
||||
@XmlEnumValue("2") NONE(2),
|
||||
@XmlEnumValue("3") RESTART(3),
|
||||
@XmlEnumValue("4") REVERT_TO_SNAPSHOT(4);
|
||||
|
||||
protected final int code;
|
||||
|
||||
|
@ -256,35 +253,32 @@ public class VirtualSystemSettingData extends ManagedElement {
|
|||
}
|
||||
|
||||
public String value() {
|
||||
return code + "";
|
||||
return Integer.toString(code);
|
||||
}
|
||||
|
||||
protected final static Map<Integer, AutomaticRecoveryAction> AUTOMATIC_RECOVERY_ACTION_BY_ID = Maps.uniqueIndex(
|
||||
ImmutableSet.copyOf(AutomaticRecoveryAction.values()), new Function<AutomaticRecoveryAction, Integer>() {
|
||||
|
||||
@Override
|
||||
public Integer apply(AutomaticRecoveryAction input) {
|
||||
return input.code;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
public static AutomaticRecoveryAction fromValue(String automaticRecoveryAction) {
|
||||
return AUTOMATIC_RECOVERY_ACTION_BY_ID.get(new Integer(checkNotNull(automaticRecoveryAction,
|
||||
"automaticRecoveryAction")));
|
||||
return AUTOMATIC_RECOVERY_ACTION_BY_ID.get(Integer.valueOf(checkNotNull(automaticRecoveryAction, "automaticRecoveryAction")));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Action to take for the virtual system when the host is shut down.
|
||||
*/
|
||||
@XmlType
|
||||
@XmlEnum(Integer.class)
|
||||
public static enum AutomaticShutdownAction {
|
||||
|
||||
TURN_OFF(2),
|
||||
|
||||
SAVE_STATE(3),
|
||||
|
||||
SHUTDOWN(4);
|
||||
@XmlEnumValue("2") TURN_OFF(2),
|
||||
@XmlEnumValue("3") SAVE_STATE(3),
|
||||
@XmlEnumValue("4") SHUTDOWN(4);
|
||||
|
||||
protected final int code;
|
||||
|
||||
|
@ -293,35 +287,32 @@ public class VirtualSystemSettingData extends ManagedElement {
|
|||
}
|
||||
|
||||
public String value() {
|
||||
return code + "";
|
||||
return Integer.toString(code);
|
||||
}
|
||||
|
||||
protected final static Map<Integer, AutomaticShutdownAction> AUTOMATIC_SHUTDOWN_ACTION_BY_ID = Maps.uniqueIndex(
|
||||
ImmutableSet.copyOf(AutomaticShutdownAction.values()), new Function<AutomaticShutdownAction, Integer>() {
|
||||
|
||||
@Override
|
||||
public Integer apply(AutomaticShutdownAction input) {
|
||||
return input.code;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
public static AutomaticShutdownAction fromValue(String automaticShutdownAction) {
|
||||
return AUTOMATIC_SHUTDOWN_ACTION_BY_ID.get(new Integer(checkNotNull(automaticShutdownAction,
|
||||
"automaticShutdownAction")));
|
||||
return AUTOMATIC_SHUTDOWN_ACTION_BY_ID.get(Integer.valueOf(checkNotNull(automaticShutdownAction, "automaticShutdownAction")));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Action to take for the virtual system when the host is started.
|
||||
*/
|
||||
@XmlType
|
||||
@XmlEnum(Integer.class)
|
||||
public static enum AutomaticStartupAction {
|
||||
|
||||
NONE(2),
|
||||
|
||||
RESTART_IF_PREVIOUSLY_ACTIVE(3),
|
||||
|
||||
ALWAYS_STARTUP(4);
|
||||
@XmlEnumValue("2") NONE(2),
|
||||
@XmlEnumValue("3") RESTART_IF_PREVIOUSLY_ACTIVE(3),
|
||||
@XmlEnumValue("4") ALWAYS_STARTUP(4);
|
||||
|
||||
protected final int code;
|
||||
|
||||
|
@ -330,51 +321,76 @@ public class VirtualSystemSettingData extends ManagedElement {
|
|||
}
|
||||
|
||||
public String value() {
|
||||
return code + "";
|
||||
return Integer.toString(code);
|
||||
}
|
||||
|
||||
protected final static Map<Integer, AutomaticStartupAction> AUTOMATIC_STARTUP_ACTION_BY_ID = Maps.uniqueIndex(
|
||||
ImmutableSet.copyOf(AutomaticStartupAction.values()), new Function<AutomaticStartupAction, Integer>() {
|
||||
|
||||
@Override
|
||||
public Integer apply(AutomaticStartupAction input) {
|
||||
return input.code;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
public static AutomaticStartupAction fromValue(String automaticStartupAction) {
|
||||
return AUTOMATIC_STARTUP_ACTION_BY_ID.get(new Integer(checkNotNull(automaticStartupAction,
|
||||
"automaticStartupAction")));
|
||||
return AUTOMATIC_STARTUP_ACTION_BY_ID.get(Integer.valueOf(checkNotNull(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;
|
||||
@XmlElement(name = "AutomaticShutdownAction", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
private AutomaticShutdownAction automaticShutdownAction;
|
||||
@XmlElement(name = "AutomaticStartupAction", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
private AutomaticStartupAction automaticStartupAction;
|
||||
private Long automaticStartupActionDelay;
|
||||
private Integer automaticStartupActionSequenceNumber;
|
||||
private URI configurationDataRoot;
|
||||
private URI configurationFile;
|
||||
private String configurationID;
|
||||
@XmlElement(name = "AutomaticStartupActionDelay", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
private CimUnsignedLong automaticStartupActionDelay;
|
||||
@XmlElement(name = "AutomaticStartupActionSequenceNumber", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
private CimUnsignedInt automaticStartupActionSequenceNumber;
|
||||
@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 URI logDataRoot;
|
||||
private URI recoveryFile;
|
||||
private URI snapshotDataRoot;
|
||||
private URI suspendDataRoot;
|
||||
private URI swapFileDataRoot;
|
||||
private String virtualSystemIdentifier;
|
||||
private Set<String> virtualSystemTypes;
|
||||
private String notes;
|
||||
@XmlElement(name = "LogDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
private CimString logDataRoot;
|
||||
@XmlElement(name = "RecoveryFile", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
private CimString recoveryFile;
|
||||
@XmlElement(name = "SnapshotDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
private CimString snapshotDataRoot;
|
||||
@XmlElement(name = "SuspendDataRoot", namespace = VCLOUD_CIM_VSSD_NS)
|
||||
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,
|
||||
AutomaticStartupAction automaticStartupAction, Long automaticStartupActionDelay,
|
||||
Integer automaticStartupActionSequenceNumber, URI configurationDataRoot, URI configurationFile,
|
||||
String configurationID, Date creationTime, URI logDataRoot, URI recoveryFile, URI snapshotDataRoot,
|
||||
URI suspendDataRoot, URI swapFileDataRoot, String virtualSystemIdentifier,
|
||||
Iterable<String> virtualSystemTypes, String notes) {
|
||||
super(elementName, instanceID, caption, description);
|
||||
AutomaticStartupAction automaticStartupAction, CimUnsignedLong automaticStartupActionDelay,
|
||||
CimUnsignedInt automaticStartupActionSequenceNumber, CimString configurationDataRoot, CimString configurationFile,
|
||||
CimString configurationID, Date creationTime, CimString logDataRoot, CimString recoveryFile, CimString snapshotDataRoot,
|
||||
CimString suspendDataRoot, CimString swapFileDataRoot, CimString virtualSystemIdentifier,
|
||||
CimString virtualSystemType, CimString notes) {
|
||||
this.elementName = elementName;
|
||||
this.instanceID = instanceID;
|
||||
this.caption = caption;
|
||||
this.description = description;
|
||||
this.automaticRecoveryAction = automaticRecoveryAction;
|
||||
this.automaticShutdownAction = automaticShutdownAction;
|
||||
this.automaticStartupAction = automaticStartupAction;
|
||||
|
@ -390,7 +406,7 @@ public class VirtualSystemSettingData extends ManagedElement {
|
|||
this.suspendDataRoot = suspendDataRoot;
|
||||
this.swapFileDataRoot = swapFileDataRoot;
|
||||
this.virtualSystemIdentifier = virtualSystemIdentifier;
|
||||
this.virtualSystemTypes = ImmutableSet.copyOf(checkNotNull(virtualSystemTypes, "virtualSystemTypes"));
|
||||
this.virtualSystemType = virtualSystemType;
|
||||
this.notes = notes;
|
||||
}
|
||||
|
||||
|
@ -398,6 +414,37 @@ public class VirtualSystemSettingData extends ManagedElement {
|
|||
// 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.
|
||||
* 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
|
||||
* datatype.
|
||||
*/
|
||||
public Long getAutomaticStartupActionDelay() {
|
||||
public CimUnsignedLong getAutomaticStartupActionDelay() {
|
||||
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
|
||||
* is implementation dependent.
|
||||
*/
|
||||
public Integer getAutomaticStartupActionSequenceNumber() {
|
||||
public CimUnsignedInt getAutomaticStartupActionSequenceNumber() {
|
||||
return automaticStartupActionSequenceNumber;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Filepath of a file where information about the virtual system configuration is stored. A
|
||||
* relative path appends to the value of the ConfigurationDataRoot property.Format shall be URI
|
||||
* based on RFC 2079.
|
||||
* Filepath of a file where information about the virtual system configuration is stored.
|
||||
*
|
||||
* 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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
* 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;
|
||||
}
|
||||
|
||||
|
@ -473,81 +524,89 @@ public class VirtualSystemSettingData extends ManagedElement {
|
|||
}
|
||||
|
||||
/**
|
||||
* Filepath of a directory where log 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.
|
||||
* Filepath of a directory where log information about the virtual system is stored.
|
||||
*
|
||||
* 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Filepath of a file where recovery relateded information of the virtual system is stored.Format
|
||||
* shall be URI based on RFC 2079.
|
||||
* Filepath of a file where recovery relateded information of the virtual system is stored.
|
||||
*
|
||||
* Format shall be CimString based on RFC-2079.
|
||||
*/
|
||||
public URI getRecoveryFile() {
|
||||
public CimString getRecoveryFile() {
|
||||
return recoveryFile;
|
||||
}
|
||||
|
||||
/**
|
||||
* Filepath of a directory where information about virtual system snapshots is stored. A relative
|
||||
* path appends to the value of the ConfigurationDataRoot property.Format shall be URI based on
|
||||
* RFC 2079.
|
||||
* Filepath of a directory where information about virtual system snapshots is stored.
|
||||
*
|
||||
* 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Filepath of a directory where swapfiles of the virtual system are stored. A relative path
|
||||
* appends to the value of the ConfigurationDataRoot property.Format shall be URI based on RFC
|
||||
* 2079.
|
||||
* Filepath of a directory where swapfiles of the virtual system are stored.
|
||||
*
|
||||
* 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
* 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 be interpreted by the implementation when assigning a VirtualSystemIdentifier.
|
||||
*/
|
||||
public String getVirtualSystemIdentifier() {
|
||||
public CimString getVirtualSystemIdentifier() {
|
||||
return virtualSystemIdentifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* VirtualSystemType shall reflect a particular type of virtual system.
|
||||
*/
|
||||
public Set<String> getVirtualSystemTypes() {
|
||||
return virtualSystemTypes;
|
||||
public CimString getVirtualSystemType() {
|
||||
return virtualSystemType;
|
||||
}
|
||||
|
||||
/**
|
||||
* End-user supplied notes that are related to the virtual system.
|
||||
*/
|
||||
public String getNotes() {
|
||||
public CimString getNotes() {
|
||||
return notes;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = super.hashCode();
|
||||
result = prime * result + ((virtualSystemIdentifier == null) ? 0 : virtualSystemIdentifier.hashCode());
|
||||
return result;
|
||||
return Objects.hashCode(elementName, instanceID, caption, description, virtualSystemIdentifier, virtualSystemType);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -558,25 +617,23 @@ public class VirtualSystemSettingData extends ManagedElement {
|
|||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
VirtualSystemSettingData other = (VirtualSystemSettingData) obj;
|
||||
if (virtualSystemIdentifier == null) {
|
||||
if (other.virtualSystemIdentifier != null)
|
||||
return false;
|
||||
} else if (!virtualSystemIdentifier.equals(other.virtualSystemIdentifier))
|
||||
return false;
|
||||
return true;
|
||||
VirtualSystemSettingData that = VirtualSystemSettingData.class.cast(obj);
|
||||
return equal(this.elementName, that.elementName) &&
|
||||
equal(this.instanceID, that.instanceID) &&
|
||||
equal(this.caption, that.caption) &&
|
||||
equal(this.description, that.description) &&
|
||||
equal(this.virtualSystemIdentifier, that.virtualSystemIdentifier) &&
|
||||
equal(this.virtualSystemType, that.virtualSystemType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String
|
||||
.format(
|
||||
"[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]",
|
||||
elementName, instanceID, caption, description, automaticRecoveryAction,
|
||||
automaticShutdownAction, automaticStartupAction, automaticStartupActionDelay,
|
||||
automaticStartupActionSequenceNumber, configurationDataRoot, configurationFile,
|
||||
configurationID, creationTime, logDataRoot, notes, recoveryFile, snapshotDataRoot,
|
||||
suspendDataRoot, swapFileDataRoot, virtualSystemIdentifier, virtualSystemTypes);
|
||||
return Objects.toStringHelper("")
|
||||
.add("caption", caption)
|
||||
.add("description", description)
|
||||
.add("virtualSystemIdentifier", virtualSystemIdentifier)
|
||||
.add("virtualSystemType", virtualSystemType)
|
||||
.toString();
|
||||
}
|
||||
|
||||
}
|
|
@ -16,14 +16,26 @@
|
|||
* specific language governing permissions and limitations
|
||||
* 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)
|
||||
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_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.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlNs;
|
||||
import javax.xml.bind.annotation.XmlNsForm;
|
||||
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
|
||||
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
|
||||
// Any modifications to this file will be lost upon recompilation of the source schema.
|
||||
// Generated on: 2012.02.08 at 02:47:44 PM GMT
|
||||
//
|
||||
|
||||
|
||||
/*
|
||||
* 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.ovf;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
|
||||
import java.util.HashMap;
|
||||
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.XmlAttribute;
|
||||
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.namespace.QName;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
|
||||
/**
|
||||
* <p>Java class for anonymous complex type.
|
||||
*
|
||||
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||
* Java class for anonymous complex type.
|
||||
*
|
||||
* <pre>
|
||||
* <complexType>
|
||||
|
@ -41,82 +51,51 @@ import javax.xml.namespace.QName;
|
|||
* </complexContent>
|
||||
* </complexType>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlType(name = "")
|
||||
@XmlType
|
||||
@XmlSeeAlso({
|
||||
StartupSectionItem.class
|
||||
})
|
||||
public class Item {
|
||||
|
||||
// TODO Builder
|
||||
|
||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1", required = true)
|
||||
@XmlAttribute(required = true)
|
||||
protected String id;
|
||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1", required = true)
|
||||
@XmlAttribute(required = true)
|
||||
@XmlSchemaType(name = "unsignedShort")
|
||||
protected int order;
|
||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1")
|
||||
@XmlAttribute
|
||||
@XmlSchemaType(name = "unsignedShort")
|
||||
protected Integer startDelay;
|
||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1")
|
||||
@XmlAttribute
|
||||
protected Boolean waitingForGuest;
|
||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1")
|
||||
@XmlAttribute
|
||||
@XmlSchemaType(name = "unsignedShort")
|
||||
protected Integer stopDelay;
|
||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1")
|
||||
@XmlAttribute
|
||||
protected String startAction;
|
||||
@XmlAttribute(namespace = "http://schemas.dmtf.org/ovf/envelope/1")
|
||||
@XmlAttribute
|
||||
protected String stopAction;
|
||||
@XmlAnyAttribute
|
||||
private Map<QName, String> otherAttributes = new HashMap<QName, String>();
|
||||
|
||||
/**
|
||||
* Gets the value of the id property.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getId() {
|
||||
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.
|
||||
*
|
||||
*/
|
||||
public int getOrder() {
|
||||
return order;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the value of the order property.
|
||||
*
|
||||
*/
|
||||
public void setOrder(int value) {
|
||||
this.order = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value of the startDelay property.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link Integer }
|
||||
*
|
||||
*/
|
||||
public int getStartDelay() {
|
||||
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.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public boolean isWaitingForGuest() {
|
||||
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.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link Integer }
|
||||
*
|
||||
*/
|
||||
public int getStopDelay() {
|
||||
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.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getStartAction() {
|
||||
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.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link String }
|
||||
*
|
||||
*/
|
||||
public String getStopAction() {
|
||||
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.
|
||||
*
|
||||
* <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() {
|
||||
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.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_VMW_NS;
|
||||
|
||||
import java.net.URI;
|
||||
|
@ -30,6 +31,7 @@ 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.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.Link;
|
||||
|
||||
|
@ -44,6 +46,7 @@ import com.google.common.collect.Sets;
|
|||
* @author Adam Lowe
|
||||
*/
|
||||
@XmlRootElement(name = "OperatingSystemSection")
|
||||
@XmlType
|
||||
public class OperatingSystemSection extends SectionType {
|
||||
|
||||
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> {
|
||||
private Integer id;
|
||||
private int id;
|
||||
private String description;
|
||||
private String version;
|
||||
private String osType;
|
||||
|
@ -69,7 +72,7 @@ public class OperatingSystemSection extends SectionType {
|
|||
/**
|
||||
* @see OperatingSystemSection#getId()
|
||||
*/
|
||||
public B id(Integer id) {
|
||||
public B id(int id) {
|
||||
this.id = id;
|
||||
return self();
|
||||
}
|
||||
|
@ -141,16 +144,17 @@ public class OperatingSystemSection extends SectionType {
|
|||
}
|
||||
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
@XmlAttribute(required = true)
|
||||
protected Integer id;
|
||||
@XmlAttribute(namespace = VCLOUD_OVF_NS, required = true)
|
||||
protected int id;
|
||||
@XmlAttribute
|
||||
protected String version;
|
||||
@XmlElement
|
||||
@XmlElement(name = "Description")
|
||||
protected String description;
|
||||
@XmlAttribute(namespace = VCLOUD_VMW_NS)
|
||||
protected String osType;
|
||||
|
@ -181,7 +185,7 @@ public class OperatingSystemSection extends SectionType {
|
|||
*
|
||||
* @see org.jclouds.vcloud.director.v1_5.domain.cim.OSType#getCode()
|
||||
*/
|
||||
public Integer getId() {
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
|
@ -230,7 +234,7 @@ public class OperatingSystemSection extends SectionType {
|
|||
* @see ResourceType#getLinks()
|
||||
*/
|
||||
public Set<Link> getLinks() {
|
||||
return links == null ? ImmutableSet.<Link>of() : Collections.unmodifiableSet(links);
|
||||
return links == null ? Sets.<Link>newLinkedHashSet() : ImmutableSet.copyOf(links);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -18,8 +18,14 @@
|
|||
*/
|
||||
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 java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
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.GuestCustomizationSection;
|
||||
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.NetworkConnectionSection;
|
||||
import org.jclouds.vcloud.director.v1_5.domain.RuntimeInfoSection;
|
||||
|
||||
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.
|
||||
|
@ -41,6 +50,7 @@ import com.google.common.base.Objects;
|
|||
*
|
||||
* @author Adrian Cole
|
||||
* @author Adam Lowe
|
||||
* @author grkvlt@apache.org
|
||||
*/
|
||||
@XmlType(name = "Section_Type")
|
||||
@XmlSeeAlso({
|
||||
|
@ -63,6 +73,7 @@ public abstract class SectionType {
|
|||
public static abstract class Builder<B extends Builder<B>> {
|
||||
private String info;
|
||||
private Boolean required;
|
||||
private Set<Link> links = Sets.newLinkedHashSet();
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
protected B self() {
|
||||
|
@ -103,19 +114,40 @@ public abstract class SectionType {
|
|||
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) {
|
||||
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;
|
||||
@XmlAttribute(namespace = VCLOUD_OVF_NS)
|
||||
private Boolean required;
|
||||
@XmlElement(name = "Link", namespace = VCLOUD_1_5_NS)
|
||||
private Set<Link> links = Sets.newLinkedHashSet();
|
||||
|
||||
protected SectionType(Builder<?> builder) {
|
||||
this.info = builder.info;
|
||||
this.required = builder.required;
|
||||
this.links = builder.links != null ? ImmutableSet.copyOf(builder.links) : Collections.<Link>emptySet();
|
||||
}
|
||||
|
||||
protected SectionType() {
|
||||
|
@ -139,9 +171,16 @@ public abstract class SectionType {
|
|||
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
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(info, required);
|
||||
return Objects.hashCode(info, required, links);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -153,7 +192,7 @@ public abstract class SectionType {
|
|||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
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
|
||||
|
@ -162,7 +201,7 @@ public abstract class SectionType {
|
|||
}
|
||||
|
||||
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.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAnyElement;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Objects.ToStringHelper;
|
||||
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
|
||||
|
@ -55,8 +55,7 @@ public class StartupSection extends SectionType {
|
|||
|
||||
public static class Builder<B extends Builder<B>> extends SectionType.Builder<B> {
|
||||
|
||||
private List<StartupSectionItem> items = Collections.emptyList();
|
||||
private List<Object> any = Collections.emptyList();
|
||||
private List<StartupSectionItem> items = Lists.newArrayList();
|
||||
|
||||
/**
|
||||
* @see StartupSection#getItem()
|
||||
|
@ -74,28 +73,18 @@ public class StartupSection extends SectionType {
|
|||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see StartupSection#getAny()
|
||||
*/
|
||||
public B any(List<Object> any) {
|
||||
this.any = any;
|
||||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
public StartupSection build() {
|
||||
return new StartupSection(this);
|
||||
}
|
||||
|
||||
public B fromStartupSection(StartupSection in) {
|
||||
return fromSectionType(in).items(items).any(any);
|
||||
return fromSectionType(in).items(in.getItems());
|
||||
}
|
||||
}
|
||||
|
||||
@XmlElement(name = "Item")
|
||||
private List<StartupSectionItem> items;
|
||||
@XmlAnyElement(lax = true)
|
||||
private List<Object> any;
|
||||
private List<StartupSectionItem> items = Lists.newArrayList();
|
||||
|
||||
protected StartupSection() {
|
||||
// For JAXB
|
||||
|
@ -104,23 +93,15 @@ public class StartupSection extends SectionType {
|
|||
public StartupSection(Builder<?> builder) {
|
||||
super(builder);
|
||||
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.
|
||||
*/
|
||||
public List<StartupSectionItem> getItem() {
|
||||
public List<StartupSectionItem> getItems() {
|
||||
return items;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value of the any property.
|
||||
*/
|
||||
public List<Object> getAny() {
|
||||
return any;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o)
|
||||
|
@ -128,17 +109,16 @@ public class StartupSection extends SectionType {
|
|||
if (o == null || getClass() != o.getClass())
|
||||
return false;
|
||||
StartupSection that = StartupSection.class.cast(o);
|
||||
return super.equals(that) &&
|
||||
equal(this.items, that.items) && equal(this.any, that.any);
|
||||
return super.equals(that) && equal(this.items, that.items);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(super.hashCode(), items, any);
|
||||
return Objects.hashCode(super.hashCode(), items);
|
||||
}
|
||||
|
||||
@Override
|
||||
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
|
||||
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
|
||||
// Any modifications to this file will be lost upon recompilation of the source schema.
|
||||
// Generated on: 2012.02.08 at 02:47:44 PM GMT
|
||||
//
|
||||
|
||||
|
||||
/*
|
||||
* 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.ovf;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlType;
|
||||
|
||||
|
||||
/**
|
||||
* <p>Java class for Item element declaration.
|
||||
*
|
||||
* <p>The following schema fragment specifies the expected content contained within this class.
|
||||
* Java class for Item element declaration.
|
||||
*
|
||||
* <pre>
|
||||
* <element name="Item">
|
||||
|
@ -37,12 +42,23 @@ import javax.xml.bind.annotation.XmlType;
|
|||
* </complexType>
|
||||
* </element>
|
||||
* </pre>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@XmlType(name = "")
|
||||
@XmlType
|
||||
@XmlRootElement(name = "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;
|
||||
|
||||
import static com.google.common.base.Objects.equal;
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
|
||||
import java.util.Collections;
|
||||
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.XmlType;
|
||||
|
||||
import org.jclouds.vcloud.director.v1_5.domain.cim.ResourceAllocationSettingData;
|
||||
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.collect.ImmutableSet;
|
||||
import com.google.common.collect.Sets;
|
||||
|
@ -40,8 +46,10 @@ import com.google.common.collect.Sets;
|
|||
*
|
||||
* @author Adrian Cole
|
||||
* @author Adam Lowe
|
||||
* @author grkvlt@apache.org
|
||||
*/
|
||||
@XmlRootElement(name = "VirtualHardwareSection")
|
||||
@XmlType(name = "VirtualHardwareSection_Type")
|
||||
public class VirtualHardwareSection extends SectionType {
|
||||
|
||||
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> {
|
||||
|
||||
protected VirtualSystemSettingData virtualSystem;
|
||||
protected Set<String> transports = Sets.newLinkedHashSet();
|
||||
protected String transport;
|
||||
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) {
|
||||
this.transports.add(checkNotNull(transport, "transport"));
|
||||
this.transport = transport;
|
||||
return self();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see VirtualHardwareSection#getTransports
|
||||
* @see VirtualHardwareSection#getTransport()
|
||||
*/
|
||||
public B transports(Iterable<String> transports) {
|
||||
this.transports = ImmutableSet.<String>copyOf(checkNotNull(transports, "transports"));
|
||||
public B transport(Iterable<String> transports) {
|
||||
this.transport = Joiner.on(',').join(transports);
|
||||
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) {
|
||||
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) {
|
||||
this.items = ImmutableSet.<ResourceAllocationSettingData>copyOf(checkNotNull(
|
||||
items, "items"));
|
||||
this.items = Sets.newLinkedHashSet(checkNotNull(items, "items"));
|
||||
return self();
|
||||
}
|
||||
|
||||
|
@ -110,20 +126,25 @@ public class VirtualHardwareSection extends SectionType {
|
|||
}
|
||||
|
||||
public B fromVirtualHardwareSection(VirtualHardwareSection in) {
|
||||
return fromSectionType(in).items(in.getItems()).transports(in.getTransports()).system(
|
||||
in.getSystem()).info(in.getInfo());
|
||||
return fromSectionType(in)
|
||||
.items(in.getItems())
|
||||
.transport(in.getTransport())
|
||||
.system(in.getSystem());
|
||||
}
|
||||
}
|
||||
|
||||
@XmlElement(name = "System")
|
||||
private VirtualSystemSettingData virtualSystem;
|
||||
private Set<String> transports;
|
||||
private Set<ResourceAllocationSettingData> items;
|
||||
@XmlAttribute(name = "transport")
|
||||
private String transport;
|
||||
@XmlElement(name = "Item")
|
||||
private Set<ResourceAllocationSettingData> items = Sets.newLinkedHashSet();
|
||||
|
||||
private VirtualHardwareSection(Builder<?> builder) {
|
||||
super(builder);
|
||||
this.virtualSystem = builder.virtualSystem;
|
||||
this.transports = ImmutableSet.<String>copyOf(checkNotNull(builder.transports, "transports"));
|
||||
this.items = ImmutableSet.<ResourceAllocationSettingData>copyOf(checkNotNull(builder.items, "items"));
|
||||
this.transport = builder.transport;
|
||||
this.items = builder.items != null ? ImmutableSet.copyOf(builder.items) : Collections.<ResourceAllocationSettingData>emptySet();
|
||||
}
|
||||
|
||||
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.
|
||||
* <p/>
|
||||
* <p>
|
||||
* 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
|
||||
* 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
|
||||
* 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.
|
||||
* <p/>
|
||||
* <p>
|
||||
* 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.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Set<String> getTransports() {
|
||||
return transports;
|
||||
public String getTransport() {
|
||||
return transport;
|
||||
}
|
||||
|
||||
public VirtualSystemSettingData getSystem() {
|
||||
|
@ -161,7 +184,7 @@ public class VirtualHardwareSection extends SectionType {
|
|||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hashCode(super.hashCode(), transports, virtualSystem, items);
|
||||
return Objects.hashCode(super.hashCode(), transport, virtualSystem, items);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -169,15 +192,15 @@ public class VirtualHardwareSection extends SectionType {
|
|||
if (this == obj) return true;
|
||||
if (obj == null) return false;
|
||||
if (getClass() != obj.getClass()) return false;
|
||||
|
||||
VirtualHardwareSection other = (VirtualHardwareSection) obj;
|
||||
return super.equals(other) && Objects.equal(transports, other.transports)
|
||||
&& Objects.equal(virtualSystem, other.virtualSystem)
|
||||
&& Objects.equal(items, other.items);
|
||||
VirtualHardwareSection that = VirtualHardwareSection.class.cast(obj);
|
||||
return super.equals(that) &&
|
||||
equal(this.transport, that.transport) &&
|
||||
equal(this.virtualSystem, that.virtualSystem) &&
|
||||
equal(this.items, that.items);
|
||||
}
|
||||
|
||||
@Override
|
||||
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,
|
||||
elementFormDefault = XmlNsForm.QUALIFIED,
|
||||
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)
|
||||
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_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.XmlAccessorType;
|
||||
|
|
|
@ -403,7 +403,7 @@ public interface VAppAsyncClient {
|
|||
*/
|
||||
@PUT
|
||||
@Path("/networkConnectionSection")
|
||||
@Produces(NETWORK_CONFIG_SECTION)
|
||||
@Produces(NETWORK_CONNECTION_SECTION)
|
||||
@Consumes(TASK)
|
||||
@JAXBResponseParser
|
||||
@ExceptionParser(ThrowVCloudErrorOn4xx.class)
|
||||
|
|
|
@ -25,7 +25,7 @@ public class VCloudDirectorLiveTestConstants {
|
|||
|
||||
/* 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. */
|
||||
|
||||
|
|
|
@ -597,6 +597,25 @@ public class Checks {
|
|||
}
|
||||
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) {
|
||||
// Check optional fields
|
||||
|
@ -727,11 +746,7 @@ public class Checks {
|
|||
// Check optional fields
|
||||
VirtualSystemSettingData virtualSystem = hardware.getSystem();
|
||||
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) {
|
||||
for (ResourceAllocationSettingData item : hardware.getItems()) {
|
||||
checkResourceAllocationSettingData(item);
|
||||
|
|
|
@ -28,6 +28,7 @@ import static org.testng.Assert.assertTrue;
|
|||
import static org.testng.Assert.assertFalse;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
import java.net.URI;
|
||||
import java.util.List;
|
||||
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.Vdc;
|
||||
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.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.internal.BaseVCloudDirectorClientLiveTest;
|
||||
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) {
|
||||
CimUnsignedInt result = new CimUnsignedInt();
|
||||
result.setValue(val);
|
||||
return result;
|
||||
}
|
||||
|
||||
protected static CimUnsignedLong cimUnsignedLong(BigInteger val) {
|
||||
CimUnsignedLong result = new CimUnsignedLong();
|
||||
result.setValue(val);
|
||||
return result;
|
||||
}
|
||||
|
||||
protected static CimString cimString(String 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.checkVApp;
|
||||
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.assertFalse;
|
||||
import static org.testng.Assert.assertNotNull;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
import static org.testng.Assert.fail;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.net.URI;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
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.MetadataValue;
|
||||
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.Owner;
|
||||
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.VApp;
|
||||
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.NetworkSection;
|
||||
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 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.Iterables;
|
||||
|
||||
|
@ -349,7 +361,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
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() {
|
||||
// The method under test
|
||||
Task installVMwareTools = vAppClient.installVMwareTools(vApp.getHref());
|
||||
|
@ -416,6 +428,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
GuestCustomizationSection oldSection = vAppClient.getGuestCustomizationSection(vmURI);
|
||||
GuestCustomizationSection newSection = oldSection.toBuilder()
|
||||
.computerName("newComputerName")
|
||||
.enabled(Boolean.FALSE)
|
||||
.adminPassword(null) // Not allowed
|
||||
.build();
|
||||
|
||||
|
@ -431,6 +444,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
|
||||
// Check the modified section fields are set correctly
|
||||
assertEquals(modified.getComputerName(), newSection.getComputerName());
|
||||
assertFalse(modified.isEnabled());
|
||||
|
||||
// Reset the admin password in the retrieved GuestCustomizationSection for equality check
|
||||
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" })
|
||||
public void testModifyNetworkConnectionSection() {
|
||||
// Get URI for child VM
|
||||
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
|
||||
NetworkConnectionSection oldSection = vAppClient.getNetworkConnectionSection(vmURI);
|
||||
NetworkConnectionSection newSection = oldSection.toBuilder()
|
||||
.info("Changed NetworkConnectionSection Info")
|
||||
.networkConnection(NetworkConnection.builder()
|
||||
.ipAddressAllocationMode(IpAddressAllocationMode.DHCP.toString())
|
||||
.network(network.getName())
|
||||
.build())
|
||||
.build();
|
||||
|
||||
// The method under test
|
||||
|
@ -588,8 +610,8 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
// Check the retrieved object is well formed
|
||||
checkNetworkConnectionSection(modified);
|
||||
|
||||
// Check the modified section fields are set correctly
|
||||
assertEquals(modified.getInfo(), newSection.getInfo());
|
||||
// Check the modified section has an extra network connection
|
||||
assertEquals(modified.getNetworkConnections().size(), newSection.getNetworkConnections().size() + 1);
|
||||
|
||||
// Check the section was modified correctly
|
||||
assertEquals(modified, newSection, String.format(ENTITY_EQUAL, "NetworkConnectionSection"));
|
||||
|
@ -621,13 +643,12 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
// Get URI for child VM
|
||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||
|
||||
// Copy existing section and update fields
|
||||
OperatingSystemSection oldSection = vAppClient.getOperatingSystemSection(vmURI);
|
||||
OperatingSystemSection newSection = oldSection.toBuilder()
|
||||
.info("Changed OperatingSystemSection Description")
|
||||
.description("Changed OperatingSystemSection Description")
|
||||
// Create new OperatingSystemSection
|
||||
OperatingSystemSection newSection = OperatingSystemSection.builder()
|
||||
.info("") // NOTE Required OVF field, ignored
|
||||
.id(OSType.RHEL_64.getCode())
|
||||
.osType("rhel5_64Guest")
|
||||
.build();
|
||||
assertNotNull(newSection.getId());
|
||||
|
||||
// The method under test
|
||||
Task modifyOperatingSystemSection = vAppClient.modifyOperatingSystemSection(vmURI, newSection);
|
||||
|
@ -640,11 +661,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
checkOperatingSystemSection(modified);
|
||||
|
||||
// Check the modified section fields are set correctly
|
||||
assertEquals(modified.getInfo(), newSection.getInfo());
|
||||
assertEquals(modified.getDescription(), newSection.getDescription());
|
||||
|
||||
// Check the section was modified correctly
|
||||
assertEquals(modified, newSection, String.format(ENTITY_EQUAL, "OperatingSystemSection"));
|
||||
assertEquals(modified.getId(), newSection.getId());
|
||||
}
|
||||
|
||||
@Test(testName = "GET /vApp/{id}/owner", dependsOnMethods = { "testGetVApp" })
|
||||
|
@ -689,7 +706,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
ProductSectionList newSections = oldSections.toBuilder()
|
||||
.productSection(ProductSection.builder()
|
||||
.info("Information about the installed software") // Default ovf:Info text
|
||||
.required(true)
|
||||
.required()
|
||||
.product(MsgType.builder().value("jclouds").build())
|
||||
.vendor(MsgType.builder().value("jclouds Inc.").build())
|
||||
// NOTE other ProductSection elements not returned by vCloud
|
||||
|
@ -706,21 +723,21 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
// Check the retrieved object is well formed
|
||||
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);
|
||||
|
||||
// Check the section was modified correctly
|
||||
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() {
|
||||
// TODO how to test?
|
||||
// The method under test
|
||||
VmPendingQuestion question = vAppClient.getPendingQuestion(vApp.getHref());
|
||||
|
||||
// Check the retrieved object is well formed
|
||||
// checkQuestion(question);
|
||||
checkVmPendingQuestion(question);
|
||||
}
|
||||
|
||||
@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
|
||||
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
|
||||
Task modifyVirtualHardwareSection = vAppClient.modifyVirtualHardwareSection(vmURI, newSection);
|
||||
|
@ -840,7 +874,10 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
// Get URI for child VM
|
||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||
|
||||
// Method under test
|
||||
RASD rasd = vAppClient.getVirtualHardwareSectionCpu(vmURI);
|
||||
|
||||
// Check the retrieved object is well formed
|
||||
checkRASD(rasd);
|
||||
}
|
||||
|
||||
|
@ -878,6 +915,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
// Get URI for child VM
|
||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||
|
||||
// Method under test
|
||||
RasdItemsList rasdItems = vAppClient.getVirtualHardwareSectionDisks(vmURI);
|
||||
|
||||
// Check the retrieved object is well formed
|
||||
|
@ -928,6 +966,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
// Get URI for child VM
|
||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||
|
||||
// Method under test
|
||||
RasdItemsList rasdItems = vAppClient.getVirtualHardwareSectionMedia(vmURI);
|
||||
|
||||
// Check the retrieved object is well formed
|
||||
|
@ -939,6 +978,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
// Get URI for child VM
|
||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||
|
||||
// Method under test
|
||||
RASD rasd = vAppClient.getVirtualHardwareSectionCpu(vmURI);
|
||||
|
||||
// Check the retrieved object is well formed
|
||||
|
@ -973,6 +1013,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
// Get URI for child VM
|
||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||
|
||||
// Method under test
|
||||
RasdItemsList rasdItems = vAppClient.getVirtualHardwareSectionNetworkCards(vmURI);
|
||||
|
||||
// Check the retrieved object is well formed
|
||||
|
@ -1007,6 +1048,7 @@ public class VAppClientLiveTest extends AbstractVAppClientLiveTest {
|
|||
// Get URI for child VM
|
||||
URI vmURI = Iterables.getOnlyElement(vApp.getChildren().getVms()).getHref();
|
||||
|
||||
// Method under test
|
||||
RasdItemsList rasdItems = vAppClient.getVirtualHardwareSectionSerialPorts(vmURI);
|
||||
|
||||
// Check the retrieved object is well formed
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
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.ERROR;
|
||||
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);
|
||||
|
||||
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 VcloudHttpRequestPrimer().apiCommand("PUT", templateId + "/metadata").xmlFilePayload("/vapptemplate/metadata.xml", METADATA).acceptMedia(TASK).httpRequestBuilder().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);
|
||||
|
||||
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();
|
||||
|
||||
client.getVAppTemplateMetadata(uri);
|
||||
|
|
Loading…
Reference in New Issue