Make all Nova extensions extensible

This commit is contained in:
Andrew Donald Kennedy 2012-08-21 21:48:37 +03:00
parent e356ec21c4
commit 931aa7838a
21 changed files with 56 additions and 56 deletions

View File

@ -42,7 +42,7 @@ public interface FloatingIPApi {
*
* @return all Floating IPs
*/
Set<FloatingIP> listFloatingIPs();
Set<? extends FloatingIP> listFloatingIPs();
/**
* Get a specific Floating IP address

View File

@ -70,7 +70,7 @@ public interface FloatingIPAsyncApi {
@SelectJson("floating_ips")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<FloatingIP>> listFloatingIPs();
ListenableFuture<? extends Set<? extends FloatingIP>> listFloatingIPs();
/**
* @see FloatingIPApi#getFloatingIP
@ -80,7 +80,7 @@ public interface FloatingIPAsyncApi {
@SelectJson("floating_ip")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
ListenableFuture<FloatingIP> getFloatingIP(@PathParam("id") String id);
ListenableFuture<? extends FloatingIP> getFloatingIP(@PathParam("id") String id);
/**
* @see FloatingIPApi#allocate
@ -92,7 +92,7 @@ public interface FloatingIPAsyncApi {
@Produces(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
@Payload("{}")
ListenableFuture<FloatingIP> allocate();
ListenableFuture<? extends FloatingIP> allocate();
/**
* @see FloatingIPApi#deallocate

View File

@ -43,14 +43,14 @@ public interface HostAdministrationApi {
*
* @return the usage information
*/
Set<Host> listHosts();
Set<? extends Host> listHosts();
/**
* Retrieves the physical/usage resource on a specific host
*
* @return the usage information
*/
Set<HostResourceUsage> getHostResourceUsage(String hostId);
Set<? extends HostResourceUsage> getHostResourceUsage(String hostId);
/**
* Allow the specified host to accept new instances.

View File

@ -73,7 +73,7 @@ public interface HostAdministrationAsyncApi {
@GET
@SelectJson("hosts")
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<Host>> listHosts();
ListenableFuture<? extends Set<? extends Host>> listHosts();
/**
* @see HostAdministrationApi#getHostResourceUsage(String)
@ -82,7 +82,7 @@ public interface HostAdministrationAsyncApi {
@Path("/{id}")
@SelectJson("host")
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<HostResourceUsage>> getHostResourceUsage(@PathParam("id") String hostId);
ListenableFuture<? extends Set<? extends HostResourceUsage>> getHostResourceUsage(@PathParam("id") String hostId);
/**
* @see HostAdministrationApi#enableHost(String)

View File

@ -45,7 +45,7 @@ public interface HostAggregateApi {
/**
* @return the set of host aggregates.
*/
Set<HostAggregate> listAggregates();
Set<? extends HostAggregate> listAggregates();
/**
* Retrieves the details of an aggregate, hosts and metadata included.

View File

@ -66,7 +66,7 @@ public interface HostAggregateAsyncApi {
@SelectJson("aggregates")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<HostAggregate>> listAggregates();
ListenableFuture<? extends Set<? extends HostAggregate>> listAggregates();
/**
* @see HostAggregateApi#getAggregate(String)
@ -76,7 +76,7 @@ public interface HostAggregateAsyncApi {
@SelectJson("aggregate")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
ListenableFuture<HostAggregate> getAggregate(@PathParam("id") String id);
ListenableFuture<? extends HostAggregate> getAggregate(@PathParam("id") String id);
/**
* @see HostAggregateApi#createAggregate(String, String)
@ -86,7 +86,7 @@ public interface HostAggregateAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@WrapWith("aggregate")
ListenableFuture<HostAggregate> createAggregate(@PayloadParam("name") String name,
ListenableFuture<? extends HostAggregate> createAggregate(@PayloadParam("name") String name,
@PayloadParam("availability_zone") String availabilityZone);
/**
@ -97,7 +97,7 @@ public interface HostAggregateAsyncApi {
@SelectJson("aggregate")
@Consumes(MediaType.APPLICATION_JSON)
@WrapWith("aggregate")
ListenableFuture<HostAggregate> updateName(@PathParam("id") String id, @PayloadParam("name") String name);
ListenableFuture<? extends HostAggregate> updateName(@PathParam("id") String id, @PayloadParam("name") String name);
/**
* @see HostAggregateApi#updateAvailabilityZone
@ -107,7 +107,7 @@ public interface HostAggregateAsyncApi {
@SelectJson("aggregate")
@Consumes(MediaType.APPLICATION_JSON)
@WrapWith("aggregate")
ListenableFuture<HostAggregate> updateAvailabilityZone(@PathParam("id") String id, @PayloadParam("availability_zone") String availabilityZone);
ListenableFuture<? extends HostAggregate> updateAvailabilityZone(@PathParam("id") String id, @PayloadParam("availability_zone") String availabilityZone);
/**
* @see HostAggregateApi#deleteAggregate(String)
@ -127,7 +127,7 @@ public interface HostAggregateAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@WrapWith("add_host")
ListenableFuture<HostAggregate> addHost(@PathParam("id") String id, @PayloadParam("host") String host);
ListenableFuture<? extends HostAggregate> addHost(@PathParam("id") String id, @PayloadParam("host") String host);
/**
@ -139,7 +139,7 @@ public interface HostAggregateAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@WrapWith("remove_host")
ListenableFuture<HostAggregate> removeHost(@PathParam("id") String id, @PayloadParam("host") String host);
ListenableFuture<? extends HostAggregate> removeHost(@PathParam("id") String id, @PayloadParam("host") String host);
/**
* @see HostAggregateApi#setMetadata
@ -150,5 +150,5 @@ public interface HostAggregateAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@WrapWith("set_metadata")
ListenableFuture<HostAggregate> setMetadata(@PathParam("id") String id, @PayloadParam("metadata") Map<String, String> metadata);
ListenableFuture<? extends HostAggregate> setMetadata(@PathParam("id") String id, @PayloadParam("metadata") Map<String, String> metadata);
}

View File

@ -43,7 +43,7 @@ public interface KeyPairApi {
*
* @return all Key Pairs
*/
Set<Map<String, KeyPair>> listKeyPairs();
Set<? extends Map<String, ? extends KeyPair>> listKeyPairs();
/**
* Create a Key Pair.

View File

@ -69,7 +69,7 @@ public interface KeyPairAsyncApi {
@SelectJson("keypairs")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<Map<String, KeyPair>>> listKeyPairs();
ListenableFuture<? extends Set<? extends Map<String, ? extends KeyPair>>> listKeyPairs();
@POST
@Path("/os-keypairs")
@ -77,7 +77,7 @@ public interface KeyPairAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Payload("%7B\"keypair\":%7B\"name\":\"{name}\"%7D%7D")
ListenableFuture<KeyPair> createKeyPair(@PayloadParam("name") String name);
ListenableFuture<? extends KeyPair> createKeyPair(@PayloadParam("name") String name);
@POST
@Path("/os-keypairs")
@ -85,7 +85,7 @@ public interface KeyPairAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Payload("%7B\"keypair\":%7B\"name\":\"{name}\",\"public_key\":\"{publicKey}\"%7D%7D")
ListenableFuture<KeyPair> createKeyPairWithPublicKey(@PayloadParam("name") String name,
ListenableFuture<? extends KeyPair> createKeyPairWithPublicKey(@PayloadParam("name") String name,
@PayloadParam("publicKey") String publicKey);
@DELETE

View File

@ -64,7 +64,7 @@ public interface QuotaAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Path("/{tenant_id}")
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
ListenableFuture<Quotas> getQuotasForTenant(@PathParam("tenant_id") String tenantId);
ListenableFuture<? extends Quotas> getQuotasForTenant(@PathParam("tenant_id") String tenantId);
/**
* @see QuotaApi#updateQuotasForTenant(String, org.jclouds.openstack.nova.v2_0.domain.Quotas)
@ -83,6 +83,6 @@ public interface QuotaAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Path("/{tenant_id}/defaults")
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
ListenableFuture<Quotas> getDefaultQuotasForTenant(@PathParam("tenant_id") String tenantId);
ListenableFuture<? extends Quotas> getDefaultQuotasForTenant(@PathParam("tenant_id") String tenantId);
}

View File

@ -65,7 +65,7 @@ public interface QuotaClassAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Path("/{id}")
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
ListenableFuture<QuotaClass> getQuotaClass(@PathParam("id") String id);
ListenableFuture<? extends QuotaClass> getQuotaClass(@PathParam("id") String id);
/**
* @see QuotaClassApi#updateQuotaClass

View File

@ -44,7 +44,7 @@ public interface SecurityGroupApi {
*
* @return all Floating IPs
*/
Set<SecurityGroup> listSecurityGroups();
Set<? extends SecurityGroup> listSecurityGroups();
/**
* Get a specific Security Group

View File

@ -73,7 +73,7 @@ public interface SecurityGroupAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Path("/os-security-groups")
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<SecurityGroup>> listSecurityGroups();
ListenableFuture<? extends Set<? extends SecurityGroup>> listSecurityGroups();
/**
* @see SecurityGroupApi#getSecurityGroup
@ -83,7 +83,7 @@ public interface SecurityGroupAsyncApi {
@SelectJson("security_group")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
ListenableFuture<SecurityGroup> getSecurityGroup(@PathParam("id") String id);
ListenableFuture<? extends SecurityGroup> getSecurityGroup(@PathParam("id") String id);
/**
* @see SecurityGroupApi#createSecurityGroupWithNameAndDescription
@ -95,7 +95,7 @@ public interface SecurityGroupAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Payload("%7B\"security_group\":%7B\"name\":\"{name}\",\"description\":\"{description}\"%7D%7D")
ListenableFuture<SecurityGroup> createSecurityGroupWithNameAndDescription(@PayloadParam("name") String name,
ListenableFuture<? extends SecurityGroup> createSecurityGroupWithNameAndDescription(@PayloadParam("name") String name,
@PayloadParam("description") String description);
/**
@ -117,7 +117,7 @@ public interface SecurityGroupAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@MapBinder(BindSecurityGroupRuleToJsonPayload.class)
ListenableFuture<SecurityGroupRule> createSecurityGroupRuleAllowingCidrBlock(
ListenableFuture<? extends SecurityGroupRule> createSecurityGroupRuleAllowingCidrBlock(
@PayloadParam("parent_group_id") String parent_group_id, Ingress ip_protocol,
@PayloadParam("cidr") String cidr);
@ -131,7 +131,7 @@ public interface SecurityGroupAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@MapBinder(BindSecurityGroupRuleToJsonPayload.class)
ListenableFuture<SecurityGroupRule> createSecurityGroupRuleAllowingSecurityGroupId(
ListenableFuture<? extends SecurityGroupRule> createSecurityGroupRuleAllowingSecurityGroupId(
@PayloadParam("parent_group_id") String parent_group_id, Ingress ip_protocol,
@PayloadParam("group_id") String group_id);

View File

@ -57,6 +57,6 @@ public interface ServerWithSecurityGroupsAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Path("/os-create-server-ext/{id}")
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
ListenableFuture<ServerWithSecurityGroups> getServer(@PathParam("id") String id);
ListenableFuture<? extends ServerWithSecurityGroups> getServer(@PathParam("id") String id);
}

View File

@ -42,7 +42,7 @@ public interface SimpleTenantUsageApi {
*
* @return the set of TenantUsage reports
*/
Set<SimpleTenantUsage> listTenantUsages();
Set<? extends SimpleTenantUsage> listTenantUsages();
/**
* Retrieve tenant_usage for a specified tenant

View File

@ -62,7 +62,7 @@ public interface SimpleTenantUsageAsyncApi {
@SelectJson("tenant_usages")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<SimpleTenantUsage>> listTenantUsages();
ListenableFuture<? extends Set<? extends SimpleTenantUsage>> listTenantUsages();
/**
* @see SimpleTenantUsageApi#getTenantUsage(String)
@ -72,6 +72,6 @@ public interface SimpleTenantUsageAsyncApi {
@SelectJson("tenant_usage")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
ListenableFuture<SimpleTenantUsage> getTenantUsage(@PathParam("id") String tenantId);
ListenableFuture<? extends SimpleTenantUsage> getTenantUsage(@PathParam("id") String tenantId);
}

View File

@ -41,6 +41,6 @@ public interface VirtualInterfaceApi {
*
* @return the list of snapshots
*/
Set<VirtualInterface> listVirtualInterfacesForServer(String serverId);
Set<? extends VirtualInterface> listVirtualInterfacesForServer(String serverId);
}

View File

@ -56,5 +56,5 @@ public interface VirtualInterfaceAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Path("/servers/{server_id}/os-virtual-interfaces")
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<VirtualInterface>> listVirtualInterfacesForServer(@PathParam("server_id") String serverId);
ListenableFuture<? extends Set<? extends VirtualInterface>> listVirtualInterfacesForServer(@PathParam("server_id") String serverId);
}

View File

@ -45,14 +45,14 @@ public interface VolumeApi {
*
* @return the list of snapshots
*/
Set<Volume> listVolumes();
Set<? extends Volume> listVolumes();
/**
* Returns a detailed list of volumes.
*
* @return the list of volumes.
*/
Set<Volume> listVolumesInDetail();
Set<? extends Volume> listVolumesInDetail();
/**
* Return data about the given volume.
@ -80,7 +80,7 @@ public interface VolumeApi {
*
* @return all Floating IPs
*/
Set<VolumeAttachment> listAttachmentsOnServer(String serverId);
Set<? extends VolumeAttachment> listAttachmentsOnServer(String serverId);
/**
* Get a specific attached volume.
@ -108,14 +108,14 @@ public interface VolumeApi {
*
* @return the list of snapshots
*/
Set<VolumeSnapshot> listSnapshots();
Set<? extends VolumeSnapshot> listSnapshots();
/**
* Returns a summary list of snapshots.
*
* @return the list of snapshots
*/
Set<VolumeSnapshot> listSnapshotsInDetail();
Set<? extends VolumeSnapshot> listSnapshotsInDetail();
/**
* Return data about the given snapshot.

View File

@ -71,7 +71,7 @@ public interface VolumeAsyncApi {
@SelectJson("volumes")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<Volume>> listVolumes();
ListenableFuture<? extends Set<? extends Volume>> listVolumes();
/**
* Returns a detailed list of volumes.
@ -83,7 +83,7 @@ public interface VolumeAsyncApi {
@SelectJson("volumes")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<Volume>> listVolumesInDetail();
ListenableFuture<? extends Set<? extends Volume>> listVolumesInDetail();
/**
* Return data about the given volume.
@ -95,7 +95,7 @@ public interface VolumeAsyncApi {
@SelectJson("volume")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
ListenableFuture<Volume> getVolume(@PathParam("id") String volumeId);
ListenableFuture<? extends Volume> getVolume(@PathParam("id") String volumeId);
/**
* Creates a new volume
@ -108,7 +108,7 @@ public interface VolumeAsyncApi {
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@MapBinder(CreateVolumeOptions.class)
ListenableFuture<Volume> createVolume(@PayloadParam("size") int sizeGB, CreateVolumeOptions... options);
ListenableFuture<? extends Volume> createVolume(@PayloadParam("size") int sizeGB, CreateVolumeOptions... options);
/**
* Delete a volume.
@ -131,7 +131,7 @@ public interface VolumeAsyncApi {
@SelectJson("volumeAttachments")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<VolumeAttachment>> listAttachmentsOnServer(@PathParam("server_id") String serverId);
ListenableFuture<? extends Set<? extends VolumeAttachment>> listAttachmentsOnServer(@PathParam("server_id") String serverId);
/**
* Get a specific attached volume.
@ -143,7 +143,7 @@ public interface VolumeAsyncApi {
@SelectJson("volumeAttachment")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
ListenableFuture<VolumeAttachment> getAttachmentForVolumeOnServer(@PathParam("id") String volumeId,
ListenableFuture<? extends VolumeAttachment> getAttachmentForVolumeOnServer(@PathParam("id") String volumeId,
@PathParam("server_id") String serverId);
/**
@ -157,7 +157,7 @@ public interface VolumeAsyncApi {
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@WrapWith("volumeAttachment")
ListenableFuture<VolumeAttachment> attachVolumeToServerAsDevice(@PayloadParam("volumeId") String volumeId,
ListenableFuture<? extends VolumeAttachment> attachVolumeToServerAsDevice(@PayloadParam("volumeId") String volumeId,
@PathParam("server_id") String serverId, @PayloadParam("device") String device);
/**
@ -181,7 +181,7 @@ public interface VolumeAsyncApi {
@SelectJson("snapshots")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<VolumeSnapshot>> listSnapshots();
ListenableFuture<? extends Set<? extends VolumeSnapshot>> listSnapshots();
/**
* Returns a summary list of snapshots.
@ -193,7 +193,7 @@ public interface VolumeAsyncApi {
@SelectJson("snapshots")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<VolumeSnapshot>> listSnapshotsInDetail();
ListenableFuture<? extends Set<? extends VolumeSnapshot>> listSnapshotsInDetail();
/**
* Return data about the given snapshot.
@ -205,7 +205,7 @@ public interface VolumeAsyncApi {
@SelectJson("snapshot")
@Consumes(MediaType.APPLICATION_JSON)
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
ListenableFuture<VolumeSnapshot> getSnapshot(@PathParam("id") String snapshotId);
ListenableFuture<? extends VolumeSnapshot> getSnapshot(@PathParam("id") String snapshotId);
/**
* Creates a new Snapshot
@ -218,7 +218,7 @@ public interface VolumeAsyncApi {
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@MapBinder(CreateVolumeSnapshotOptions.class)
ListenableFuture<VolumeSnapshot> createSnapshot(@PayloadParam("volume_id") String volumeId, CreateVolumeSnapshotOptions... options);
ListenableFuture<? extends VolumeSnapshot> createSnapshot(@PayloadParam("volume_id") String volumeId, CreateVolumeSnapshotOptions... options);
/**
* Delete a snapshot.

View File

@ -47,7 +47,7 @@ public interface VolumeTypeApi {
/**
* @return set of all volume types
*/
Set<VolumeType> listVolumeTypes();
Set<? extends VolumeType> listVolumeTypes();
/**
* @param id the id of the volume type to retrieve

View File

@ -72,7 +72,7 @@ public interface VolumeTypeAsyncApi {
@GET
@SelectJson("volume_types")
@ExceptionParser(ReturnEmptySetOnNotFoundOr404.class)
ListenableFuture<Set<VolumeType>> listVolumeTypes();
ListenableFuture<? extends Set<? extends VolumeType>> listVolumeTypes();
/**
@ -82,7 +82,7 @@ public interface VolumeTypeAsyncApi {
@Path("/{id}")
@SelectJson("volume_type")
@ExceptionParser(ReturnNullOnNotFoundOr404.class)
ListenableFuture<VolumeType> getVolumeType(@PathParam("id") String id);
ListenableFuture<? extends VolumeType> getVolumeType(@PathParam("id") String id);
/**
* @see VolumeTypeApi#createVolumeType
@ -91,7 +91,7 @@ public interface VolumeTypeAsyncApi {
@SelectJson("volume_type")
@Produces(MediaType.APPLICATION_JSON)
@WrapWith("volume_type")
ListenableFuture<VolumeType> createVolumeType(@PayloadParam("name") String name, CreateVolumeTypeOptions... options);
ListenableFuture<? extends VolumeType> createVolumeType(@PayloadParam("name") String name, CreateVolumeTypeOptions... options);
/**
* @see VolumeTypeApi#deleteVolumeType