Skip to content

Commit ee184be

Browse files
committed
more on hpcloud
1 parent f46b795 commit ee184be

19 files changed

+124
-126
lines changed

src/main/java/org/openstack/api/compute/ServerResource.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,12 @@
1616
import org.openstack.model.compute.Server;
1717
import org.openstack.model.compute.nova.NovaServer;
1818
import org.openstack.model.compute.nova.server.actions.AddFixedIpAction;
19-
import org.openstack.model.compute.nova.server.actions.AddFloatingIpAction;
19+
import org.openstack.model.compute.nova.server.actions.AssociateFloatingIpAction;
2020
import org.openstack.model.compute.nova.server.actions.ChangePasswordAction;
2121
import org.openstack.model.compute.nova.server.actions.ConfirmResizeAction;
2222
import org.openstack.model.compute.nova.server.actions.Console;
2323
import org.openstack.model.compute.nova.server.actions.CreateBackupAction;
24+
import org.openstack.model.compute.nova.server.actions.DisassociateFloatingIpAction;
2425
import org.openstack.model.compute.nova.server.actions.ForceDeleteAction;
2526
import org.openstack.model.compute.nova.server.actions.GetConsoleOutputAction;
2627
import org.openstack.model.compute.nova.server.actions.GetVncConsoleAction;
@@ -32,7 +33,6 @@
3233
import org.openstack.model.compute.nova.server.actions.RebootAction;
3334
import org.openstack.model.compute.nova.server.actions.RebuildAction;
3435
import org.openstack.model.compute.nova.server.actions.RemoveFixedIpAction;
35-
import org.openstack.model.compute.nova.server.actions.RemoveFloatingIpAction;
3636
import org.openstack.model.compute.nova.server.actions.ResetNetworkAction;
3737
import org.openstack.model.compute.nova.server.actions.ResizeAction;
3838
import org.openstack.model.compute.nova.server.actions.RestoreAction;
@@ -69,7 +69,7 @@ public Server put(Server server) {
6969
}
7070

7171
public Response delete() {
72-
return target.request().delete();
72+
return target.request(MediaType.WILDCARD).delete();
7373
}
7474

