mirror of https://github.com/apache/jclouds.git
Make all Nova extensions extensible
This commit is contained in:
parent
e356ec21c4
commit
931aa7838a
|
@ -42,7 +42,7 @@ public interface FloatingIPApi {
|
|||
*
|
||||
* @return all Floating IPs
|
||||
*/
|
||||
Set<FloatingIP> listFloatingIPs();
|
||||
Set<? extends FloatingIP> listFloatingIPs();
|
||||
|
||||
/**
|
||||
* Get a specific Floating IP address
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -44,7 +44,7 @@ public interface SecurityGroupApi {
|
|||
*
|
||||
* @return all Floating IPs
|
||||
*/
|
||||
Set<SecurityGroup> listSecurityGroups();
|
||||
Set<? extends SecurityGroup> listSecurityGroups();
|
||||
|
||||
/**
|
||||
* Get a specific Security Group
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
|
|
@ -41,6 +41,6 @@ public interface VirtualInterfaceApi {
|
|||
*
|
||||
* @return the list of snapshots
|
||||
*/
|
||||
Set<VirtualInterface> listVirtualInterfacesForServer(String serverId);
|
||||
Set<? extends VirtualInterface> listVirtualInterfacesForServer(String serverId);
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue