You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ad...@apache.org on 2014/10/12 05:38:28 UTC
[5/9] Dedupe vcloud api calls and instead expose helper to resolve
ids to hrefs. cleanup pass on javadoc.
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a58cf0c6/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateApi.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateApi.java b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateApi.java
index df1ad86..d9240f0 100644
--- a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateApi.java
+++ b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VAppTemplateApi.java
@@ -37,6 +37,7 @@ import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import org.jclouds.dmtf.ovf.NetworkSection;
+import org.jclouds.javax.annotation.Nullable;
import org.jclouds.rest.annotations.BinderParam;
import org.jclouds.rest.annotations.EndpointParam;
import org.jclouds.rest.annotations.Fallback;
@@ -53,100 +54,28 @@ import org.jclouds.vcloud.director.v1_5.domain.section.CustomizationSection;
import org.jclouds.vcloud.director.v1_5.domain.section.LeaseSettingsSection;
import org.jclouds.vcloud.director.v1_5.domain.section.NetworkConfigSection;
import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationAndCookieToRequest;
-import org.jclouds.vcloud.director.v1_5.functions.URNToHref;
@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
public interface VAppTemplateApi {
- /**
- * Retrieves a vApp template (can be used also to retrieve a VM from a vApp Template).
- *
- * The vApp could be in one of these statues:
- * <ul>
- * <li>{@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#FAILED_CREATION
- * FAILED_CREATION(-1)} - Transient entity state, e.g., model object is addd but the
- * corresponding VC backing does not exist yet. This is further sub-categorized in the respective
- * entities.
- * <li>{@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#UNRESOLVED
- * UNRESOLVED(0)} - Entity is whole, e.g., VM creation is complete and all the required model
- * objects and VC backings are addd.
- * <li>{@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#RESOLVED
- * RESOLVED(1)} - Entity is resolved.
- * <li>{@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#UNKNOWN
- * UNKNOWN(6)} - Entity state could not be retrieved from the inventory, e.g., VM power state is
- * null.
- * <li>{@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#POWERED_OFF
- * POWERED_OFF(8)} - All VMs of the vApp template are powered off.
- * <li>{@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#MIXED MIXED(10)}
- * - vApp template status is set to {@code MIXED} when the VMs in the vApp are in different power
- * states.
- * </ul>
- *
- * <pre>
- * GET /vAppTemplate/{id}
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @return the requested template
- */
- @GET
- @Consumes(VAPP_TEMPLATE)
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- VAppTemplate get(@EndpointParam(parser = URNToHref.class) String templateUrn);
-
+ /** Returns the vApp template or null if not found. */
@GET
@Consumes(VAPP_TEMPLATE)
@JAXBResponseParser
@Fallback(NullOnNotFoundOr404.class)
+ @Nullable
VAppTemplate get(@EndpointParam URI reference);
/**
* Modifies only the name/description of a vApp template.
- *
- * <pre>
- * PUT /vAppTemplate/{id}
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @param template
- * the template containing the new name and/or description
- * @return the task performing the action. This operation is asynchronous and the user should
- * monitor the returned task status in order to check when it is completed.
*/
@PUT
@Produces(VAPP_TEMPLATE)
@Consumes(TASK)
@JAXBResponseParser
- Task edit(@EndpointParam(parser = URNToHref.class) String templateUrn,
- @BinderParam(BindToXMLPayload.class) VAppTemplate template);
-
- @PUT
- @Produces(VAPP_TEMPLATE)
- @Consumes(TASK)
- @JAXBResponseParser
Task edit(@EndpointParam URI templateHref,
@BinderParam(BindToXMLPayload.class) VAppTemplate template);
- /**
- * Deletes a vApp template.
- *
- * <pre>
- * DELETE /vAppTemplate/{id}
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @return the task performing the action. This operation is asynchronous and the user should
- * monitor the returned task status in order to check when it is completed.
- */
- @DELETE
- @Consumes(TASK)
- @JAXBResponseParser
- Task remove(@EndpointParam String templateUrn);
-
@DELETE
@Consumes(TASK)
@JAXBResponseParser
@@ -154,123 +83,33 @@ public interface VAppTemplateApi {
/**
* Disables the download link to the ovf of a vApp template.
- *
- * <pre>
- * POST /vAppTemplate/{id}/action/disableDownload
- * </pre>
- *
- * @param templateUrn
- * the String of the template
*/
@POST
@Path("/action/disableDownload")
@JAXBResponseParser
- void disableDownload(@EndpointParam(parser = URNToHref.class) String templateUrn);
-
- @POST
- @Path("/action/disableDownload")
- @JAXBResponseParser
void disableDownload(@EndpointParam URI templateHref);
/**
* Enables downloading of the ovf of a vApp template.
- *
- * <pre>
- * POST /vAppTemplate/{id}/action/enableDownload
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @return the task performing the action. This operation is asynchronous and the user should
- * monitor the returned task status in order to check when it is completed.
*/
@POST
@Consumes(TASK)
@Path("/action/enableDownload")
@JAXBResponseParser
- Task enableDownload(@EndpointParam(parser = URNToHref.class) String templateUrn);
-
- @POST
- @Consumes(TASK)
- @Path("/action/enableDownload")
- @JAXBResponseParser
Task enableDownload(@EndpointParam URI templateHref);
- /**
- * Retrieves the customization section of a vApp template.
- *
- * <pre>
- * GET /vAppTemplate/{id}/customizationSection
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @return the customization section
- */
- @GET
- @Consumes(CUSTOMIZATION_SECTION)
- @Path("/customizationSection")
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- CustomizationSection getCustomizationSection(
- @EndpointParam(parser = URNToHref.class) String templateUrn);
-
@GET
@Consumes(CUSTOMIZATION_SECTION)
@Path("/customizationSection")
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
CustomizationSection getCustomizationSection(@EndpointParam URI templateHref);
- /**
- * Retrieves the lease settings section of a vApp or vApp template
- *
- * <pre>
- * GET /vAppTemplate/{id}/leaseSettingsSection
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @return the lease settings
- */
- @GET
- @Consumes(LEASE_SETTINGS_SECTION)
- @Path("/leaseSettingsSection")
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- LeaseSettingsSection getLeaseSettingsSection(
- @EndpointParam(parser = URNToHref.class) String templateUrn);
-
@GET
@Consumes(LEASE_SETTINGS_SECTION)
@Path("/leaseSettingsSection")
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
LeaseSettingsSection getLeaseSettingsSection(@EndpointParam URI templateHref);
- /**
- * Modifies the lease settings section of a vApp or vApp template.
- *
- * <pre>
- * PUT /vAppTemplate/{id}/leaseSettingsSection
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @param settingsSection
- * the new configuration to apply
- * @return the task performing the action. This operation is asynchronous and the user should
- * monitor the returned task status in order to check when it is completed.
- */
- @PUT
- @Produces(LEASE_SETTINGS_SECTION)
- @Consumes(TASK)
- @Path("/leaseSettingsSection")
- @JAXBResponseParser
- Task editLeaseSettingsSection(
- @EndpointParam(parser = URNToHref.class) String templateUrn,
- @BinderParam(BindToXMLPayload.class) LeaseSettingsSection settingsSection);
-
@PUT
@Produces(LEASE_SETTINGS_SECTION)
@Consumes(TASK)
@@ -279,158 +118,43 @@ public interface VAppTemplateApi {
Task editLeaseSettingsSection(@EndpointParam URI templateHref,
@BinderParam(BindToXMLPayload.class) LeaseSettingsSection settingsSection);
- /**
- * Retrieves the network config section of a vApp or vApp template.
- *
- * <pre>
- * GET /vAppTemplate/{id}/networkConfigSection
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @return the network config section requested
- */
- @GET
- @Consumes(NETWORK_CONFIG_SECTION)
- @Path("/networkConfigSection")
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- NetworkConfigSection getNetworkConfigSection(
- @EndpointParam(parser = URNToHref.class) String templateUrn);
-
@GET
@Consumes(NETWORK_CONFIG_SECTION)
@Path("/networkConfigSection")
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
NetworkConfigSection getNetworkConfigSection(@EndpointParam URI templateHref);
- /**
- * Retrieves the network section of a vApp or vApp template.
- *
- * <pre>
- * GET /vAppTemplate/{id}/networkSection
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @return the network section requested
- */
@GET
@Consumes(NETWORK_SECTION)
@Path("/networkSection")
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- NetworkSection getNetworkSection(
- @EndpointParam(parser = URNToHref.class) String templateUrn);
-
- @GET
- @Consumes(NETWORK_SECTION)
- @Path("/networkSection")
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
NetworkSection getNetworkSection(@EndpointParam URI templateHref);
/**
* Retrieves an OVF descriptor of a vApp template.
*
- * This OVF represents the vApp template as it is, with all vCloud specific information (like mac
+ * <p/> This OVF represents the vApp template as it is, with all vCloud specific information (like mac
* address, parent networks, etc). The OVF which could be downloaded by enabling for download
* will not contain this information. There are no specific states bound to this entity.
- *
- * <pre>
- * GET /vAppTemplate/{id}/ovf
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @return the ovf envelope
*/
@GET
@Consumes
@Path("/ovf")
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- Envelope getOvf(@EndpointParam(parser = URNToHref.class) String templateUrn);
-
- @GET
- @Consumes
- @Path("/ovf")
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
Envelope getOvf(@EndpointParam URI templateHref);
- /**
- * Retrieves vApp template owner.
- *
- * <pre>
- * GET /vAppTemplate/{id}/owner
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @return the owner of the vApp template
- */
@GET
@Consumes(OWNER)
@Path("/owner")
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- Owner getOwner(@EndpointParam(parser = URNToHref.class) String templateUrn);
-
- @GET
- @Consumes(OWNER)
- @Path("/owner")
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
Owner getOwner(@EndpointParam URI templateHref);
- /**
- * Retrieves VAppTemplate/VM product sections
- *
- * <pre>
- * GET /vAppTemplate/{id}/productSections
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @return the product sections
- */
- @GET
- @Consumes(PRODUCT_SECTION_LIST)
- @Path("/productSections")
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- ProductSectionList getProductSections(
- @EndpointParam(parser = URNToHref.class) String templateUrn);
-
@GET
@Consumes(PRODUCT_SECTION_LIST)
@Path("/productSections")
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
ProductSectionList getProductSections(@EndpointParam URI templateHref);
- /**
- * Modifies the product sections of a vApp or vApp template.
- *
- * <pre>
- * PUT /vAppTemplate/{id}/productSections
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @return the task performing the action. This operation is asynchronous and the user should
- * monitor the returned task status in order to check when it is completed.
- */
- @PUT
- @Produces(PRODUCT_SECTION_LIST)
- @Consumes(TASK)
- @Path("/productSections")
- @JAXBResponseParser
- Task editProductSections(@EndpointParam(parser = URNToHref.class) String templateUrn,
- @BinderParam(BindToXMLPayload.class) ProductSectionList sections);
-
@PUT
@Produces(PRODUCT_SECTION_LIST)
@Consumes(TASK)
@@ -439,26 +163,9 @@ public interface VAppTemplateApi {
Task editProductSections(@EndpointParam URI templateHref,
@BinderParam(BindToXMLPayload.class) ProductSectionList sections);
- /**
- * <pre>
- * GET /vAppTemplate/{id}/shadowVms
- * </pre>
- *
- * @param templateUrn
- * the String of the template
- * @return shadowVM references
- */
- @GET
- @Consumes
- @Path("/shadowVms")
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- References getShadowVms(@EndpointParam(parser = URNToHref.class) String templateUrn);
-
@GET
@Consumes
@Path("/shadowVms")
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
References getShadowVms(@EndpointParam URI templateHref);
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a58cf0c6/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcApi.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcApi.java b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcApi.java
index ae850e3..64eef1c 100644
--- a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcApi.java
+++ b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VdcApi.java
@@ -34,6 +34,7 @@ import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
+import org.jclouds.javax.annotation.Nullable;
import org.jclouds.rest.annotations.BinderParam;
import org.jclouds.rest.annotations.EndpointParam;
import org.jclouds.rest.annotations.Fallback;
@@ -53,46 +54,19 @@ import org.jclouds.vcloud.director.v1_5.domain.params.ComposeVAppParams;
import org.jclouds.vcloud.director.v1_5.domain.params.InstantiateVAppParams;
import org.jclouds.vcloud.director.v1_5.domain.params.UploadVAppTemplateParams;
import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationAndCookieToRequest;
-import org.jclouds.vcloud.director.v1_5.functions.URNToHref;
@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
public interface VdcApi {
- /**
- * Retrieves a vdc.
- *
- * @return the vdc or null if not found
- */
- @GET
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- Vdc get(@EndpointParam(parser = URNToHref.class) String vdcUrn);
-
+ /** Returns the virtual datacenter or null if not found. */
@GET
@Consumes
@JAXBResponseParser
@Fallback(NullOnNotFoundOr404.class)
+ @Nullable
Vdc get(@EndpointParam URI vdcHref);
- /**
- * Captures a vApp into vApp template.
- *
- * The status of vApp template will be in
- * {@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#UNRESOLVED UNRESOLVED(0)} until the
- * capture task is finished.
- *
- * @return a VApp resource which will contain a task. The user should should wait for this task to finish to be able
- * to use the vApp.
- */
- @POST
- @Path("/action/captureVApp")
- @Consumes(VAPP_TEMPLATE)
- @Produces(CAPTURE_VAPP_PARAMS)
- @JAXBResponseParser
- VAppTemplate captureVApp(@EndpointParam(parser = URNToHref.class) String vdcUrn,
- @BinderParam(BindToXMLPayload.class) CaptureVAppParams params);
-
+ /** Captures a vApp into vApp template. */
@POST
@Path("/action/captureVApp")
@Consumes(VAPP_TEMPLATE)
@@ -100,24 +74,7 @@ public interface VdcApi {
@JAXBResponseParser
VAppTemplate captureVApp(@EndpointParam URI vdcHref, @BinderParam(BindToXMLPayload.class) CaptureVAppParams params);
- /**
- * Clones a media into new one.
- *
- * The status of the returned media is
- * {@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#UNRESOLVED UNRESOLVED(0)} until the task
- * for cloning finish.
- *
- * @return a Media resource which will contain a task. The user should monitor the contained task status in order to
- * check when it is completed.
- */
- @POST
- @Path("/action/cloneMedia")
- @Consumes(MEDIA)
- @Produces(CLONE_MEDIA_PARAMS)
- @JAXBResponseParser
- Media cloneMedia(@EndpointParam(parser = URNToHref.class) String vdcUrn,
- @BinderParam(BindToXMLPayload.class) CloneMediaParams params);
-
+ /** Clones a media into new one. */
@POST
@Path("/action/cloneMedia")
@Consumes(MEDIA)
@@ -125,24 +82,7 @@ public interface VdcApi {
@JAXBResponseParser
Media cloneMedia(@EndpointParam URI vdcHref, @BinderParam(BindToXMLPayload.class) CloneMediaParams params);
- /**
- * Clones a vApp into new one.
- *
- * The status of vApp will be in {@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#UNRESOLVED
- * UNRESOLVED(0)} until the clone task is finished.
- *
- * @return a VApp resource which will contain a task. The user should should wait for this task to finish to be able
- * to use the vApp.
- */
- @POST
- @Path("/action/cloneVApp")
- @Consumes(VAPP)
- @Produces(CLONE_VAPP_PARAMS)
- // TODO fix these etc.
- @JAXBResponseParser
- VApp cloneVApp(@EndpointParam(parser = URNToHref.class) String vdcUrn,
- @BinderParam(BindToXMLPayload.class) CloneVAppParams params);
-
+ /** Clones a vApp into new one. */
@POST
@Path("/action/cloneVApp")
@Consumes(VAPP)
@@ -151,24 +91,7 @@ public interface VdcApi {
@JAXBResponseParser
VApp cloneVApp(@EndpointParam URI vdcHref, @BinderParam(BindToXMLPayload.class) CloneVAppParams params);
- /**
- * Clones a vApp template into new one.
- *
- * The status of vApp template will be in
- * {@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#UNRESOLVED UNRESOLVED(0)} until the clone
- * task is finished.
- *
- * @return a VAppTemplate resource which will contain a task. The user should should wait for this task to finish to
- * be able to use the VAppTemplate.
- */
- @POST
- @Path("/action/cloneVAppTemplate")
- @Consumes(VAPP_TEMPLATE)
- @Produces(VCloudDirectorMediaType.CLONE_VAPP_TEMPLATE_PARAMS)
- @JAXBResponseParser
- VAppTemplate cloneVAppTemplate(@EndpointParam(parser = URNToHref.class) String vdcUrn,
- @BinderParam(BindToXMLPayload.class) CloneVAppTemplateParams params);
-
+ /** Clones a vApp template into new one. */
@POST
@Path("/action/cloneVAppTemplate")
@Consumes(VAPP_TEMPLATE)
@@ -180,70 +103,17 @@ public interface VdcApi {
/**
* Composes a new vApp using VMs from other vApps or vApp templates.
*
- * The vCloud API supports composing a vApp from any combination of vApp templates, vApps,
- * or virtual machines. When you compose a vApp, all children of each composition source
- * become peers in the Children collection of the composed vApp. To compose a vApp, a api
- * makes a compose vApp request whose body is a ComposeVAppParams element, includes the
- * following information:
- * <ul>
- * <li>An InstantiationParams element that applies to the composed vApp itself and any vApp templates referenced in
- * Item elements.
- * <li>A SourcedItem element for each virtual machine, vApp, or vAppTemplate to include in the composition. Each
- * SourcedItem can contain the following elements:
- * <ul>
- * <li>A required Source element whose href attribute value is a reference to a vApp template, vApp, or VM to include
- * in the composition. If the Source element references a VM, the Item must also include an InstantiationParams
- * element specific to that VM.
- * <li>An optional NetworkAssignment element that specifies how the network connections of child VM elements are
- * mapped to vApp networks in the parent.
- * </ul>
- * </ul>
- * If any of the composition items is subject to a EULA, the ComposeVAppParams element must include an
- * AllEULAsAccepted element that has a value of true, indicating that you accept the EULA. Otherwise, composition
- * fails. The composed vApp must be deployed and powered on before it can be used. The status of vApp will be
- * {@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#UNRESOLVED UNRESOLVED(0)} until the
- * compose task is finished.
- *
- * @return a VApp resource which will contain a task. The user should should wait for this task to finish to be able
- * to use the vApp.
+ * <p /> The composed vApp must be deployed and powered on before it can be used.
*/
@POST
@Path("/action/composeVApp")
@Consumes(VAPP)
@Produces(VCloudDirectorMediaType.COMPOSE_VAPP_PARAMS)
@JAXBResponseParser
- VApp composeVApp(@EndpointParam(parser = URNToHref.class) String vdcUrn,
- @BinderParam(BindToXMLPayload.class) ComposeVAppParams params);
-
- @POST
- @Path("/action/composeVApp")
- @Consumes(VAPP)
- @Produces(VCloudDirectorMediaType.COMPOSE_VAPP_PARAMS)
- @JAXBResponseParser
VApp composeVApp(@EndpointParam URI vdcHref,
@BinderParam(BindToXMLPayload.class) ComposeVAppParams params);
- /**
- * Instantiate a vApp template into a new vApp.
- *
- * The status of vApp will be in {@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#UNRESOLVED
- * UNRESOLVED(0)} until the instantiate task is finished.
- *
- * <pre>
- * POST /vdc/{id}/action/instantiateVAppTemplate
- * </pre>
- *
- * @return a VApp resource which will contain a task. The user should should wait for this task to finish to be able
- * to use the vApp.
- */
- @POST
- @Path("/action/instantiateVAppTemplate")
- @Consumes(VAPP)
- @Produces(INSTANTIATE_VAPP_TEMPLATE_PARAMS)
- @JAXBResponseParser
- VApp instantiateVApp(@EndpointParam(parser = URNToHref.class) String vdcUrn,
- @BinderParam(BindToXMLPayload.class) InstantiateVAppParams params);
-
+ /** Instantiate a vApp template into a new vApp. */
@POST
@Path("/action/instantiateVAppTemplate")
@Consumes(VAPP)
@@ -262,28 +132,12 @@ public interface VdcApi {
* <li>uploading disks described from the OVF
* <li>finishing task for uploading
* </ol>
- * The status of vApp template will be
- * {@link org.jclouds.vcloud.director.v1_5.domain.ResourceEntityType.Status#NOT_READY NOT_READY(0)} until the ovf and
- * all disks are uploaded to the transfer site. After this a task will run on the vApp template uploading.
- * Note that the empty vApp template's getFiles() returns a file of size -1 after step one above,
- * because the descriptor.ovf does not yet exist.
- *
- * @return a VAppTemplate resource which will contain a task. The user should should wait for this task to finish to
- * be able to use the VAppTemplate.
*/
@POST
@Path("/action/uploadVAppTemplate")
@Consumes(VAPP_TEMPLATE)
@Produces(UPLOAD_VAPP_TEMPLATE_PARAMS)
@JAXBResponseParser
- VAppTemplate uploadVAppTemplate(@EndpointParam(parser = URNToHref.class) String vdcUrn,
- @BinderParam(BindToXMLPayload.class) UploadVAppTemplateParams params);
-
- @POST
- @Path("/action/uploadVAppTemplate")
- @Consumes(VAPP_TEMPLATE)
- @Produces(UPLOAD_VAPP_TEMPLATE_PARAMS)
- @JAXBResponseParser
VAppTemplate uploadVAppTemplate(@EndpointParam URI vdcHref,
@BinderParam(BindToXMLPayload.class) UploadVAppTemplateParams params);
@@ -297,13 +151,5 @@ public interface VdcApi {
@Consumes(MEDIA)
@Produces(MEDIA)
@JAXBResponseParser
- Media addMedia(@EndpointParam(parser = URNToHref.class) String vdcUrn,
- @BinderParam(BindToXMLPayload.class) Media media);
-
- @POST
- @Path("/media")
- @Consumes(MEDIA)
- @Produces(MEDIA)
- @JAXBResponseParser
Media addMedia(@EndpointParam URI vdcHref, @BinderParam(BindToXMLPayload.class) Media media);
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a58cf0c6/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VmApi.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VmApi.java b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VmApi.java
index 5b14541..4ae534b 100644
--- a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VmApi.java
+++ b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/VmApi.java
@@ -43,6 +43,7 @@ import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
+import org.jclouds.javax.annotation.Nullable;
import org.jclouds.rest.annotations.BinderParam;
import org.jclouds.rest.annotations.EndpointParam;
import org.jclouds.rest.annotations.Fallback;
@@ -69,98 +70,36 @@ import org.jclouds.vcloud.director.v1_5.domain.section.RuntimeInfoSection;
import org.jclouds.vcloud.director.v1_5.domain.section.VirtualHardwareSection;
import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationAndCookieToRequest;
import org.jclouds.vcloud.director.v1_5.functions.ReturnPayloadBytes;
-import org.jclouds.vcloud.director.v1_5.functions.URNToHref;
@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
public interface VmApi {
- /**
- * Retrieves a {@link Vm}.
- *
- * @since 0.9
- * @see VAppApi#get(String)
- */
- @GET
- @Consumes(VM)
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- Vm get(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
+ /** Returns the virtual machine or null if not found. */
@GET
@Consumes(VM)
@JAXBResponseParser
@Fallback(NullOnNotFoundOr404.class)
+ @Nullable
Vm get(@EndpointParam URI vmHref);
- /**
- * Modifies the name/description of a {@link Vm}.
- *
- * @since 0.9
- */
- @PUT
- @Produces(VM)
- @Consumes(TASK)
- @JAXBResponseParser
- Task edit(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) Vm vApp);
-
+ /** Modifies the name/description of a {@link Vm}. */
@PUT
@Produces(VM)
@Consumes(TASK)
@JAXBResponseParser
Task edit(@EndpointParam URI vmHref, @BinderParam(BindToXMLPayload.class) Vm vApp);
- /**
- * Deletes a {@link Vm}.
- *
- * @since 0.9
- * @see VAppApi#remove(String)
- */
- @DELETE
- @Consumes(TASK)
- @JAXBResponseParser
- Task remove(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@DELETE
@Consumes(TASK)
@JAXBResponseParser
Task remove(@EndpointParam URI vmHref);
- /**
- * Consolidates a {@link Vm}.
- *
- * <pre>
- * POST /vApp/{id}/action/consolidate
- * </pre>
- *
- * @since 1.5
- */
- @POST
- @Path("/action/consolidate")
- @Consumes(TASK)
- @JAXBResponseParser
- Task consolidate(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@POST
@Path("/action/consolidate")
@Consumes(TASK)
@JAXBResponseParser
Task consolidate(@EndpointParam URI vmHref);
- /**
- * Deploys a {@link Vm}.
- *
- * @since 0.9
- * @see VAppApi#deploy(String, DeployVAppParams)
- */
- @POST
- @Path("/action/deploy")
- @Produces(DEPLOY_VAPP_PARAMS)
- @Consumes(TASK)
- @JAXBResponseParser
- Task deploy(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) DeployVAppParams params);
-
@POST
@Path("/action/deploy")
@Produces(DEPLOY_VAPP_PARAMS)
@@ -168,18 +107,6 @@ public interface VmApi {
@JAXBResponseParser
Task deploy(@EndpointParam URI vmHref, @BinderParam(BindToXMLPayload.class) DeployVAppParams params);
- /**
- * Discard suspended state of a {@link Vm}.
- *
- * @since 0.9
- * @see VAppApi#discardSuspendedState(String)
- */
- @POST
- @Path("/action/discardSuspendedState")
- @Consumes(TASK)
- @JAXBResponseParser
- Task discardSuspendedState(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@POST
@Path("/action/discardSuspendedState")
@Consumes(TASK)
@@ -189,43 +116,14 @@ public interface VmApi {
/**
* Installs VMware tools to the virtual machine.
*
- * It should be running in order for them to be installed.
- *
- * <pre>
- * POST /vApp/{id}/action/installVMwareTools
- * </pre>
- *
- * @since 1.5
+ * <p />It should be running in order for them to be installed.
*/
@POST
@Path("/action/installVMwareTools")
@Consumes(TASK)
@JAXBResponseParser
- Task installVMwareTools(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
- @POST
- @Path("/action/installVMwareTools")
- @Consumes(TASK)
- @JAXBResponseParser
Task installVMwareTools(@EndpointParam URI vmHref);
- /**
- * Relocates a {@link Vm}.
- *
- * <pre>
- * POST /vApp/{id}/action/relocate
- * </pre>
- *
- * @since 1.5
- */
- @POST
- @Path("/action/relocate")
- @Produces(RELOCATE_VM_PARAMS)
- @Consumes(TASK)
- @JAXBResponseParser
- Task relocate(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) RelocateParams params);
-
@POST
@Path("/action/relocate")
@Produces(RELOCATE_VM_PARAMS)
@@ -233,20 +131,6 @@ public interface VmApi {
@JAXBResponseParser
Task relocate(@EndpointParam URI vmHref, @BinderParam(BindToXMLPayload.class) RelocateParams params);
- /**
- * Undeploy a {@link Vm}.
- *
- * @since 0.9
- * @see VAppApi#undeploy(String, UndeployVAppParams)
- */
- @POST
- @Path("/action/undeploy")
- @Produces(UNDEPLOY_VAPP_PARAMS)
- @Consumes(TASK)
- @JAXBResponseParser
- Task undeploy(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) UndeployVAppParams params);
-
@POST
@Path("/action/undeploy")
@Produces(UNDEPLOY_VAPP_PARAMS)
@@ -258,173 +142,55 @@ public interface VmApi {
/**
* Upgrade virtual hardware version of a VM to the highest supported virtual hardware version of
* provider vDC where the VM locates.
- *
- * <pre>
- * POST /vApp/{id}/action/upgradeHardwareVersion
- * </pre>
- *
- * @since 1.5
*/
@POST
@Path("/action/upgradeHardwareVersion")
@Consumes(TASK)
@JAXBResponseParser
- Task upgradeHardwareVersion(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
- @POST
- @Path("/action/upgradeHardwareVersion")
- @Consumes(TASK)
- @JAXBResponseParser
Task upgradeHardwareVersion(@EndpointParam URI vmHref);
- /**
- * Powers off a {@link Vm}.
- *
- * @since 0.9
- * @see VAppApi#powerOff(String)
- */
- @POST
- @Path("/power/action/powerOff")
- @Consumes(TASK)
- @JAXBResponseParser
- Task powerOff(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@POST
@Path("/power/action/powerOff")
@Consumes(TASK)
@JAXBResponseParser
Task powerOff(@EndpointParam URI vmHref);
- /**
- * Powers on a {@link Vm}.
- *
- * @since 0.9
- * @see VAppApi#powerOn(String)
- */
- @POST
- @Path("/power/action/powerOn")
- @Consumes(TASK)
- @JAXBResponseParser
- Task powerOn(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@POST
@Path("/power/action/powerOn")
@Consumes(TASK)
@JAXBResponseParser
Task powerOn(@EndpointParam URI vmHref);
- /**
- * Reboots a {@link Vm}.
- *
- * @since 0.9
- * @see VAppApi#reboot(String)
- */
- @POST
- @Path("/power/action/reboot")
- @Consumes(TASK)
- @JAXBResponseParser
- Task reboot(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@POST
@Path("/power/action/reboot")
@Consumes(TASK)
@JAXBResponseParser
Task reboot(@EndpointParam URI vmHref);
- /**
- * Resets a {@link Vm}.
- *
- * @since 0.9
- * @see VAppApi#reset(String)
- */
- @POST
- @Path("/power/action/reset")
- @Consumes(TASK)
- @JAXBResponseParser
- Task reset(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@POST
@Path("/power/action/reset")
@Consumes(TASK)
@JAXBResponseParser
Task reset(@EndpointParam URI vmHref);
- /**
- * Shuts down a {@link Vm}.
- *
- * @since 0.9
- * @see VAppApi#shutdown(String)
- */
- @POST
- @Path("/power/action/shutdown")
- @Consumes(TASK)
- @JAXBResponseParser
- Task shutdown(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@POST
@Path("/power/action/shutdown")
@Consumes(TASK)
@JAXBResponseParser
Task shutdown(@EndpointParam URI vmHref);
- /**
- * Suspends a {@link Vm}.
- *
- * @since 0.9
- * @see VAppApi#suspend(String)
- */
- @POST
- @Path("/power/action/suspend")
- @Consumes(TASK)
- @JAXBResponseParser
- Task suspend(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@POST
@Path("/power/action/suspend")
@Consumes(TASK)
@JAXBResponseParser
Task suspend(@EndpointParam URI vmHref);
- /**
- * Retrieves the guest customization section of a {@link Vm}.
- *
- * <pre>
- * GET /vApp/{id}/guestCustomizationSection
- * </pre>
- *
- * @since 1.0
- */
@GET
@Path("/guestCustomizationSection")
@Consumes
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- GuestCustomizationSection getGuestCustomizationSection(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
- @GET
- @Path("/guestCustomizationSection")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
GuestCustomizationSection getGuestCustomizationSection(@EndpointParam URI vmHref);
- /**
- * Modifies the guest customization section of a {@link Vm}.
- *
- * <pre>
- * PUT /vApp/{id}/guestCustomizationSection
- * </pre>
- *
- * @since 1.0
- */
- @PUT
- @Path("/guestCustomizationSection")
- @Produces(GUEST_CUSTOMIZATION_SECTION)
- @Consumes(TASK)
- @JAXBResponseParser
- Task editGuestCustomizationSection(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) GuestCustomizationSection section);
-
@PUT
@Path("/guestCustomizationSection")
@Produces(GUEST_CUSTOMIZATION_SECTION)
@@ -433,23 +199,6 @@ public interface VmApi {
Task editGuestCustomizationSection(@EndpointParam URI vmHref,
@BinderParam(BindToXMLPayload.class) GuestCustomizationSection section);
- /**
- * Ejects media from a {@link Vm}.
- *
- * <pre>
- * PUT /vApp/{id}/media/action/ejectMedia
- * </pre>
- *
- * @since 0.9
- */
- @POST
- @Path("/media/action/ejectMedia")
- @Produces(MEDIA_PARAMS)
- @Consumes(TASK)
- @JAXBResponseParser
- Task ejectMedia(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) MediaInsertOrEjectParams mediaParams);
-
@POST
@Path("/media/action/ejectMedia")
@Produces(MEDIA_PARAMS)
@@ -458,23 +207,6 @@ public interface VmApi {
Task ejectMedia(@EndpointParam URI vmHref,
@BinderParam(BindToXMLPayload.class) MediaInsertOrEjectParams mediaParams);
- /**
- * Insert media into a {@link Vm}.
- *
- * <pre>
- * PUT /vApp/{id}/media/action/insertMedia
- * </pre>
- *
- * @since 0.9
- */
- @POST
- @Path("/media/action/insertMedia")
- @Produces(MEDIA_PARAMS)
- @Consumes(TASK)
- @JAXBResponseParser
- Task insertMedia(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) MediaInsertOrEjectParams mediaParams);
-
@POST
@Path("/media/action/insertMedia")
@Produces(MEDIA_PARAMS)
@@ -483,46 +215,12 @@ public interface VmApi {
Task insertMedia(@EndpointParam URI vmHref,
@BinderParam(BindToXMLPayload.class) MediaInsertOrEjectParams mediaParams);
- /**
- * Retrieves the network connection section of a {@link Vm}.
- *
- * <pre>
- * GET /vApp/{id}/networkConnectionSection
- * </pre>
- *
- * @since 0.9
- */
@GET
@Path("/networkConnectionSection")
@Consumes
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- NetworkConnectionSection getNetworkConnectionSection(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
- @GET
- @Path("/networkConnectionSection")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
NetworkConnectionSection getNetworkConnectionSection(@EndpointParam URI vmHref);
- /**
- * Modifies the network connection section of a {@link Vm}.
- *
- * <pre>
- * PUT /vApp/{id}/networkConnectionSection
- * </pre>
- *
- * @since 0.9
- */
- @PUT
- @Path("/networkConnectionSection")
- @Produces(NETWORK_CONNECTION_SECTION)
- @Consumes(TASK)
- @JAXBResponseParser
- Task editNetworkConnectionSection(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) NetworkConnectionSection section);
-
@PUT
@Path("/networkConnectionSection")
@Produces(NETWORK_CONNECTION_SECTION)
@@ -531,46 +229,12 @@ public interface VmApi {
Task editNetworkConnectionSection(@EndpointParam URI vmHref,
@BinderParam(BindToXMLPayload.class) NetworkConnectionSection section);
- /**
- * Retrieves the operating system section of a {@link Vm}.
- *
- * <pre>
- * GET /vApp/{id}/operatingSystemSection
- * </pre>
- *
- * @since 0.9
- */
- @GET
- @Path("/operatingSystemSection")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- OperatingSystemSection getOperatingSystemSection(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@GET
@Path("/operatingSystemSection")
@Consumes
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
OperatingSystemSection getOperatingSystemSection(@EndpointParam URI vmHref);
- /**
- * Modifies the operating system section of a {@link Vm}.
- *
- * <pre>
- * PUT /vApp/{id}/operatingSystemSection
- * </pre>
- *
- * @since 0.9
- */
- @PUT
- @Path("/operatingSystemSection")
- @Produces(OPERATING_SYSTEM_SECTION)
- @Consumes(TASK)
- @JAXBResponseParser
- Task editOperatingSystemSection(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) OperatingSystemSection section);
-
@PUT
@Path("/operatingSystemSection")
@Produces(OPERATING_SYSTEM_SECTION)
@@ -579,19 +243,6 @@ public interface VmApi {
Task editOperatingSystemSection(@EndpointParam URI vmHref,
@BinderParam(BindToXMLPayload.class) OperatingSystemSection section);
- /**
- * Retrieves {@link Vm} product sections.
- *
- * @since 1.5
- * @see VAppApi#getProductSections(String)
- */
- @GET
- @Path("/productSections")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- ProductSectionList getProductSections(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@GET
@Path("/productSections")
@Consumes
@@ -599,20 +250,6 @@ public interface VmApi {
@Fallback(NullOnNotFoundOr404.class)
ProductSectionList getProductSections(@EndpointParam URI vmHref);
- /**
- * Modifies the product section information of a {@link Vm}.
- *
- * @since 1.5
- * @see VAppApi#editProductSections(String, ProductSectionList)
- */
- @PUT
- @Path("/productSections")
- @Produces(PRODUCT_SECTION_LIST)
- @Consumes(TASK)
- @JAXBResponseParser
- Task editProductSections(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) ProductSectionList sectionList);
-
@PUT
@Path("/productSections")
@Produces(PRODUCT_SECTION_LIST)
@@ -624,151 +261,48 @@ public interface VmApi {
/**
* Retrieves a pending question for a {@link Vm}.
*
- * The user should answer to the question by operation
- * {@link #answerQuestion(String, VmQuestionAnswer)}. Usually questions will be asked when the VM
+ * <p/> The user should answer to the question by operation
+ * {@link #answerQuestion(URI, VmQuestionAnswer)}. Usually questions will be asked when the VM
* is powering on.
- *
- * <pre>
- * GET /vApp/{id}/question
- * </pre>
- *
- * @since 0.9
*/
@GET
@Path("/question")
@Consumes
@JAXBResponseParser
@Fallback(NullOnNotFoundOr404.class)
- VmPendingQuestion getPendingQuestion(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
- @GET
- @Path("/question")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
VmPendingQuestion getPendingQuestion(@EndpointParam URI vmHref);
/**
* Answer a pending question on a {@link Vm}.
*
* The answer IDs of choice and question should match the ones returned from operation
- * {@link #getPendingQuestion(String)}.
- *
- * <pre>
- * POST /vApp/{id}/question/action/answer
- * </pre>
- *
- * @since 0.9
+ * {@link #getPendingQuestion(URI)}.
*/
@POST
@Path("/question/action/answer")
@Produces(VM_PENDING_ANSWER)
@Consumes
@JAXBResponseParser
- void answerQuestion(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) VmQuestionAnswer answer);
-
- @POST
- @Path("/question/action/answer")
- @Produces(VM_PENDING_ANSWER)
- @Consumes
- @JAXBResponseParser
void answerQuestion(@EndpointParam URI vmHref, @BinderParam(BindToXMLPayload.class) VmQuestionAnswer answer);
- /**
- * Retrieves the runtime info section of a {@link Vm}.
- *
- * <pre>
- * GET /vApp/{id}/runtimeInfoSection
- * </pre>
- *
- * @since 1.5
- */
@GET
@Path("/runtimeInfoSection")
@Consumes
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- RuntimeInfoSection getRuntimeInfoSection(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
- @GET
- @Path("/runtimeInfoSection")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
RuntimeInfoSection getRuntimeInfoSection(@EndpointParam URI vmHref);
- /**
- * Retrieves the thumbnail of the screen of a {@link Vm}.
- *
- * The content type of the response may vary (e.g. {@code image/png}, {@code image/gif}).
- *
- * <pre>
- * GET /vApp/{id}/screen
- * </pre>
- *
- * @since 0.9
- */
- @GET
- @Path("/screen")
- @Consumes(ANY_IMAGE)
- @Fallback(NullOnNotFoundOr404.class)
- @ResponseParser(ReturnPayloadBytes.class)
- byte[] getScreenImage(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@GET
@Path("/screen")
@Consumes(ANY_IMAGE)
- @Fallback(NullOnNotFoundOr404.class)
@ResponseParser(ReturnPayloadBytes.class)
byte[] getScreenImage(@EndpointParam URI vmHref);
- /**
- * Retrieve a screen ticket for remote console connection to a {@link Vm}.
- *
- * A screen ticket is a string that includes the virtual machine's IP address, its managed object
- * reference, and a string that has been encoded as described in RFC 2396. Each VM element in a
- * vApp includes a link where rel="screen:acquireTicket". You can use that link to request a
- * screen ticket that you can use with the vmware-vmrc utility to open a VMware Remote Console
- * for the virtual machine represented by that VM element. The vApp should be running to get a
- * valid screen ticket.
- *
- * <pre>
- * GET /vApp/{id}/screen/action/acquireTicket
- * </pre>
- *
- * @since 0.9
- */
@POST
@Path("/screen/action/acquireTicket")
@Consumes
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- ScreenTicket getScreenTicket(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
- @POST
- @Path("/screen/action/acquireTicket")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
ScreenTicket getScreenTicket(@EndpointParam URI vmHref);
- /**
- * Retrieves the virtual hardware section of a {@link Vm}.
- *
- * <pre>
- * GET /vApp/{id}/virtualHardwareSection
- * </pre>
- *
- * @since 0.9
- */
- @GET
- @Path("/virtualHardwareSection")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- VirtualHardwareSection getVirtualHardwareSection(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@GET
@Path("/virtualHardwareSection")
@Consumes
@@ -776,23 +310,6 @@ public interface VmApi {
@Fallback(NullOnNotFoundOr404.class)
VirtualHardwareSection getVirtualHardwareSection(@EndpointParam URI vmHref);
- /**
- * Modifies the virtual hardware section of a {@link Vm}.
- *
- * <pre>
- * PUT /vApp/{id}/virtualHardwareSection
- * </pre>
- *
- * @since 0.9
- */
- @PUT
- @Path("/virtualHardwareSection")
- @Produces(VIRTUAL_HARDWARE_SECTION)
- @Consumes(TASK)
- @JAXBResponseParser
- Task editVirtualHardwareSection(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) VirtualHardwareSection section);
-
@PUT
@Path("/virtualHardwareSection")
@Produces(VIRTUAL_HARDWARE_SECTION)
@@ -801,22 +318,6 @@ public interface VmApi {
Task editVirtualHardwareSection(@EndpointParam URI vmHref,
@BinderParam(BindToXMLPayload.class) VirtualHardwareSection section);
- /**
- * Retrieves the CPU properties in virtual hardware section of a {@link Vm}.
- *
- * <pre>
- * GET /vApp/{id}/virtualHardwareSection/cpu
- * </pre>
- *
- * @since 0.9
- */
- @GET
- @Path("/virtualHardwareSection/cpu")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- RasdItem getVirtualHardwareSectionCpu(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@GET
@Path("/virtualHardwareSection/cpu")
@Consumes
@@ -824,23 +325,6 @@ public interface VmApi {
@Fallback(NullOnNotFoundOr404.class)
RasdItem getVirtualHardwareSectionCpu(@EndpointParam URI vmHref);
- /**
- * Modifies the CPU properties in virtual hardware section of a {@link Vm}.
- *
- * <pre>
- * PUT /vApp/{id}/virtualHardwareSection/cpu
- * </pre>
- *
- * @since 0.9
- */
- @PUT
- @Path("/virtualHardwareSection/cpu")
- @Produces(OVF_RASD_ITEM)
- @Consumes(TASK)
- @JAXBResponseParser
- Task editVirtualHardwareSectionCpu(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) RasdItem rasd);
-
@PUT
@Path("/virtualHardwareSection/cpu")
@Produces(OVF_RASD_ITEM)
@@ -849,22 +333,6 @@ public interface VmApi {
Task editVirtualHardwareSectionCpu(@EndpointParam URI vmHref,
@BinderParam(BindToXMLPayload.class) RasdItem rasd);
- /**
- * Retrieves a list of items for disks from virtual hardware section of a {@link Vm}.
- *
- * <pre>
- * GET /vApp/{id}/virtualHardwareSection/disks
- * </pre>
- *
- * @since 0.9
- */
- @GET
- @Path("/virtualHardwareSection/disks")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- RasdItemsList getVirtualHardwareSectionDisks(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@GET
@Path("/virtualHardwareSection/disks")
@Consumes
@@ -872,23 +340,6 @@ public interface VmApi {
@Fallback(NullOnNotFoundOr404.class)
RasdItemsList getVirtualHardwareSectionDisks(@EndpointParam URI vmHref);
- /**
- * Modifies the disks list in virtual hardware section of a {@link Vm}.
- *
- * <pre>
- * PUT /vApp/{id}/virtualHardwareSection/disks
- * </pre>
- *
- * @since 0.9
- */
- @PUT
- @Path("/virtualHardwareSection/disks")
- @Produces(OVF_RASD_ITEMS_LIST)
- @Consumes(TASK)
- @JAXBResponseParser
- Task editVirtualHardwareSectionDisks(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) RasdItemsList rasdItemsList);
-
@PUT
@Path("/virtualHardwareSection/disks")
@Produces(OVF_RASD_ITEMS_LIST)
@@ -899,44 +350,14 @@ public interface VmApi {
/**
* Retrieves the list of items that represents the floppies and CD/DVD drives in a {@link Vm}.
- *
- * <pre>
- * GET /vApp/{id}/virtualHardwareSection/media
- * </pre>
- *
- * @since 0.9
*/
@GET
@Path("/virtualHardwareSection/media")
@Consumes
@JAXBResponseParser
@Fallback(NullOnNotFoundOr404.class)
- RasdItemsList getVirtualHardwareSectionMedia(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
- @GET
- @Path("/virtualHardwareSection/media")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
RasdItemsList getVirtualHardwareSectionMedia(@EndpointParam URI vmHref);
- /**
- * Retrieves the item that contains memory information from virtual hardware section of a
- * {@link Vm}.
- *
- * <pre>
- * GET /vApp/{id}/virtualHardwareSection/memory
- * </pre>
- *
- * @since 0.9
- */
- @GET
- @Path("/virtualHardwareSection/memory")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- RasdItem getVirtualHardwareSectionMemory(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@GET
@Path("/virtualHardwareSection/memory")
@Consumes
@@ -944,23 +365,6 @@ public interface VmApi {
@Fallback(NullOnNotFoundOr404.class)
RasdItem getVirtualHardwareSectionMemory(@EndpointParam URI vmHref);
- /**
- * Modifies the memory properties in virtual hardware section of a {@link Vm}.
- *
- * <pre>
- * PUT /vApp/{id}/virtualHardwareSection/memory
- * </pre>
- *
- * @since 0.9
- */
- @PUT
- @Path("/virtualHardwareSection/memory")
- @Produces(OVF_RASD_ITEM)
- @Consumes(TASK)
- @JAXBResponseParser
- Task editVirtualHardwareSectionMemory(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) RasdItem rasd);
-
@PUT
@Path("/virtualHardwareSection/memory")
@Produces(OVF_RASD_ITEM)
@@ -969,46 +373,12 @@ public interface VmApi {
Task editVirtualHardwareSectionMemory(@EndpointParam URI vmHref,
@BinderParam(BindToXMLPayload.class) RasdItem rasd);
- /**
- * Retrieves a list of items for network cards from virtual hardware section of a {@link Vm}.
- *
- * <pre>
- * GET /vApp/{id}/virtualHardwareSection/networkCards
- * </pre>
- *
- * @since 0.9
- */
@GET
@Path("/virtualHardwareSection/networkCards")
@Consumes
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- RasdItemsList getVirtualHardwareSectionNetworkCards(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
- @GET
- @Path("/virtualHardwareSection/networkCards")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
RasdItemsList getVirtualHardwareSectionNetworkCards(@EndpointParam URI vmHref);
- /**
- * Modifies the network cards list in virtual hardware section of a {@link Vm}.
- *
- * <pre>
- * PUT /vApp/{id}/virtualHardwareSection/networkCards
- * </pre>
- *
- * @since 0.9
- */
- @PUT
- @Path("/virtualHardwareSection/networkCards")
- @Produces(OVF_RASD_ITEMS_LIST)
- @Consumes(TASK)
- @JAXBResponseParser
- Task editVirtualHardwareSectionNetworkCards(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) RasdItemsList rasdItemsList);
-
@PUT
@Path("/virtualHardwareSection/networkCards")
@Produces(OVF_RASD_ITEMS_LIST)
@@ -1017,22 +387,6 @@ public interface VmApi {
Task editVirtualHardwareSectionNetworkCards(@EndpointParam URI vmHref,
@BinderParam(BindToXMLPayload.class) RasdItemsList rasdItemsList);
- /**
- * Retrieves a list of items for serial ports from virtual hardware section of a {@link Vm}.
- *
- * <pre>
- * GET /vApp/{id}/virtualHardwareSection/serialPorts
- * </pre>
- *
- * @since 1.5
- */
- @GET
- @Path("/virtualHardwareSection/serialPorts")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- RasdItemsList getVirtualHardwareSectionSerialPorts(@EndpointParam(parser = URNToHref.class) String vmUrn);
-
@GET
@Path("/virtualHardwareSection/serialPorts")
@Consumes
@@ -1040,23 +394,6 @@ public interface VmApi {
@Fallback(NullOnNotFoundOr404.class)
RasdItemsList getVirtualHardwareSectionSerialPorts(@EndpointParam URI vmHref);
- /**
- * Modifies the serial ports list in virtual hardware section of a {@link Vm}.
- *
- * <pre>
- * PUT /vApp/{id}/virtualHardwareSection/serialPorts
- * </pre>
- *
- * @since 1.5
- */
- @PUT
- @Path("/virtualHardwareSection/serialPorts")
- @Produces(OVF_RASD_ITEMS_LIST)
- @Consumes(TASK)
- @JAXBResponseParser
- Task editVirtualHardwareSectionSerialPorts(@EndpointParam(parser = URNToHref.class) String vmUrn,
- @BinderParam(BindToXMLPayload.class) RasdItemsList rasdItemsList);
-
@PUT
@Path("/virtualHardwareSection/serialPorts")
@Produces(OVF_RASD_ITEMS_LIST)
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a58cf0c6/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminCatalogApi.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminCatalogApi.java b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminCatalogApi.java
index 275a5b0..567cfcb 100644
--- a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminCatalogApi.java
+++ b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminCatalogApi.java
@@ -19,6 +19,7 @@ package org.jclouds.vcloud.director.v1_5.features.admin;
import static org.jclouds.Fallbacks.NullOnNotFoundOr404;
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.ADMIN_CATALOG;
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.CONTROL_ACCESS;
+import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.OWNER;
import static org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType.PUBLISH_CATALOG_PARAMS;
import java.net.URI;
@@ -31,43 +32,34 @@ import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
+import org.jclouds.javax.annotation.Nullable;
import org.jclouds.rest.annotations.BinderParam;
import org.jclouds.rest.annotations.EndpointParam;
import org.jclouds.rest.annotations.Fallback;
import org.jclouds.rest.annotations.JAXBResponseParser;
import org.jclouds.rest.annotations.RequestFilters;
import org.jclouds.rest.binders.BindToXMLPayload;
-import org.jclouds.vcloud.director.v1_5.VCloudDirectorMediaType;
import org.jclouds.vcloud.director.v1_5.domain.AdminCatalog;
import org.jclouds.vcloud.director.v1_5.domain.Owner;
import org.jclouds.vcloud.director.v1_5.domain.params.ControlAccessParams;
import org.jclouds.vcloud.director.v1_5.domain.params.PublishCatalogParams;
import org.jclouds.vcloud.director.v1_5.features.CatalogApi;
import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationAndCookieToRequest;
-import org.jclouds.vcloud.director.v1_5.functions.URNToAdminHref;
@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
public interface AdminCatalogApi extends CatalogApi {
- /**
- * Creates a catalog in an organization. The catalog will always be addd in unpublished state.
- *
- * <pre>
- * POST /admin/org/{id}/catalogs
- * </pre>
- *
- * @param orgUrn
- * the urn for the org
- * @return contains a , which will point to the running asynchronous creation operation.
- */
- @POST
- @Path("/catalogs")
- @Consumes(ADMIN_CATALOG)
- @Produces(ADMIN_CATALOG)
+ @Override
+ @GET
+ @Consumes
@JAXBResponseParser
- AdminCatalog addCatalogToOrg(@BinderParam(BindToXMLPayload.class) AdminCatalog catalog,
- @EndpointParam(parser = URNToAdminHref.class) String orgUrn);
+ @Fallback(NullOnNotFoundOr404.class)
+ @Nullable
+ AdminCatalog get(@EndpointParam URI orgHref);
+ /**
+ * Creates a catalog in an organization. The catalog will always be added in unpublished state.
+ */
@POST
@Path("/catalogs")
@Consumes(ADMIN_CATALOG)
@@ -77,117 +69,37 @@ public interface AdminCatalogApi extends CatalogApi {
@EndpointParam URI orgHref);
/**
- * Retrieves a catalog.
- *
- * <pre>
- * GET /admin/catalog/{id}
- * </pre>
- *
- * @param catalogUrn
- * the urn for the catalog
- * @return a catalog
- */
- @Override
- @GET
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- AdminCatalog get(@EndpointParam(parser = URNToAdminHref.class) String catalogUrn);
-
- @Override
- @GET
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- AdminCatalog get(@EndpointParam URI orgHref);
-
- /**
* Modifies a catalog. A catalog could be published or unpublished. The IsPublished property is
* treated as a read only value by the server. In order to control publishing settings use the
* 'publish' action must be used.
- *
- * <pre>
- * PUT /admin/catalog/{id}
- * </pre>
- *
- * @return the edited catalog
*/
@PUT
@Consumes(ADMIN_CATALOG)
@Produces(ADMIN_CATALOG)
@JAXBResponseParser
- AdminCatalog edit(@EndpointParam(parser = URNToAdminHref.class) String catalogUrn,
- @BinderParam(BindToXMLPayload.class) AdminCatalog catalog);
-
- @PUT
- @Consumes(ADMIN_CATALOG)
- @Produces(ADMIN_CATALOG)
- @JAXBResponseParser
AdminCatalog edit(@EndpointParam URI catalogAdminHref,
@BinderParam(BindToXMLPayload.class) AdminCatalog catalog);
/**
* Deletes a catalog. The catalog could be removed if it is either published or unpublished.
- *
- * <pre>
- * DELETE /admin/catalog/{id}
- * </pre>
*/
@DELETE
@Consumes
@JAXBResponseParser
- void remove(@EndpointParam(parser = URNToAdminHref.class) String catalogUrn);
-
- @DELETE
- @Consumes
- @JAXBResponseParser
void remove(@EndpointParam URI catalogAdminHref);
- /**
- * Retrieves the owner of a catalog.
- *
- * <pre>
- * GET /admin/catalog/{id}/owner
- * </pre>
- *
- * @return the owner or null if not found
- */
- @GET
- @Path("/owner")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- Owner getOwner(@EndpointParam(parser = URNToAdminHref.class) String catalogUrn);
-
@GET
@Path("/owner")
@Consumes
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
Owner getOwner(@EndpointParam URI catalogAdminHref);
- /**
- * Changes owner for catalog.
- *
- * <pre>
- * PUT /admin/catalog/{id}/owner
- * </pre>
- */
- @PUT
- @Path("/owner")
- @Consumes
- @Produces(VCloudDirectorMediaType.OWNER)
- @JAXBResponseParser
- void setOwner(@EndpointParam(parser = URNToAdminHref.class) String catalogUrn,
- @BinderParam(BindToXMLPayload.class) Owner newOwner);
-
@PUT
@Path("/owner")
@Consumes
- @Produces(VCloudDirectorMediaType.OWNER)
+ @Produces(OWNER)
@JAXBResponseParser
- void setOwner(@EndpointParam URI catalogAdminHref,
- @BinderParam(BindToXMLPayload.class) Owner newOwner);
+ void setOwner(@EndpointParam URI catalogAdminHref, @BinderParam(BindToXMLPayload.class) Owner newOwner);
/**
* Publish a catalog. Publishing a catalog makes the catalog visible to all organizations in a
@@ -198,33 +110,8 @@ public interface AdminCatalogApi extends CatalogApi {
@Consumes
@Produces(PUBLISH_CATALOG_PARAMS)
@JAXBResponseParser
- void publish(@EndpointParam(parser = URNToAdminHref.class) String catalogUrn,
- @BinderParam(BindToXMLPayload.class) PublishCatalogParams params);
-
- @POST
- @Path("/action/publish")
- @Consumes
- @Produces(PUBLISH_CATALOG_PARAMS)
- @JAXBResponseParser
void publish(@EndpointParam URI catalogAdminHref, @BinderParam(BindToXMLPayload.class) PublishCatalogParams params);
- /**
- * Modifies a catalog control access.
- *
- * <pre>
- * POST /org/{id}/catalog/{catalogId}/action/controlAccess
- * </pre>
- *
- * @return the control access information
- */
- @POST
- @Path("/action/controlAccess")
- @Produces(CONTROL_ACCESS)
- @Consumes(CONTROL_ACCESS)
- @JAXBResponseParser
- ControlAccessParams editAccessControl(@EndpointParam(parser = URNToAdminHref.class) String catalogUrn,
- @BinderParam(BindToXMLPayload.class) ControlAccessParams params);
-
@POST
@Path("/action/controlAccess")
@Produces(CONTROL_ACCESS)
@@ -233,26 +120,9 @@ public interface AdminCatalogApi extends CatalogApi {
ControlAccessParams editAccessControl(@EndpointParam URI catalogAdminHref,
@BinderParam(BindToXMLPayload.class) ControlAccessParams params);
- /**
- * Retrieves the catalog control access information.
- *
- * <pre>
- * GET /org/{id}/catalog/{catalogId}/controlAccess
- * </pre>
- *
- * @return the control access information
- */
@GET
@Path("/controlAccess")
@Consumes
@JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- ControlAccessParams getAccessControl(@EndpointParam(parser = URNToAdminHref.class) String catalogUrn);
-
- @GET
- @Path("/controlAccess")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
ControlAccessParams getAccessControl(@EndpointParam URI catalogAdminHref);
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a58cf0c6/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminNetworkApi.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminNetworkApi.java b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminNetworkApi.java
index 67b9024..7e50534 100644
--- a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminNetworkApi.java
+++ b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminNetworkApi.java
@@ -40,88 +40,37 @@ import org.jclouds.vcloud.director.v1_5.domain.network.Network;
import org.jclouds.vcloud.director.v1_5.domain.org.OrgNetwork;
import org.jclouds.vcloud.director.v1_5.features.NetworkApi;
import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationAndCookieToRequest;
-import org.jclouds.vcloud.director.v1_5.functions.URNToAdminHref;
@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
public interface AdminNetworkApi extends NetworkApi {
/**
- * Gets admin representation of network. This operation could return admin representation of
+ * Gets admin representation of the network or null if not found.
+ *
+ * <p />This operation could return admin representation of
* organization network or external network. vApp networks do not have admin representation.
- *
- * <pre>
- * GET /admin/network/{id}
- * </pre>
- *
- * @param networkUrn
- * the reference for the network
- * @return the network
*/
@Override
@GET
@Consumes
@JAXBResponseParser
@Fallback(NullOnNotFoundOr404.class)
- Network get(@EndpointParam(parser = URNToAdminHref.class) String networkUrn);
-
- @Override
- @GET
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
Network get(@EndpointParam URI networkAdminHref);
- /**
- * Modifies an org network
- *
- * <pre>
- * PUT /admin/network/{id}
- * </pre>
- *
- * @param networkUrn
- * the reference for the network
- * @param network
- * the edited network
- * @return a task. This operation is asynchronous and the user should monitor the returned task
- * status in order to check when it is completed.
- */
- @PUT
- @Consumes(TASK)
- @Produces(ADMIN_ORG_NETWORK)
- @JAXBResponseParser
- Task edit(@EndpointParam(parser = URNToAdminHref.class) String networkUrn,
- @BinderParam(BindToXMLPayload.class) OrgNetwork network);
-
@PUT
@Consumes(TASK)
@Produces(ADMIN_ORG_NETWORK)
@JAXBResponseParser
- Task edit(@EndpointParam URI networkAdminHref,
- @BinderParam(BindToXMLPayload.class) OrgNetwork network);
+ Task edit(@EndpointParam URI networkAdminHref, @BinderParam(BindToXMLPayload.class) OrgNetwork network);
/**
* Reset(undeploy & redeploy) networking services on a logical network. The reset operation can
* be performed on: - external networks - organization networks - vApp networks The reset
* operation can be performed only on deployed networks.
- *
- * <pre>
- * POST /admin/network/{id}/action/reset
- * </pre>
- *
- * @param networkUrn
- * the reference for the network
- * @return a task. This operation is asynchronous and the user should monitor the returned task
- * status in order to check when it is completed.
*/
@POST
@Path("/action/reset")
@Consumes
@JAXBResponseParser
- Task reset(@EndpointParam(parser = URNToAdminHref.class) String networkUrn);
-
- @POST
- @Path("/action/reset")
- @Consumes
- @JAXBResponseParser
Task reset(@EndpointParam URI networkAdminHref);
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a58cf0c6/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminOrgApi.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminOrgApi.java b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminOrgApi.java
index f8831f4..555c46c 100644
--- a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminOrgApi.java
+++ b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminOrgApi.java
@@ -48,30 +48,11 @@ import org.jclouds.vcloud.director.v1_5.domain.org.OrgSettings;
import org.jclouds.vcloud.director.v1_5.domain.org.OrgVAppTemplateLeaseSettings;
import org.jclouds.vcloud.director.v1_5.features.OrgApi;
import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationAndCookieToRequest;
-import org.jclouds.vcloud.director.v1_5.functions.URNToAdminHref;
@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
public interface AdminOrgApi extends OrgApi {
- /**
- * Retrieves an admin view of an organization. The organization might be enabled or disabled. If
- * enabled, the organization allows login and all other operations.
- *
- * <pre>
- * GET /admin/org/{id}
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @return the admin org
- */
- @Override
- @GET
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- AdminOrg get(@EndpointParam(parser = URNToAdminHref.class) String orgUrn);
-
+ /** Retrieves an admin view of an organization or null if not found. */
@Override
@GET
@Consumes
@@ -79,24 +60,6 @@ public interface AdminOrgApi extends OrgApi {
@Fallback(NullOnNotFoundOr404.class)
AdminOrg get(@EndpointParam URI adminOrgHref);
- /**
- * Gets organizational settings for this organization.
- *
- * <pre>
- * GET /admin/org/{id}/settings
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @return the settings
- */
- @GET
- @Path("/settings")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- OrgSettings getSettings(@EndpointParam(parser = URNToAdminHref.class) String orgUrn);
-
@GET
@Path("/settings")
@Consumes
@@ -104,27 +67,6 @@ public interface AdminOrgApi extends OrgApi {
@Fallback(NullOnNotFoundOr404.class)
OrgSettings getSettings(@EndpointParam URI adminOrgHref);
- /**
- * Updates organizational settings for this organization.
- *
- * <pre>
- * PUT /admin/org/{id}/settings
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @param settings
- * the requested edited settings
- * @return the resultant settings
- */
- @PUT
- @Path("/settings")
- @Consumes(ORG_SETTINGS)
- @Produces(ORG_SETTINGS)
- @JAXBResponseParser
- OrgSettings editSettings(@EndpointParam(parser = URNToAdminHref.class) String orgUrn,
- @BinderParam(BindToXMLPayload.class) OrgSettings settings);
-
@PUT
@Path("/settings")
@Consumes(ORG_SETTINGS)
@@ -133,24 +75,6 @@ public interface AdminOrgApi extends OrgApi {
OrgSettings editSettings(@EndpointParam URI adminOrgHref,
@BinderParam(BindToXMLPayload.class) OrgSettings settings);
- /**
- * Retrieves email settings for an organization.
- *
- * <pre>
- * GET /admin/org/{id}/settings/email
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @return the email settings
- */
- @GET
- @Path("/settings/email")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- OrgEmailSettings getEmailSettings(@EndpointParam(parser = URNToAdminHref.class) String orgUrn);
-
@GET
@Path("/settings/email")
@Consumes
@@ -158,27 +82,6 @@ public interface AdminOrgApi extends OrgApi {
@Fallback(NullOnNotFoundOr404.class)
OrgEmailSettings getEmailSettings(@EndpointParam URI adminOrgHref);
- /**
- * Updates email policy settings for organization.
- *
- * <pre>
- * PUT /admin/org/{id}/settings/email
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @param settings
- * the requested edited settings
- * @return the resultant settings
- */
- @PUT
- @Path("/settings/email")
- @Consumes(ORG_EMAIL_SETTINGS)
- @Produces(ORG_EMAIL_SETTINGS)
- @JAXBResponseParser
- OrgEmailSettings editEmailSettings(@EndpointParam(parser = URNToAdminHref.class) String orgUrn,
- @BinderParam(BindToXMLPayload.class) OrgEmailSettings settings);
-
@PUT
@Path("/settings/email")
@Consumes(ORG_EMAIL_SETTINGS)
@@ -187,24 +90,6 @@ public interface AdminOrgApi extends OrgApi {
OrgEmailSettings editEmailSettings(@EndpointParam URI adminOrgHref,
@BinderParam(BindToXMLPayload.class) OrgEmailSettings settings);
- /**
- * Gets general organization settings.
- *
- * <pre>
- * GET /admin/org/{id}/settings/general
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @return the lease settings
- */
- @GET
- @Path("/settings/general")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- OrgGeneralSettings getGeneralSettings(@EndpointParam(parser = URNToAdminHref.class) String orgUrn);
-
@GET
@Path("/settings/general")
@Consumes
@@ -212,27 +97,6 @@ public interface AdminOrgApi extends OrgApi {
@Fallback(NullOnNotFoundOr404.class)
OrgGeneralSettings getGeneralSettings(@EndpointParam URI adminOrgHref);
- /**
- * Updates general organization settings.
- *
- * <pre>
- * PUT /admin/org/{id}/settings/general
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @param settings
- * the requested edited settings
- * @return the resultant settings
- */
- @PUT
- @Path("/settings/general")
- @Consumes(ORG_GENERAL_SETTINGS)
- @Produces(ORG_GENERAL_SETTINGS)
- @JAXBResponseParser
- OrgGeneralSettings editGeneralSettings(@EndpointParam(parser = URNToAdminHref.class) String orgUrn,
- @BinderParam(BindToXMLPayload.class) OrgGeneralSettings settings);
-
@PUT
@Path("/settings/general")
@Consumes(ORG_GENERAL_SETTINGS)
@@ -241,24 +105,6 @@ public interface AdminOrgApi extends OrgApi {
OrgGeneralSettings editGeneralSettings(@EndpointParam URI adminOrgHref,
@BinderParam(BindToXMLPayload.class) OrgGeneralSettings settings);
- /**
- * Retrieves LDAP settings for an organization.
- *
- * <pre>
- * GET /admin/org/{id}/settings/ldap
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @return the ldap settings
- */
- @GET
- @Path("/settings/ldap")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- OrgLdapSettings getLdapSettings(@EndpointParam(parser = URNToAdminHref.class) String orgUrn);
-
@GET
@Path("/settings/ldap")
@Consumes
@@ -266,25 +112,6 @@ public interface AdminOrgApi extends OrgApi {
@Fallback(NullOnNotFoundOr404.class)
OrgLdapSettings getLdapSettings(@EndpointParam URI adminOrgHref);
- /**
- * Retrieves password policy settings for an organization.
- *
- * <pre>
- * GET /admin/org/{id}/settings/passwordPolicy
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @return the lease settings
- */
- @GET
- @Path("/settings/passwordPolicy")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- OrgPasswordPolicySettings getPasswordPolicy(
- @EndpointParam(parser = URNToAdminHref.class) String orgUrn);
-
@GET
@Path("/settings/passwordPolicy")
@Consumes
@@ -292,27 +119,6 @@ public interface AdminOrgApi extends OrgApi {
@Fallback(NullOnNotFoundOr404.class)
OrgPasswordPolicySettings getPasswordPolicy(@EndpointParam URI adminOrgHref);
- /**
- * Updates password policy settings for organization.
- *
- * <pre>
- * PUT /admin/org/{id}/settings/passwordPolicy
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @param settings
- * the requested edited settings
- * @return the resultant settings
- */
- @PUT
- @Path("/settings/passwordPolicy")
- @Consumes(ORG_PASSWORD_POLICY_SETTINGS)
- @Produces(ORG_PASSWORD_POLICY_SETTINGS)
- @JAXBResponseParser
- OrgPasswordPolicySettings editPasswordPolicy(@EndpointParam(parser = URNToAdminHref.class) String orgUrn,
- @BinderParam(BindToXMLPayload.class) OrgPasswordPolicySettings settings);
-
@PUT
@Path("/settings/passwordPolicy")
@Consumes(ORG_PASSWORD_POLICY_SETTINGS)
@@ -321,24 +127,6 @@ public interface AdminOrgApi extends OrgApi {
OrgPasswordPolicySettings editPasswordPolicy(@EndpointParam URI adminOrgHref,
@BinderParam(BindToXMLPayload.class) OrgPasswordPolicySettings settings);
- /**
- * Gets organization resource cleanup settings on the level of vApp.
- *
- * <pre>
- * GET /admin/org/{id}/settings/vAppLeaseSettings
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @return the lease settings
- */
- @GET
- @Path("/settings/vAppLeaseSettings")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- OrgLeaseSettings getVAppLeaseSettings(@EndpointParam(parser = URNToAdminHref.class) String orgUrn);
-
@GET
@Path("/settings/vAppLeaseSettings")
@Consumes
@@ -346,27 +134,6 @@ public interface AdminOrgApi extends OrgApi {
@Fallback(NullOnNotFoundOr404.class)
OrgLeaseSettings getVAppLeaseSettings(@EndpointParam URI adminOrgHref);
- /**
- * Updates organization resource cleanup settings on the level of vApp.
- *
- * <pre>
- * PUT /admin/org/{id}/settings/vAppLeaseSettings
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @param settings
- * the requested edited settings
- * @return the resultant settings
- */
- @PUT
- @Path("/settings/vAppLeaseSettings")
- @Consumes(ORG_LEASE_SETTINGS)
- @Produces(ORG_LEASE_SETTINGS)
- @JAXBResponseParser
- OrgLeaseSettings editVAppLeaseSettings(@EndpointParam(parser = URNToAdminHref.class) String orgUrn,
- @BinderParam(BindToXMLPayload.class) OrgLeaseSettings settings);
-
@PUT
@Path("/settings/vAppLeaseSettings")
@Consumes(ORG_LEASE_SETTINGS)
@@ -375,24 +142,6 @@ public interface AdminOrgApi extends OrgApi {
OrgLeaseSettings editVAppLeaseSettings(@EndpointParam URI adminOrgHref,
@BinderParam(BindToXMLPayload.class) OrgLeaseSettings settings);
- /**
- * Retrieves expiration and storage policy for vApp templates in an organization.
- *
- * <pre>
- * GET /admin/org/{id}/settings/vAppTemplateLeaseSettings
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @return the lease settings
- */
- @GET
- @Path("/settings/vAppTemplateLeaseSettings")
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- OrgVAppTemplateLeaseSettings getVAppTemplateLeaseSettings(@EndpointParam(parser = URNToAdminHref.class) String orgUrn);
-
@GET
@Path("/settings/vAppTemplateLeaseSettings")
@Consumes
@@ -400,27 +149,6 @@ public interface AdminOrgApi extends OrgApi {
@Fallback(NullOnNotFoundOr404.class)
OrgVAppTemplateLeaseSettings getVAppTemplateLeaseSettings(@EndpointParam URI adminOrgHref);
- /**
- * Updates vApp template policy settings for organization.
- *
- * <pre>
- * PUT /admin/org/{id}/settings/vAppTemplateLeaseSettings
- * </pre>
- *
- * @param orgUrn
- * the reference for the admin org
- * @param settings
- * the requested edited settings
- * @return the resultant settings
- */
- @PUT
- @Path("/settings/vAppTemplateLeaseSettings")
- @Consumes(ORG_VAPP_TEMPLATE_LEASE_SETTINGS)
- @Produces(ORG_VAPP_TEMPLATE_LEASE_SETTINGS)
- @JAXBResponseParser
- OrgVAppTemplateLeaseSettings editVAppTemplateLeaseSettings(@EndpointParam(parser = URNToAdminHref.class) String orgUrn,
- @BinderParam(BindToXMLPayload.class) OrgVAppTemplateLeaseSettings settings);
-
@PUT
@Path("/settings/vAppTemplateLeaseSettings")
@Consumes(ORG_VAPP_TEMPLATE_LEASE_SETTINGS)
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a58cf0c6/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminVdcApi.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminVdcApi.java b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminVdcApi.java
index ae18e8f..dcd6fba 100644
--- a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminVdcApi.java
+++ b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/AdminVdcApi.java
@@ -37,27 +37,11 @@ import org.jclouds.vcloud.director.v1_5.domain.AdminVdc;
import org.jclouds.vcloud.director.v1_5.domain.Task;
import org.jclouds.vcloud.director.v1_5.features.VdcApi;
import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationAndCookieToRequest;
-import org.jclouds.vcloud.director.v1_5.functions.URNToAdminHref;
@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
public interface AdminVdcApi extends VdcApi {
- /**
- * Retrieves an admin view of virtual data center. The redwood admin can disable an
- * organization vDC. This will prevent any further allocation to be used by the organization.
- * Changing the state will not affect allocations already used. For example, if an organization
- * vDC is disabled, an organization user cannot deploy or add a new virtual machine in the
- * vDC (deploy uses memory and cpu allocations, and add uses storage allocation).
- *
- * @return the admin vDC or null if not found
- */
- @Override
- @GET
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- AdminVdc get(@EndpointParam(parser = URNToAdminHref.class) String vdcUrn);
-
+ /** Returns an admin view of the virtual datacenter or null if not found. */
@Override
@GET
@Consumes
@@ -74,12 +58,6 @@ public interface AdminVdcApi extends VdcApi {
@Consumes
@Produces(VCloudDirectorMediaType.ADMIN_VDC)
@JAXBResponseParser
- Task edit(@EndpointParam(parser = URNToAdminHref.class) String vdcUrn, AdminVdc vdc);
-
- @PUT
- @Consumes
- @Produces(VCloudDirectorMediaType.ADMIN_VDC)
- @JAXBResponseParser
Task edit(@EndpointParam URI vdcAdminHref, AdminVdc vdc);
/**
@@ -90,11 +68,6 @@ public interface AdminVdcApi extends VdcApi {
@DELETE
@Consumes
@JAXBResponseParser
- Task remove(@EndpointParam(parser = URNToAdminHref.class) String vdcUrn);
-
- @DELETE
- @Consumes
- @JAXBResponseParser
Task remove(@EndpointParam URI vdcAdminHref);
/**
@@ -105,12 +78,6 @@ public interface AdminVdcApi extends VdcApi {
@Consumes
@Path("/action/enable")
@JAXBResponseParser
- void enable(@EndpointParam(parser = URNToAdminHref.class) String vdcUrn);
-
- @POST
- @Consumes
- @Path("/action/enable")
- @JAXBResponseParser
void enable(@EndpointParam URI vdcAdminHref);
/**
@@ -121,11 +88,5 @@ public interface AdminVdcApi extends VdcApi {
@Consumes
@Path("/action/disable")
@JAXBResponseParser
- void disable(@EndpointParam(parser = URNToAdminHref.class) String vdcUrn);
-
- @POST
- @Consumes
- @Path("/action/disable")
- @JAXBResponseParser
void disable(@EndpointParam URI vdcAdminHref);
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/a58cf0c6/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApi.java
----------------------------------------------------------------------
diff --git a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApi.java b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApi.java
index 892ff08..77fdae5 100644
--- a/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApi.java
+++ b/vcloud-director/src/main/java/org/jclouds/vcloud/director/v1_5/features/admin/GroupApi.java
@@ -29,6 +29,7 @@ import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
+import org.jclouds.javax.annotation.Nullable;
import org.jclouds.rest.annotations.BinderParam;
import org.jclouds.rest.annotations.EndpointParam;
import org.jclouds.rest.annotations.Fallback;
@@ -37,74 +38,23 @@ import org.jclouds.rest.annotations.RequestFilters;
import org.jclouds.rest.binders.BindToXMLPayload;
import org.jclouds.vcloud.director.v1_5.domain.Group;
import org.jclouds.vcloud.director.v1_5.filters.AddVCloudAuthorizationAndCookieToRequest;
-import org.jclouds.vcloud.director.v1_5.functions.URNToAdminHref;
-import org.jclouds.vcloud.director.v1_5.functions.URNToHref;
@RequestFilters(AddVCloudAuthorizationAndCookieToRequest.class)
public interface GroupApi {
-
- /**
- * Imports a group in an organization.
- *
- * <pre>
- * POST /admin/org/{id}/groups
- * </pre>
- *
- * @param adminUrn the admin org to add the group in
- * @return the added group
- */
- @POST
- @Path("/groups")
- @Consumes(GROUP)
- @Produces(GROUP)
- @JAXBResponseParser
- Group addGroupToOrg(@BinderParam(BindToXMLPayload.class) Group group,
- @EndpointParam(parser = URNToAdminHref.class) String adminUrn);
-
- @POST
- @Path("/groups")
- @Consumes(GROUP)
- @Produces(GROUP)
- @JAXBResponseParser
- Group addGroupToOrg(@BinderParam(BindToXMLPayload.class) Group group, @EndpointParam URI adminUrn);
-
- /**
- * Retrieves a group.
- *
- * <pre>
- * GET /admin/group/{id}
- * </pre>
- *
- * @param groupUrn the reference for the group
- * @return a group
- */
- @GET
- @Consumes
- @JAXBResponseParser
- @Fallback(NullOnNotFoundOr404.class)
- Group get(@EndpointParam(parser = URNToHref.class) String groupUrn);
-
+ /** Returns the group or null if not found. */
@GET
@Consumes
@JAXBResponseParser
@Fallback(NullOnNotFoundOr404.class)
+ @Nullable
Group get(@EndpointParam URI groupUri);
- /**
- * Modifies a group.
- *
- * <pre>
- * PUT /admin/group/{id}
- * </pre>
- *
- * @return the edited group
- */
- @PUT
+ @POST
+ @Path("/groups")
@Consumes(GROUP)
@Produces(GROUP)
@JAXBResponseParser
- Group edit(@EndpointParam(parser = URNToHref.class) String groupUrn,
- @BinderParam(BindToXMLPayload.class) Group group);
+ Group addGroupToOrg(@BinderParam(BindToXMLPayload.class) Group group, @EndpointParam URI adminUrn);
@PUT
@Consumes(GROUP)
@@ -112,18 +62,6 @@ public interface GroupApi {
@JAXBResponseParser
Group edit(@EndpointParam URI groupUrn, @BinderParam(BindToXMLPayload.class) Group group);
- /**
- * Deletes a group.
- *
- * <pre>
- * DELETE /admin/group/{id}
- * </pre>
- */
- @DELETE
- @Consumes
- @JAXBResponseParser
- void remove(@EndpointParam(parser = URNToHref.class) String groupUrn);
-
@DELETE
@Consumes
@JAXBResponseParser