7575
public ServerActionResource action() {
@@ -313,17 +313,15 @@ public String removeFixedIp(String address) {
313313
* Attaches a floating IP to the instance.
314314
*/
315315
public void addFloatingIp(String ip) {
316-
AddFloatingIpAction action = new AddFloatingIpAction();
317-
action.setAddress(ip);
316+
AssociateFloatingIpAction action = new AssociateFloatingIpAction(ip);
318317
executeAction(String.class, action);
319318
}
320319

321320
/**
322321
* Detaches a floating IP from the instance
323322
*/
324323
public void removeFloatingIp(String ip) {
325-
RemoveFloatingIpAction action = new RemoveFloatingIpAction();
326-
action.setAddress(ip);
324+
DisassociateFloatingIpAction action = new DisassociateFloatingIpAction(ip);
327325
executeAction(String.class, action);
328326
}
329327

src/main/java/org/openstack/api/compute/TenantResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import org.glassfish.jersey.filter.LoggingFilter;
1010
import org.openstack.api.common.Resource;
11+
import org.openstack.api.compute.ext.FloatingIpPoolsResource;
1112
import org.openstack.api.compute.ext.FloatingIpsResource;
1213
import org.openstack.api.compute.ext.KeyPairsResource;
1314
import org.openstack.api.compute.ext.QuotasResource;
@@ -20,7 +21,6 @@
2021
import org.openstack.api.compute.notavailable.AccountsResource;
2122
import org.openstack.api.compute.notavailable.CloudPipeResource;
2223
import org.openstack.api.compute.notavailable.FloatingIpDnsResource;
23-
import org.openstack.api.compute.notavailable.FloatingIpPoolsResource;
2424
import org.openstack.api.compute.notavailable.NetworksResource;
2525

2626
public class TenantResource extends Resource {
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package org.openstack.api.compute.ext;
2+
3+
import java.util.Properties;
4+
5+
import javax.ws.rs.client.Target;
6+
import javax.ws.rs.core.MediaType;
7+
8+
import org.openstack.api.common.Resource;
9+
import org.openstack.model.compute.FloatingIpList;
10+
import org.openstack.model.compute.nova.floatingip.NovaFloatingIpList;
11+
12+
/**
13+
* Floating IPs support
14+
*
15+
* @author sp
16+
*
17+
*/
18+
public class FloatingIpPoolsResource extends Resource {
19+
20+
public FloatingIpPoolsResource(Target target, Properties properties) {
21+
super(target, properties);
22+
}
23+
24+
/**
25+
* Return a list of floating ips allocated to a project.
26+
*
27+
* @return
28+
*/
29+
public String get() {
30+
return target.request(MediaType.APPLICATION_JSON).get(String.class);
31+
}
32+
33+
34+
}

src/main/java/org/openstack/api/compute/ext/FloatingIpResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public FloatingIp get() {
2626
}
2727

2828
public void delete() {
29-
target.request().delete();
29+
target.request(MediaType.WILDCARD).delete();
3030
}
3131

3232
}

src/main/java/org/openstack/api/compute/ext/FloatingIpsResource.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package org.openstack.api.compute.ext;
22

3+
import java.util.HashMap;
4+
import java.util.Map;
35
import java.util.Properties;
46

7+
import javax.ws.rs.client.Entity;
58
import javax.ws.rs.client.Target;
69
import javax.ws.rs.core.MediaType;
710

@@ -35,7 +38,11 @@ public FloatingIpList get() {
3538
}
3639

3740
public FloatingIp post(String pool) {
38-
return target.request(MediaType.APPLICATION_JSON).post(null,NovaFloatingIp.class);
41+
Map<String, String> body = new HashMap<String, String>();
42+
if(pool != null) {
43+
body.put("pool", pool);
44+
}
45+
return target.request(MediaType.APPLICATION_JSON).post(Entity.json(body), NovaFloatingIp.class);
3946
}
4047

4148
public FloatingIpResource floatingIp(Integer id) {

src/main/java/org/openstack/api/compute/ext/KeyPairResource.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.Properties;
44

55
import javax.ws.rs.client.Target;
6+
import javax.ws.rs.core.MediaType;
67

78
import org.openstack.api.common.Resource;
89

@@ -20,7 +21,7 @@ public KeyPairResource(Target target, Properties properties) {
2021

2122

2223
public void delete() {
23-
target.request().delete();
24+
target.request(MediaType.WILDCARD).delete();
2425
}
2526

2627
// OSAPI-BUG: This function is missing from the OS API

src/main/java/org/openstack/api/compute/ext/SecurityGroupResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public SecurityGroup get(HashMap<String, Object> properties) {
2626
}
2727

2828
public void delete() {
29-
target.request().delete();
29+
target.request(MediaType.WILDCARD).delete();
3030
}
3131

3232

src/main/java/org/openstack/api/compute/ext/SecurityGroupRuleResource.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.Properties;
44

55
import javax.ws.rs.client.Target;
6+
import javax.ws.rs.core.MediaType;
67

78
import org.openstack.api.common.Resource;
89

@@ -13,7 +14,7 @@ public SecurityGroupRuleResource(Target target, Properties properties) {
1314
}
1415

1516
public void delete() {
16-
target.request().delete();
17+
target.request(MediaType.WILDCARD).delete();
1718
}
1819

1920
// This function is "missing" from the OpenStack API

src/main/java/org/openstack/api/compute/ext/SnapshotResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public Snapshot get() {
2525
}
2626

2727
public void delete() {
28-
target.request().delete();
28+
target.request(MediaType.WILDCARD).delete();
2929
}
3030

3131
}

src/main/java/org/openstack/api/compute/ext/VolumeResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public Volume get() {
2525
}
2626

2727
public void delete() {
28-
target.request().delete();
28+
target.request(MediaType.WILDCARD).delete();
2929
}
3030

3131
}

0 commit comments

Comments
 (0)