summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--glance-client/src/main/java/com/woorea/openstack/glance/Glance.java43
-rw-r--r--glance-client/src/main/java/com/woorea/openstack/glance/ImagesResource.java524
-rw-r--r--glance-client/src/main/java/com/woorea/openstack/glance/SharedImagesResource.java37
-rw-r--r--keystone-client/src/main/java/com/woorea/openstack/keystone/Keystone.java104
-rw-r--r--keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneTokenProvider.java92
-rw-r--r--keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneUtils.java52
-rw-r--r--keystone-client/src/main/java/com/woorea/openstack/keystone/v3/Keystone.java119
-rw-r--r--nova-client/src/main/java/com/woorea/openstack/nova/Nova.java185
-rw-r--r--nova-client/src/main/java/com/woorea/openstack/nova/api/ExtensionsResource.java36
-rw-r--r--nova-client/src/main/java/com/woorea/openstack/nova/api/FlavorsResource.java140
-rw-r--r--nova-client/src/main/java/com/woorea/openstack/nova/api/ImagesResource.java141
-rw-r--r--nova-client/src/main/java/com/woorea/openstack/nova/api/QuotaSetsResource.java97
-rw-r--r--nova-client/src/main/java/com/woorea/openstack/nova/api/ServersResource.java730
13 files changed, 1148 insertions, 1152 deletions
diff --git a/glance-client/src/main/java/com/woorea/openstack/glance/Glance.java b/glance-client/src/main/java/com/woorea/openstack/glance/Glance.java
index 67714e7..9a574c1 100644
--- a/glance-client/src/main/java/com/woorea/openstack/glance/Glance.java
+++ b/glance-client/src/main/java/com/woorea/openstack/glance/Glance.java
@@ -4,27 +4,26 @@ import com.woorea.openstack.base.client.OpenStackClient;
import com.woorea.openstack.base.client.OpenStackClientConnector;
public class Glance extends OpenStackClient {
-
- private final ImagesResource IMAGES;
-
- private final SharedImagesResource SHARED_IMAGES;
-
- public Glance(String endpoint, OpenStackClientConnector connector) {
- super(endpoint, connector);
- IMAGES = new ImagesResource(this);
- SHARED_IMAGES = new SharedImagesResource(this);
- }
-
- public Glance(String endpoint) {
- this(endpoint, null);
- }
-
- public final ImagesResource images() {
- return IMAGES;
- }
-
- public final SharedImagesResource sharedImages() {
- return SHARED_IMAGES;
- }
+ private final ImagesResource images;
+
+ private final SharedImagesResource sharedImages;
+
+ public Glance(String endpoint, OpenStackClientConnector connector) {
+ super(endpoint, connector);
+ images = new ImagesResource(this);
+ sharedImages = new SharedImagesResource(this);
+ }
+
+ public Glance(String endpoint) {
+ this(endpoint, null);
+ }
+
+ public final ImagesResource images() {
+ return images;
+ }
+
+ public final SharedImagesResource sharedImages() {
+ return sharedImages;
+ }
}
diff --git a/glance-client/src/main/java/com/woorea/openstack/glance/ImagesResource.java b/glance-client/src/main/java/com/woorea/openstack/glance/ImagesResource.java
index ae46548..a4ad237 100644
--- a/glance-client/src/main/java/com/woorea/openstack/glance/ImagesResource.java
+++ b/glance-client/src/main/java/com/woorea/openstack/glance/ImagesResource.java
@@ -1,12 +1,5 @@
package com.woorea.openstack.glance;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
import com.woorea.openstack.base.client.Entity;
import com.woorea.openstack.base.client.HttpMethod;
import com.woorea.openstack.base.client.OpenStackClient;
@@ -14,267 +7,270 @@ import com.woorea.openstack.base.client.OpenStackRequest;
import com.woorea.openstack.base.client.OpenStackResponse;
import com.woorea.openstack.glance.model.Image;
import com.woorea.openstack.glance.model.ImageDownload;
-import com.woorea.openstack.glance.model.ImageUpload;
import com.woorea.openstack.glance.model.ImageMember;
import com.woorea.openstack.glance.model.ImageMembers;
+import com.woorea.openstack.glance.model.ImageUpload;
import com.woorea.openstack.glance.model.Images;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import org.codehaus.jackson.annotate.JsonProperty;
public class ImagesResource {
- private final OpenStackClient CLIENT;
-
- public ImagesResource(OpenStackClient client) {
- CLIENT = client;
- }
-
- public List list(boolean detail) {
- return new List(detail);
- }
-
- public Create create(Image image) {
- return new Create(image);
- }
-
- public Show show(String id) {
- return new Show(id);
- }
-
- public Update update(String id, Image image) {
- return new Update(id, image);
- }
-
- public Delete delete(String id) {
- return new Delete(id);
- }
-
- public Upload upload(ImageUpload image) {
- return new Upload(image);
- }
-
- public Upload upload(String id, ImageUpload image) {
- return new Upload(id, image);
- }
-
- public Download download(String id) {
- return new Download(id);
- }
-
- public ListMembers listMembers(String id) {
- return new ListMembers(id);
- }
-
- public ReplaceMembers replaceMembers(String id, Collection<ImageMember> members) {
- return new ReplaceMembers(id, members);
- }
-
- public AddMember addMember(String id, String tenantId) {
- return new AddMember(id, tenantId);
- }
-
- public AddMember removeMember(String id, String tenantId) {
- return new AddMember(id, tenantId);
- }
-
- public class List extends OpenStackRequest<Images> {
-
- public List(boolean detail) {
- super(CLIENT, HttpMethod.GET, detail ? "/images/detail" : "images", null, Images.class);
- }
-
- }
-
- public class Create extends OpenStackRequest<Image> {
-
- public Create(Image image) {
- super(CLIENT, HttpMethod.POST, "/images", null, Image.class);
- for (Map.Entry<String, String> entry : compose(image).entrySet()) {
- header(entry.getKey(), entry.getValue());
- }
- }
-
- }
-
- public class Update extends OpenStackRequest<Image> {
-
- public Update(String id, Image image) {
- super(CLIENT, HttpMethod.PUT, new StringBuilder("/images/").append(id).toString(), Entity.json(image), Image.class);
- }
-
- }
-
- public class Delete extends OpenStackRequest<Void> {
-
- public Delete(String id) {
- super(CLIENT, HttpMethod.DELETE, new StringBuilder("/images/").append(id).toString(), null, Void.class);
- }
-
- }
-
- public class Show extends OpenStackRequest<Image> {
-
- public Show(String id) {
- super(CLIENT, HttpMethod.HEAD, new StringBuilder("/images/").append(id).toString(), null, Image.class);
- }
-
- @Override
- public Image execute() {
- // custom parsing here
- return parse(CLIENT.request(this).headers());
- }
-
- }
-
- public class Upload extends OpenStackRequest<Image> {
-
- public Upload(String id, ImageUpload imageUpload) {
- super(CLIENT, HttpMethod.PUT, new StringBuilder("/images/").append(id).toString(),
- Entity.stream(imageUpload.getInputStream()), Image.class);
- }
-
- public Upload(ImageUpload imageUpload) {
- super(CLIENT, HttpMethod.POST, "/images", Entity.stream(imageUpload.getInputStream()), Image.class);
-
- for (Map.Entry<String, String> entry : compose(imageUpload.getImage()).entrySet()) {
- header(entry.getKey(), entry.getValue());
- }
-
- //file,s3,swift
- header("x-image-meta-store", imageUpload.getStore());
- }
-
- }
-
- public class Download extends OpenStackRequest<ImageDownload> {
-
- public Download(String id) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/images/").append(id).toString(), null, ImageDownload.class);
- header("Accept", "application/octet-stream");
- }
-
- @Override
- public ImageDownload execute() {
- // custom parsing here
- OpenStackResponse response = CLIENT.request(this);
- ImageDownload imageDownload = new ImageDownload();
- imageDownload.setImage(parse(response.headers()));
- imageDownload.setInputStream(response.getInputStream());
- return imageDownload;
- }
-
- }
-
- public class ListMembers extends OpenStackRequest<ImageMembers> {
-
- public ListMembers(String id) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/images/").append(id).append("/members").toString(), null, ImageMembers.class);
- }
-
- }
-
- public class ReplaceMembers extends OpenStackRequest<Void> {
-
- public ReplaceMembers(String id, Collection<ImageMember> members) {
- super(CLIENT, HttpMethod.PUT, new StringBuilder("/images/").append(id).append("/members").toString(), Entity.json(new Memberships(members)), Void.class);
- }
-
- }
-
- public class AddMember extends OpenStackRequest<ImageMember> {
-
- public AddMember(String id, String tenantId) {
- super(CLIENT, HttpMethod.PUT, new StringBuilder("/images/").append(id).append("/members").append(tenantId).toString(), null, ImageMember.class);
- }
-
- }
-
- public class RemoveMember extends OpenStackRequest<Void> {
-
- public RemoveMember(String id, String tenantId) {
- super(CLIENT, HttpMethod.DELETE, new StringBuilder("/images/").append(id).append("/members/").append(tenantId).toString(), null, Void.class);
- }
-
- }
-
- public static Map<String, String> compose(Image image) {
- Map<String, String> headers = new HashMap<String, String>();
-
- headers.put("X-Image-Meta-Name", image.getName());
- headers.put("X-Image-Meta-Disk_format", image.getDiskFormat());
- headers.put("X-Image-Meta-Container_format", image.getContainerFormat());
- headers.put("X-Image-Meta-Id", image.getId());
- headers.put("X-Image-Meta-Size", (image.getSize() != null) ? image.getSize().toString() : null);
- headers.put("X-Image-Meta-Checksum", image.getChecksum());
- headers.put("X-Image-Meta-Is_public", String.valueOf(image.isPublic()));
- headers.put("X-Image-Meta-Owner", image.getOwner());
-
- for(String key : image.getProperties().keySet()) {
- image.getProperties().put("x-image-meta-property-" + key, image.getProperties().get(key));
- }
-
- return headers;
- }
-
- public static Image parse(Map<String, String> headers) {
- Image image = new Image();
- image.setId(headers.get("X-Image-Meta-Id"));
- image.setUri(headers.get("Location"));
- image.setName(headers.get("X-Image-Meta-Name"));
- image.setDiskFormat(headers.get("X-Image-Meta-Disk_format"));
- image.setContainerFormat(headers.get("X-Image-Meta-Container_format"));
- image.setSize(asLong(headers.get("X-Image-Meta-Size")));
- image.setChecksum(headers.get("X-Image-Meta-Checksum"));
- image.setCreatedAt(asCalendar(headers.get("X-Image-Meta-Created_at")));
- image.setUpdatedAt(asCalendar(headers.get("X-Image-Meta-Updated_at")));
- image.setDeletedAt(asCalendar(headers.get("X-Image-Meta-Deleted_at")));
- image.setDeleted(asBoolean(headers.get("X-Image-Meta-Deleted")));
- image.setStatus(headers.get("X-Image-Meta-Status"));
- image.setProtected(asBoolean(headers.get("X-Image-Meta-Protected")));
- image.setPublic(asBoolean(headers.get("X-Image-Meta-Is_public")));
- image.setMinRam(asInteger(headers.get("X-Image-Meta-Min_ram")));
- image.setMinDisk(asInteger(headers.get("X-Image-Meta-Min_disk")));
- image.setOwner(headers.get("X-Image-Meta-Owner"));
- for(String key : headers.keySet()) {
- if(key.startsWith("x-image-meta-property-")) {
- image.getProperties().put(key.substring(22), headers.get(key));
- }
- }
- return image;
- }
-
- private static Calendar asCalendar(String calendarString) {
- return Calendar.getInstance();
- }
-
- private static Integer asInteger(String integerString) {
- if(integerString != null) {
- return Integer.parseInt(integerString);
- }
- return 0;
- }
-
- private static Boolean asBoolean(String booleanString) {
- if(booleanString != null) {
- return Boolean.parseBoolean(booleanString);
- }
- return Boolean.FALSE;
- }
-
- private static Long asLong(String longString) {
- if(longString != null) {
- return Long.parseLong(longString);
- }
- return 0L;
- }
-
- public static class Memberships {
-
- @JsonProperty("memberships")
- private Collection<ImageMember> memberships;
-
- public Memberships(Collection<ImageMember> memberships) {
- this.memberships = memberships;
- }
-
- }
-
+ private static final String IMAGES = "/images/";
+ private static final String MEMBERS = "/members";
+ private final OpenStackClient client;
+
+ public ImagesResource(OpenStackClient client) {
+ this.client = client;
+ }
+
+ public List list(boolean detail) {
+ return new List(detail);
+ }
+
+ public Create create(Image image) {
+ return new Create(image);
+ }
+
+ public Show show(String id) {
+ return new Show(id);
+ }
+
+ public Update update(String id, Image image) {
+ return new Update(id, image);
+ }
+
+ public Delete delete(String id) {
+ return new Delete(id);
+ }
+
+ public Upload upload(ImageUpload image) {
+ return new Upload(image);
+ }
+
+ public Upload upload(String id, ImageUpload image) {
+ return new Upload(id, image);
+ }
+
+ public Download download(String id) {
+ return new Download(id);
+ }
+
+ public ListMembers listMembers(String id) {
+ return new ListMembers(id);
+ }
+
+ public ReplaceMembers replaceMembers(String id, Collection<ImageMember> members) {
+ return new ReplaceMembers(id, members);
+ }
+
+ public AddMember addMember(String id, String tenantId) {
+ return new AddMember(id, tenantId);
+ }
+
+ public AddMember removeMember(String id, String tenantId) {
+ return new AddMember(id, tenantId);
+ }
+
+ public class List extends OpenStackRequest<Images> {
+
+ public List(boolean detail) {
+ super(client, HttpMethod.GET, detail ? IMAGES + "detail" : "images", null, Images.class);
+ }
+ }
+
+ public class Create extends OpenStackRequest<Image> {
+
+ public Create(Image image) {
+ super(client, HttpMethod.POST, "/images", null, Image.class);
+ for (Map.Entry<String, String> entry : compose(image).entrySet()) {
+ header(entry.getKey(), entry.getValue());
+ }
+ }
+ }
+
+ public class Update extends OpenStackRequest<Image> {
+
+ public Update(String id, Image image) {
+ super(client, HttpMethod.PUT, new StringBuilder(IMAGES).append(id).toString(), Entity.json(image),
+ Image.class);
+ }
+ }
+
+ public class Delete extends OpenStackRequest<Void> {
+
+ public Delete(String id) {
+ super(client, HttpMethod.DELETE, new StringBuilder(IMAGES).append(id).toString(), null, Void.class);
+ }
+ }
+
+ public class Show extends OpenStackRequest<Image> {
+
+ public Show(String id) {
+ super(client, HttpMethod.HEAD, new StringBuilder(IMAGES).append(id).toString(), null, Image.class);
+ }
+
+ @Override
+ public Image execute() {
+ // custom parsing here
+ return parse(client.request(this).headers());
+ }
+ }
+
+ public class Upload extends OpenStackRequest<Image> {
+
+ public Upload(String id, ImageUpload imageUpload) {
+ super(client, HttpMethod.PUT, new StringBuilder(IMAGES).append(id).toString(),
+ Entity.stream(imageUpload.getInputStream()), Image.class);
+ }
+
+ public Upload(ImageUpload imageUpload) {
+ super(client, HttpMethod.POST, "/images", Entity.stream(imageUpload.getInputStream()), Image.class);
+
+ for (Map.Entry<String, String> entry : compose(imageUpload.getImage()).entrySet()) {
+ header(entry.getKey(), entry.getValue());
+ }
+
+ //file,s3,swift
+ header("x-image-meta-store", imageUpload.getStore());
+ }
+ }
+
+ public class Download extends OpenStackRequest<ImageDownload> {
+
+ public Download(String id) {
+ super(client, HttpMethod.GET, new StringBuilder(IMAGES).append(id).toString(), null,
+ ImageDownload.class);
+ header("Accept", "application/octet-stream");
+ }
+
+ @Override
+ public ImageDownload execute() {
+ // custom parsing here
+ OpenStackResponse response = client.request(this);
+ ImageDownload imageDownload = new ImageDownload();
+ imageDownload.setImage(parse(response.headers()));
+ imageDownload.setInputStream(response.getInputStream());
+ return imageDownload;
+ }
+ }
+
+ public class ListMembers extends OpenStackRequest<ImageMembers> {
+
+ public ListMembers(String id) {
+ super(client, HttpMethod.GET, new StringBuilder(IMAGES).append(id).append(MEMBERS).toString(), null,
+ ImageMembers.class);
+ }
+ }
+
+ public class ReplaceMembers extends OpenStackRequest<Void> {
+
+ public ReplaceMembers(String id, Collection<ImageMember> members) {
+ super(client, HttpMethod.PUT, new StringBuilder(IMAGES).append(id).append(MEMBERS).toString(),
+ Entity.json(new Memberships(members)), Void.class);
+ }
+ }
+
+ public class AddMember extends OpenStackRequest<ImageMember> {
+
+ public AddMember(String id, String tenantId) {
+ super(client, HttpMethod.PUT,
+ new StringBuilder(IMAGES).append(id).append(MEMBERS).append(tenantId).toString(), null,
+ ImageMember.class);
+ }
+ }
+
+ public class RemoveMember extends OpenStackRequest<Void> {
+
+ public RemoveMember(String id, String tenantId) {
+ super(client, HttpMethod.DELETE,
+ new StringBuilder(IMAGES).append(id).append("/members/").append(tenantId).toString(), null,
+ Void.class);
+ }
+ }
+
+ public static Map<String, String> compose(Image image) {
+ Map<String, String> headers = new HashMap<>();
+
+ headers.put("X-Image-Meta-Name", image.getName());
+ headers.put("X-Image-Meta-Disk_format", image.getDiskFormat());
+ headers.put("X-Image-Meta-Container_format", image.getContainerFormat());
+ headers.put("X-Image-Meta-Id", image.getId());
+ headers.put("X-Image-Meta-Size", image.getSize() != null ? image.getSize().toString() : null);
+ headers.put("X-Image-Meta-Checksum", image.getChecksum());
+ headers.put("X-Image-Meta-Is_public", String.valueOf(image.isPublic()));
+ headers.put("X-Image-Meta-Owner", image.getOwner());
+
+ for (String key : image.getProperties().keySet()) {
+ image.getProperties().put("x-image-meta-property-" + key, image.getProperties().get(key));
+ }
+
+ return headers;
+ }
+
+ public static Image parse(Map<String, String> headers) {
+ Image image = new Image();
+ image.setId(headers.get("X-Image-Meta-Id"));
+ image.setUri(headers.get("Location"));
+ image.setName(headers.get("X-Image-Meta-Name"));
+ image.setDiskFormat(headers.get("X-Image-Meta-Disk_format"));
+ image.setContainerFormat(headers.get("X-Image-Meta-Container_format"));
+ image.setSize(asLong(headers.get("X-Image-Meta-Size")));
+ image.setChecksum(headers.get("X-Image-Meta-Checksum"));
+ image.setCreatedAt(asCalendar(headers.get("X-Image-Meta-Created_at")));
+ image.setUpdatedAt(asCalendar(headers.get("X-Image-Meta-Updated_at")));
+ image.setDeletedAt(asCalendar(headers.get("X-Image-Meta-Deleted_at")));
+ image.setDeleted(asBoolean(headers.get("X-Image-Meta-Deleted")));
+ image.setStatus(headers.get("X-Image-Meta-Status"));
+ image.setProtected(asBoolean(headers.get("X-Image-Meta-Protected")));
+ image.setPublic(asBoolean(headers.get("X-Image-Meta-Is_public")));
+ image.setMinRam(asInteger(headers.get("X-Image-Meta-Min_ram")));
+ image.setMinDisk(asInteger(headers.get("X-Image-Meta-Min_disk")));
+ image.setOwner(headers.get("X-Image-Meta-Owner"));
+ for (Map.Entry<String, String> entry : headers.entrySet()) {
+ String key = entry.getKey();
+ if (key.startsWith("x-image-meta-property-")) {
+ image.getProperties().put(key.substring(22), entry.getValue());
+ }
+ }
+ return image;
+ }
+
+ private static Calendar asCalendar(String calendarString) {
+ return Calendar.getInstance();
+ }
+
+ private static Integer asInteger(String integerString) {
+ if (integerString != null) {
+ return Integer.parseInt(integerString);
+ }
+ return 0;
+ }
+
+ private static Boolean asBoolean(String booleanString) {
+ if (booleanString != null) {
+ return Boolean.parseBoolean(booleanString);
+ }
+ return Boolean.FALSE;
+ }
+
+ private static Long asLong(String longString) {
+ if (longString != null) {
+ return Long.parseLong(longString);
+ }
+ return 0L;
+ }
+
+ public static class Memberships {
+
+ @JsonProperty("memberships")
+ private Collection<ImageMember> imageMembers;
+
+ public Memberships(Collection<ImageMember> imageMembers) {
+ this.imageMembers = imageMembers;
+ }
+ }
}
diff --git a/glance-client/src/main/java/com/woorea/openstack/glance/SharedImagesResource.java b/glance-client/src/main/java/com/woorea/openstack/glance/SharedImagesResource.java
index a461554..741fe80 100644
--- a/glance-client/src/main/java/com/woorea/openstack/glance/SharedImagesResource.java
+++ b/glance-client/src/main/java/com/woorea/openstack/glance/SharedImagesResource.java
@@ -4,27 +4,26 @@ package com.woorea.openstack.glance;
import com.woorea.openstack.base.client.HttpMethod;
import com.woorea.openstack.base.client.OpenStackClient;
import com.woorea.openstack.base.client.OpenStackRequest;
-import com.woorea.openstack.glance.model.Images;
import com.woorea.openstack.glance.model.SharedImages;
public class SharedImagesResource {
- private final OpenStackClient CLIENT;
-
- public SharedImagesResource(OpenStackClient client) {
- CLIENT = client;
- }
-
- public List list(String tenantId, boolean detail) {
- return new List(tenantId, detail);
- }
-
- public class List extends OpenStackRequest<SharedImages> {
-
- public List(String tenantId, boolean detail) {
- super(CLIENT, HttpMethod.GET, new StringBuffer(detail ? "/shared-images/detail" : "/shared-images/").append(tenantId).toString(), null, SharedImages.class);
- }
-
- }
-
+ private final OpenStackClient client;
+
+ public SharedImagesResource(OpenStackClient client) {
+ this.client = client;
+ }
+
+ public List list(String tenantId, boolean detail) {
+ return new List(tenantId, detail);
+ }
+
+ public class List extends OpenStackRequest<SharedImages> {
+
+ public List(String tenantId, boolean detail) {
+ super(client, HttpMethod.GET,
+ new StringBuffer(detail ? "/shared-images/detail" : "/shared-images/").append(tenantId).toString(),
+ null, SharedImages.class);
+ }
+ }
}
diff --git a/keystone-client/src/main/java/com/woorea/openstack/keystone/Keystone.java b/keystone-client/src/main/java/com/woorea/openstack/keystone/Keystone.java
index 38d42f0..c8d8e09 100644
--- a/keystone-client/src/main/java/com/woorea/openstack/keystone/Keystone.java
+++ b/keystone-client/src/main/java/com/woorea/openstack/keystone/Keystone.java
@@ -1,5 +1,7 @@
package com.woorea.openstack.keystone;
+import com.woorea.openstack.base.client.OpenStackClient;
+import com.woorea.openstack.base.client.OpenStackClientConnector;
import com.woorea.openstack.keystone.api.EndpointsResource;
import com.woorea.openstack.keystone.api.RolesResource;
import com.woorea.openstack.keystone.api.ServicesResource;
@@ -7,59 +9,55 @@ import com.woorea.openstack.keystone.api.TenantsResource;
import com.woorea.openstack.keystone.api.TokensResource;
import com.woorea.openstack.keystone.api.UsersResource;
-import com.woorea.openstack.base.client.OpenStackClient;
-import com.woorea.openstack.base.client.OpenStackClientConnector;
-
public class Keystone extends OpenStackClient {
-
- private final TokensResource TOKENS;
-
- private final TenantsResource TENANTS;
-
- private final UsersResource USERS;
-
- private final RolesResource ROLES;
-
- private final ServicesResource SERVICES;
-
- private final EndpointsResource ENDPOINTS;
-
- public Keystone(String endpoint, OpenStackClientConnector connector) {
- super(endpoint, connector);
- TOKENS = new TokensResource(this);
- TENANTS = new TenantsResource(this);
- USERS = new UsersResource(this);
- ROLES = new RolesResource(this);
- SERVICES = new ServicesResource(this);
- ENDPOINTS = new EndpointsResource(this);
- }
-
- public Keystone(String endpoint) {
- this(endpoint, null);
- }
-
- public TokensResource tokens() {
- return TOKENS;
- }
-
- public TenantsResource tenants() {
- return TENANTS;
- }
-
- public UsersResource users() {
- return USERS;
- }
-
- public RolesResource roles() {
- return ROLES;
- }
-
- public ServicesResource services() {
- return SERVICES;
- }
-
- public EndpointsResource endpoints() {
- return ENDPOINTS;
- }
+ private final TokensResource tokens;
+
+ private final TenantsResource tenants;
+
+ private final UsersResource users;
+
+ private final RolesResource roles;
+
+ private final ServicesResource services;
+
+ private final EndpointsResource endpoints;
+
+ public Keystone(String endpoint, OpenStackClientConnector connector) {
+ super(endpoint, connector);
+ tokens = new TokensResource(this);
+ tenants = new TenantsResource(this);
+ users = new UsersResource(this);
+ roles = new RolesResource(this);
+ services = new ServicesResource(this);
+ endpoints = new EndpointsResource(this);
+ }
+
+ public Keystone(String endpoint) {
+ this(endpoint, null);
+ }
+
+ public TokensResource tokens() {
+ return tokens;
+ }
+
+ public TenantsResource tenants() {
+ return tenants;
+ }
+
+ public UsersResource users() {
+ return users;
+ }
+
+ public RolesResource roles() {
+ return roles;
+ }
+
+ public ServicesResource services() {
+ return services;
+ }
+
+ public EndpointsResource endpoints() {
+ return endpoints;
+ }
}
diff --git a/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneTokenProvider.java b/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneTokenProvider.java
index fb5127a..3396492 100644
--- a/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneTokenProvider.java
+++ b/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneTokenProvider.java
@@ -1,56 +1,56 @@
package com.woorea.openstack.keystone.utils;
-import java.util.concurrent.ConcurrentHashMap;
-
import com.woorea.openstack.base.client.OpenStackTokenProvider;
import com.woorea.openstack.keystone.Keystone;
import com.woorea.openstack.keystone.model.Access;
import com.woorea.openstack.keystone.model.authentication.UsernamePassword;
+import java.util.concurrent.ConcurrentHashMap;
public class KeystoneTokenProvider {
- protected Keystone keystone;
-
- protected String username;
-
- protected String password;
-
- ConcurrentHashMap<String, Access> hashTenantAccess;
-
- public KeystoneTokenProvider(String endpoint, String username, String password) {
- this.keystone = new Keystone(endpoint);
- this.username = username;
- this.password = password;
- this.hashTenantAccess = new ConcurrentHashMap<String, Access>();
- }
-
- public Access getAccessByTenant(String tenantName) {
- Access access = hashTenantAccess.get(tenantName);
- if (access == null) {
- access = keystone.tokens().authenticate(new UsernamePassword(username, password))
- .withTenantName(tenantName)
- .execute();
- hashTenantAccess.put(tenantName, access);
- }
- return access;
- }
-
- public void expireAccessByTenant(String tenantName) {
- hashTenantAccess.remove(tenantName);
- }
-
- public OpenStackTokenProvider getProviderByTenant(final String tenantName) {
- final KeystoneTokenProvider keystoneTokenProvider = this;
- return new OpenStackTokenProvider() {
- @Override
- public String getToken() {
- return keystoneTokenProvider.getAccessByTenant(tenantName)
- .getToken().getId();
- }
- @Override
- public void expireToken() {
- keystoneTokenProvider.expireAccessByTenant(tenantName);
- }
- };
- }
+ protected Keystone keystone;
+
+ protected String username;
+
+ protected String password;
+
+ protected ConcurrentHashMap<String, Access> hashTenantAccess;
+
+ public KeystoneTokenProvider(String endpoint, String username, String password) {
+ keystone = new Keystone(endpoint);
+ this.username = username;
+ this.password = password;
+ hashTenantAccess = new ConcurrentHashMap<>();
+ }
+
+ public Access getAccessByTenant(String tenantName) {
+ Access access = hashTenantAccess.get(tenantName);
+ if (access == null) {
+ access = keystone.tokens().authenticate(new UsernamePassword(username, password))
+ .withTenantName(tenantName)
+ .execute();
+ hashTenantAccess.put(tenantName, access);
+ }
+ return access;
+ }
+
+ public void expireAccessByTenant(String tenantName) {
+ hashTenantAccess.remove(tenantName);
+ }
+
+ public OpenStackTokenProvider getProviderByTenant(final String tenantName) {
+ final KeystoneTokenProvider keystoneTokenProvider = this;
+ return new OpenStackTokenProvider() {
+ @Override
+ public String getToken() {
+ return keystoneTokenProvider.getAccessByTenant(tenantName)
+ .getToken().getId();
+ }
+
+ @Override
+ public void expireToken() {
+ keystoneTokenProvider.expireAccessByTenant(tenantName);
+ }
+ };
+ }
}
diff --git a/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneUtils.java b/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneUtils.java
index 8269597..b41c092 100644
--- a/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneUtils.java
+++ b/keystone-client/src/main/java/com/woorea/openstack/keystone/utils/KeystoneUtils.java
@@ -1,28 +1,40 @@
package com.woorea.openstack.keystone.utils;
-import java.util.List;
-
import com.woorea.openstack.keystone.model.Access.Service;
+import java.util.List;
public class KeystoneUtils {
- public static String findEndpointURL(List<Service> serviceCatalog, String type, String region, String facing) {
- for(Service service : serviceCatalog) {
- if(type.equals(service.getType())) {
- for(Service.Endpoint endpoint : service.getEndpoints()) {
- if(region == null || region.equals(endpoint.getRegion())) {
- if(endpoint.getPublicURL() != null && facing.equals("public")) {
- return endpoint.getPublicURL();
- } else if(endpoint.getInternalURL() != null && facing.equals("internal")) {
- return endpoint.getInternalURL();
- } else if(endpoint.getAdminURL() != null && facing.equals("admin")) {
- return endpoint.getAdminURL();
- }
- }
- }
- }
- }
- throw new RuntimeException("endpoint url not found");
- }
+ private KeystoneUtils() {
+ }
+
+ public static String findEndpointURL(List<Service> serviceCatalog, String type, String region, String facing) {
+ for (Service service : serviceCatalog) {
+ if (type.equals(service.getType())) {
+ for (Service.Endpoint endpoint : service.getEndpoints()) {
+ String url = handleServiceEndPoints(endpoint, region, facing);
+ if (url != null) {
+ return url;
+ }
+ }
+ }
+ }
+ throw new RuntimeException("endpoint url not found");
+ }
+ private static String handleServiceEndPoints(Service.Endpoint endpoint, String region, String facing) {
+ if (region == null || region.equals(endpoint.getRegion())) {
+ switch (facing) {
+ case "public":
+ return endpoint.getPublicURL();
+ case "internal":
+ return endpoint.getInternalURL();
+ case "admin":
+ return endpoint.getAdminURL();
+ default:
+ return null;
+ }
+ }
+ return null;
+ }
}
diff --git a/keystone-client/src/main/java/com/woorea/openstack/keystone/v3/Keystone.java b/keystone-client/src/main/java/com/woorea/openstack/keystone/v3/Keystone.java
index 6ff889c..841b620 100644
--- a/keystone-client/src/main/java/com/woorea/openstack/keystone/v3/Keystone.java
+++ b/keystone-client/src/main/java/com/woorea/openstack/keystone/v3/Keystone.java
@@ -1,73 +1,72 @@
package com.woorea.openstack.keystone.v3;
+import com.woorea.openstack.base.client.OpenStackClient;
+import com.woorea.openstack.base.client.OpenStackClientConnector;
import com.woorea.openstack.keystone.v3.api.DomainsResource;
import com.woorea.openstack.keystone.v3.api.EndpointsResource;
+import com.woorea.openstack.keystone.v3.api.ProjectsResource;
import com.woorea.openstack.keystone.v3.api.RolesResource;
import com.woorea.openstack.keystone.v3.api.ServicesResource;
-import com.woorea.openstack.keystone.v3.api.ProjectsResource;
import com.woorea.openstack.keystone.v3.api.TokensResource;
import com.woorea.openstack.keystone.v3.api.UsersResource;
-import com.woorea.openstack.base.client.OpenStackClient;
-import com.woorea.openstack.base.client.OpenStackClientConnector;
public class Keystone extends OpenStackClient {
-
- private final TokensResource TOKENS;
-
- private final DomainsResource DOMAINS;
-
- private final ProjectsResource PROJECTS;
-
- private final UsersResource USERS;
-
- private final RolesResource ROLES;
-
- private final ServicesResource SERVICES;
-
- private final EndpointsResource ENDPOINTS;
-
- public Keystone(String endpoint, OpenStackClientConnector connector) {
- super(endpoint, connector);
- TOKENS = new TokensResource(this);
- DOMAINS = new DomainsResource(this);
- PROJECTS = new ProjectsResource(this);
- USERS = new UsersResource(this);
- ROLES = new RolesResource(this);
- SERVICES = new ServicesResource(this);
- ENDPOINTS = new EndpointsResource(this);
- }
-
- public Keystone(String endpoint) {
- this(endpoint, null);
- }
-
- public TokensResource tokens() {
- return TOKENS;
- }
-
- public DomainsResource domains() {
- return DOMAINS;
- }
-
- public ProjectsResource projects() {
- return PROJECTS;
- }
-
- public UsersResource users() {
- return USERS;
- }
-
- public RolesResource roles() {
- return ROLES;
- }
-
- public ServicesResource services() {
- return SERVICES;
- }
-
- public EndpointsResource endpoints() {
- return ENDPOINTS;
- }
+ private final TokensResource tokens;
+
+ private final DomainsResource domains;
+
+ private final ProjectsResource projects;
+
+ private final UsersResource users;
+
+ private final RolesResource roles;
+
+ private final ServicesResource services;
+
+ private final EndpointsResource endpoints;
+
+ public Keystone(String endpoint, OpenStackClientConnector connector) {
+ super(endpoint, connector);
+ tokens = new TokensResource(this);
+ domains = new DomainsResource(this);
+ projects = new ProjectsResource(this);
+ users = new UsersResource(this);
+ roles = new RolesResource(this);
+ services = new ServicesResource(this);
+ endpoints = new EndpointsResource(this);
+ }
+
+ public Keystone(String endpoint) {
+ this(endpoint, null);
+ }
+
+ public TokensResource tokens() {
+ return tokens;
+ }
+
+ public DomainsResource domains() {
+ return domains;
+ }
+
+ public ProjectsResource projects() {
+ return projects;
+ }
+
+ public UsersResource users() {
+ return users;
+ }
+
+ public RolesResource roles() {
+ return roles;
+ }
+
+ public ServicesResource services() {
+ return services;
+ }
+
+ public EndpointsResource endpoints() {
+ return endpoints;
+ }
}
diff --git a/nova-client/src/main/java/com/woorea/openstack/nova/Nova.java b/nova-client/src/main/java/com/woorea/openstack/nova/Nova.java
index f81de7d..f51eda1 100644
--- a/nova-client/src/main/java/com/woorea/openstack/nova/Nova.java
+++ b/nova-client/src/main/java/com/woorea/openstack/nova/Nova.java
@@ -10,104 +10,103 @@ import com.woorea.openstack.nova.api.QuotaSetsResource;
import com.woorea.openstack.nova.api.ServersResource;
import com.woorea.openstack.nova.api.extensions.AggregatesExtension;
import com.woorea.openstack.nova.api.extensions.FloatingIpsExtension;
+import com.woorea.openstack.nova.api.extensions.HostsExtension;
import com.woorea.openstack.nova.api.extensions.KeyPairsExtension;
import com.woorea.openstack.nova.api.extensions.SecurityGroupsExtension;
import com.woorea.openstack.nova.api.extensions.SnapshotsExtension;
import com.woorea.openstack.nova.api.extensions.VolumesExtension;
-import com.woorea.openstack.nova.api.extensions.HostsExtension;
public class Nova extends OpenStackClient {
-
- private final ExtensionsResource EXTENSIONS;
-
- private final ServersResource SERVERS;
-
- private final ImagesResource IMAGES;
-
- private final FlavorsResource FLAVORS;
-
- private final KeyPairsExtension KEY_PAIRS;
-
- private final FloatingIpsExtension FLOATING_IPS;
-
- private final SecurityGroupsExtension SECURITY_GROUPS;
-
- private final SnapshotsExtension SNAPSHOTS;
-
- private final VolumesExtension VOLUMES;
-
- private final AggregatesExtension AGGREGATES;
-
- private final QuotaSetsResource QUOTA_SETS;
-
- private final HostsExtension HOSTS;
-
- public Nova(String endpoint, OpenStackClientConnector connector) {
- super(endpoint, connector);
- EXTENSIONS = new ExtensionsResource(this);
- SERVERS = new ServersResource(this);
- IMAGES = new ImagesResource(this);
- FLAVORS = new FlavorsResource(this);
- KEY_PAIRS = new KeyPairsExtension(this);
- FLOATING_IPS = new FloatingIpsExtension(this);
- SECURITY_GROUPS = new SecurityGroupsExtension(this);
- SNAPSHOTS = new SnapshotsExtension(this);
- VOLUMES = new VolumesExtension(this);
- AGGREGATES = new AggregatesExtension(this);
- QUOTA_SETS = new QuotaSetsResource(this);
- HOSTS = new HostsExtension(this);
- }
-
- public Nova(String endpoint) {
- this(endpoint, null);
- }
-
- public ExtensionsResource extensions() {
- return EXTENSIONS;
- }
-
- public ServersResource servers() {
- return SERVERS;
- }
-
- public ImagesResource images() {
- return IMAGES;
- }
-
- public FlavorsResource flavors() {
- return FLAVORS;
- }
-
- public KeyPairsExtension keyPairs() {
- return KEY_PAIRS;
- }
-
- public FloatingIpsExtension floatingIps() {
- return FLOATING_IPS;
- }
-
- public SecurityGroupsExtension securityGroups() {
- return SECURITY_GROUPS;
- }
-
- public SnapshotsExtension snapshots() {
- return SNAPSHOTS;
- }
-
- public VolumesExtension volumes() {
- return VOLUMES;
- }
-
- public AggregatesExtension aggregates() {
- return AGGREGATES;
- }
-
- public QuotaSetsResource quotaSets() {
- return QUOTA_SETS;
- }
-
- public HostsExtension hosts() {
- return HOSTS;
- }
+ private final ExtensionsResource extensions;
+
+ private final ServersResource servers;
+
+ private final ImagesResource images;
+
+ private final FlavorsResource flavors;
+
+ private final KeyPairsExtension keyPairs;
+
+ private final FloatingIpsExtension floatingIps;
+
+ private final SecurityGroupsExtension securityGroups;
+
+ private final SnapshotsExtension snapshots;
+
+ private final VolumesExtension volumes;
+
+ private final AggregatesExtension aggregates;
+
+ private final QuotaSetsResource quotaSets;
+
+ private final HostsExtension hosts;
+
+ public Nova(String endpoint, OpenStackClientConnector connector) {
+ super(endpoint, connector);
+ extensions = new ExtensionsResource(this);
+ servers = new ServersResource(this);
+ images = new ImagesResource(this);
+ flavors = new FlavorsResource(this);
+ keyPairs = new KeyPairsExtension(this);
+ floatingIps = new FloatingIpsExtension(this);
+ securityGroups = new SecurityGroupsExtension(this);
+ snapshots = new SnapshotsExtension(this);
+ volumes = new VolumesExtension(this);
+ aggregates = new AggregatesExtension(this);
+ quotaSets = new QuotaSetsResource(this);
+ hosts = new HostsExtension(this);
+ }
+
+ public Nova(String endpoint) {
+ this(endpoint, null);
+ }
+
+ public ExtensionsResource extensions() {
+ return extensions;
+ }
+
+ public ServersResource servers() {
+ return servers;
+ }
+
+ public ImagesResource images() {
+ return images;
+ }
+
+ public FlavorsResource flavors() {
+ return flavors;
+ }
+
+ public KeyPairsExtension keyPairs() {
+ return keyPairs;
+ }
+
+ public FloatingIpsExtension floatingIps() {
+ return floatingIps;
+ }
+
+ public SecurityGroupsExtension securityGroups() {
+ return securityGroups;
+ }
+
+ public SnapshotsExtension snapshots() {
+ return snapshots;
+ }
+
+ public VolumesExtension volumes() {
+ return volumes;
+ }
+
+ public AggregatesExtension aggregates() {
+ return aggregates;
+ }
+
+ public QuotaSetsResource quotaSets() {
+ return quotaSets;
+ }
+
+ public HostsExtension hosts() {
+ return hosts;
+ }
}
diff --git a/nova-client/src/main/java/com/woorea/openstack/nova/api/ExtensionsResource.java b/nova-client/src/main/java/com/woorea/openstack/nova/api/ExtensionsResource.java
index 46e16c4..29b396a 100644
--- a/nova-client/src/main/java/com/woorea/openstack/nova/api/ExtensionsResource.java
+++ b/nova-client/src/main/java/com/woorea/openstack/nova/api/ExtensionsResource.java
@@ -7,24 +7,22 @@ import com.woorea.openstack.base.client.OpenStackRequest;
import com.woorea.openstack.nova.model.Extensions;
public class ExtensionsResource {
-
- private final OpenStackClient CLIENT;
-
- public ExtensionsResource(OpenStackClient client) {
- CLIENT = client;
- }
-
- public List list(boolean detail) {
- return new List(detail);
- }
-
- public class List extends OpenStackRequest<Extensions> {
-
- public List(boolean detail) {
- super(CLIENT, HttpMethod.GET, detail ? "extensions/detail" : "extensions", null, Extensions.class);
- }
-
- }
-
+
+ private final OpenStackClient client;
+
+ public ExtensionsResource(OpenStackClient client) {
+ this.client = client;
+ }
+
+ public List list(boolean detail) {
+ return new List(detail);
+ }
+
+ public class List extends OpenStackRequest<Extensions> {
+
+ public List(boolean detail) {
+ super(client, HttpMethod.GET, detail ? "extensions/detail" : "extensions", null, Extensions.class);
+ }
+ }
}
diff --git a/nova-client/src/main/java/com/woorea/openstack/nova/api/FlavorsResource.java b/nova-client/src/main/java/com/woorea/openstack/nova/api/FlavorsResource.java
index c3e2256..0c8621d 100644
--- a/nova-client/src/main/java/com/woorea/openstack/nova/api/FlavorsResource.java
+++ b/nova-client/src/main/java/com/woorea/openstack/nova/api/FlavorsResource.java
@@ -10,76 +10,74 @@ import com.woorea.openstack.nova.model.Flavors;
import com.woorea.openstack.nova.model.Metadata;
public class FlavorsResource {
-
- private final OpenStackClient CLIENT;
-
- public FlavorsResource(OpenStackClient client) {
- CLIENT = client;
- }
-
- public List list(boolean detail) {
- return new List(detail);
- }
-
- public Create create(Flavor flavor) {
- return new Create(flavor);
- }
-
- public Show show(String id) {
- return new Show(id);
- }
-
- public ShowMetadata showMetadata(String id) {
- return new ShowMetadata(id);
- }
-
-
- public Delete delete(String id) {
- return new Delete(id);
- }
-
- public class List extends OpenStackRequest<Flavors> {
-
- public List(boolean detail) {
- super(CLIENT, HttpMethod.GET, detail ? "/flavors/detail" : "/flavors", null, Flavors.class);
- }
-
- }
-
- public class Create extends OpenStackRequest<Flavor> {
-
- private Flavor flavor;
-
- public Create(Flavor flavor) {
- super(CLIENT, HttpMethod.POST, "/flavors", Entity.json(flavor), Flavor.class);
- this.flavor = flavor;
- }
-
- }
-
- public class Show extends OpenStackRequest<Flavor> {
-
- public Show(String id) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/flavors/").append(id).toString(), null, Flavor.class);
- }
-
- }
-
- public class ShowMetadata extends OpenStackRequest<Metadata> {
-
- public ShowMetadata(String id) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/flavors/").append(id).append("/metadata").toString(), null, Metadata.class);
- }
-
- }
-
- public class Delete extends OpenStackRequest<Void> {
-
- public Delete(String id) {
- super(CLIENT, HttpMethod.DELETE, new StringBuilder("/flavors/").append(id).toString(), null, Void.class);
- }
-
- }
-
+
+ private final OpenStackClient client;
+
+ public FlavorsResource(OpenStackClient client) {
+ this.client = client;
+ }
+
+ public List list(boolean detail) {
+ return new List(detail);
+ }
+
+ public Create create(Flavor flavor) {
+ return new Create(flavor);
+ }
+
+ public Show show(String id) {
+ return new Show(id);
+ }
+
+ public ShowMetadata showMetadata(String id) {
+ return new ShowMetadata(id);
+ }
+
+
+ public Delete delete(String id) {
+ return new Delete(id);
+ }
+
+ public class List extends OpenStackRequest<Flavors> {
+
+ public List(boolean detail) {
+ super(client, HttpMethod.GET, detail ? "/flavors/detail" : "/flavors", null, Flavors.class);
+ }
+ }
+
+ public class Create extends OpenStackRequest<Flavor> {
+
+ private Flavor flavor;
+
+ public Create(Flavor flavor) {
+ super(client, HttpMethod.POST, "/flavors", Entity.json(flavor), Flavor.class);
+ this.flavor = flavor;
+ }
+ }
+
+ public class Show extends OpenStackRequest<Flavor> {
+
+ public Show(String id) {
+ super(client, HttpMethod.GET, getFlavorsString(id), null, Flavor.class);
+ }
+ }
+
+ public class ShowMetadata extends OpenStackRequest<Metadata> {
+
+ public ShowMetadata(String id) {
+ super(client, HttpMethod.GET, "/flavors/" + id + "/metadata", null, Metadata.class);
+ }
+ }
+
+ public class Delete extends OpenStackRequest<Void> {
+
+ public Delete(String id) {
+ super(client, HttpMethod.DELETE, getFlavorsString(id), null, Void.class);
+ }
+ }
+
+ private String getFlavorsString(String id) {
+ return "/flavors/" + id;
+ }
}
diff --git a/nova-client/src/main/java/com/woorea/openstack/nova/api/ImagesResource.java b/nova-client/src/main/java/com/woorea/openstack/nova/api/ImagesResource.java
index 780cb12..764a845 100644
--- a/nova-client/src/main/java/com/woorea/openstack/nova/api/ImagesResource.java
+++ b/nova-client/src/main/java/com/woorea/openstack/nova/api/ImagesResource.java
@@ -10,76 +10,75 @@ import com.woorea.openstack.nova.model.Images;
import com.woorea.openstack.nova.model.Metadata;
public class ImagesResource {
-
- private final OpenStackClient CLIENT;
-
- public ImagesResource(OpenStackClient client) {
- CLIENT = client;
- }
-
- public List list(boolean detail) {
- return new List(detail);
- }
-
- public Create create(Image image) {
- return new Create(image);
- }
-
- public Show show(String id) {
- return new Show(id);
- }
-
- public ShowMetadata showMetadata(String id) {
- return new ShowMetadata(id);
- }
-
-
- public Delete delete(String id) {
- return new Delete(id);
- }
-
- public class List extends OpenStackRequest<Images> {
-
- public List(boolean detail) {
- super(CLIENT, HttpMethod.GET, detail ? "/images/detail" : "/images", null, Images.class);
- }
-
- }
-
- public class Create extends OpenStackRequest<Image> {
-
- private Image image;
-
- public Create(Image image) {
- super(CLIENT, HttpMethod.POST, "/images", Entity.json(image), Image.class);
- this.image = image;
- }
-
- }
-
- public class Show extends OpenStackRequest<Image> {
-
- public Show(String id) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/images/").append(id).toString(), null, Image.class);
- }
-
- }
-
- public class ShowMetadata extends OpenStackRequest<Metadata> {
-
- public ShowMetadata(String id) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/images/").append(id).append("/metadata").toString(), null, Metadata.class);
- }
-
- }
-
- public class Delete extends OpenStackRequest<Void> {
-
- public Delete(String id) {
- super(CLIENT, HttpMethod.DELETE, new StringBuilder("/images/").append(id).toString(), null, Void.class);
- }
-
- }
-
+
+ private final OpenStackClient client;
+
+ public ImagesResource(OpenStackClient client) {
+ this.client = client;
+ }
+
+ public List list(boolean detail) {
+ return new List(detail);
+ }
+
+ public Create create(Image image) {
+ return new Create(image);
+ }
+
+ public Show show(String id) {
+ return new Show(id);
+ }
+
+ public ShowMetadata showMetadata(String id) {
+ return new ShowMetadata(id);
+ }
+
+
+ public Delete delete(String id) {
+ return new Delete(id);
+ }
+
+ public class List extends OpenStackRequest<Images> {
+
+ public List(boolean detail) {
+ super(client, HttpMethod.GET, detail ? "/images/detail" : "/images", null, Images.class);
+ }
+ }
+
+ public class Create extends OpenStackRequest<Image> {
+
+ private Image image;
+
+ public Create(Image image) {
+ super(client, HttpMethod.POST, "/images", Entity.json(image), Image.class);
+ this.image = image;
+ }
+ }
+
+ public class Show extends OpenStackRequest<Image> {
+
+ public Show(String id) {
+ super(client, HttpMethod.GET, getImagesString(id), null, Image.class);
+ }
+ }
+
+ public class ShowMetadata extends OpenStackRequest<Metadata> {
+
+ public ShowMetadata(String id) {
+ super(client, HttpMethod.GET, "/images/" + id + "/metadata", null,
+ Metadata.class);
+ }
+ }
+
+ public class Delete extends OpenStackRequest<Void> {
+
+ public Delete(String id) {
+ super(client, HttpMethod.DELETE, getImagesString(id), null, Void.class);
+ }
+ }
+
+ private String getImagesString(String id) {
+ return "/images/" + id;
+ }
}
diff --git a/nova-client/src/main/java/com/woorea/openstack/nova/api/QuotaSetsResource.java b/nova-client/src/main/java/com/woorea/openstack/nova/api/QuotaSetsResource.java
index 166fb42..0670c4b 100644
--- a/nova-client/src/main/java/com/woorea/openstack/nova/api/QuotaSetsResource.java
+++ b/nova-client/src/main/java/com/woorea/openstack/nova/api/QuotaSetsResource.java
@@ -10,52 +10,55 @@ import com.woorea.openstack.nova.model.QuotaSet;
import com.woorea.openstack.nova.model.SimpleTenantUsage;
public class QuotaSetsResource {
-
- private final OpenStackClient CLIENT;
-
- public QuotaSetsResource(OpenStackClient client) {
- CLIENT = client;
- }
-
- public ShowQuota showQuota(String tenantId) {
- return new ShowQuota(tenantId);
- }
-
- public UpdateQuota updateQuota(String tenantId, QuotaSet quotaSet) {
- return new UpdateQuota(tenantId, quotaSet);
- }
-
- public ShowUsage showUsage(String tenantId) {
- return new ShowUsage(tenantId);
- }
-
- public ShowUsedLimits showUsedLimits() {
- return new ShowUsedLimits();
- }
-
- public class ShowQuota extends OpenStackRequest<QuotaSet> {
- public ShowQuota(String tenantId) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/os-quota-sets/").append(tenantId), null, QuotaSet.class);
- }
-
- }
-
- public class UpdateQuota extends OpenStackRequest<QuotaSet> {
- public UpdateQuota(String tenantId, QuotaSet quotaSet) {
- super(CLIENT, HttpMethod.PUT, new StringBuilder("/os-quota-sets/").append(tenantId), Entity.json(quotaSet), QuotaSet.class);
- }
- }
-
- public class ShowUsage extends OpenStackRequest<SimpleTenantUsage> {
- public ShowUsage(String tenantId) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/os-simple-tenant-usage/").append(tenantId), null, SimpleTenantUsage.class);
- }
- }
-
- public class ShowUsedLimits extends OpenStackRequest<Limits> {
- public ShowUsedLimits() {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/limits"), null, Limits.class);
- }
- }
+
+ private final OpenStackClient client;
+
+ public QuotaSetsResource(OpenStackClient client) {
+ this.client = client;
+ }
+
+ public ShowQuota showQuota(String tenantId) {
+ return new ShowQuota(tenantId);
+ }
+
+ public UpdateQuota updateQuota(String tenantId, QuotaSet quotaSet) {
+ return new UpdateQuota(tenantId, quotaSet);
+ }
+
+ public ShowUsage showUsage(String tenantId) {
+ return new ShowUsage(tenantId);
+ }
+
+ public ShowUsedLimits showUsedLimits() {
+ return new ShowUsedLimits();
+ }
+
+ public class ShowQuota extends OpenStackRequest<QuotaSet> {
+
+ public ShowQuota(String tenantId) {
+ super(client, HttpMethod.GET, "/os-quota-sets/" + tenantId, null, QuotaSet.class);
+ }
+ }
+
+ public class UpdateQuota extends OpenStackRequest<QuotaSet> {
+
+ public UpdateQuota(String tenantId, QuotaSet quotaSet) {
+ super(client, HttpMethod.PUT, "/os-quota-sets/" + tenantId, Entity.json(quotaSet), QuotaSet.class);
+ }
+ }
+
+ public class ShowUsage extends OpenStackRequest<SimpleTenantUsage> {
+
+ public ShowUsage(String tenantId) {
+ super(client, HttpMethod.GET, "/os-simple-tenant-usage/" + tenantId, null, SimpleTenantUsage.class);
+ }
+ }
+
+ public class ShowUsedLimits extends OpenStackRequest<Limits> {
+
+ public ShowUsedLimits() {
+ super(client, HttpMethod.GET, "/limits", null, Limits.class);
+ }
+ }
}
diff --git a/nova-client/src/main/java/com/woorea/openstack/nova/api/ServersResource.java b/nova-client/src/main/java/com/woorea/openstack/nova/api/ServersResource.java
index ca48b6f..253cd66 100644
--- a/nova-client/src/main/java/com/woorea/openstack/nova/api/ServersResource.java
+++ b/nova-client/src/main/java/com/woorea/openstack/nova/api/ServersResource.java
@@ -1,8 +1,6 @@
package com.woorea.openstack.nova.api;
-import java.util.Map;
-
import com.woorea.openstack.base.client.Entity;
import com.woorea.openstack.base.client.HttpMethod;
import com.woorea.openstack.base.client.OpenStackClient;
@@ -36,506 +34,504 @@ import com.woorea.openstack.nova.model.ServerForCreate;
import com.woorea.openstack.nova.model.Servers;
import com.woorea.openstack.nova.model.VolumeAttachment;
import com.woorea.openstack.nova.model.VolumeAttachments;
+import java.util.Map;
public class ServersResource {
- private final OpenStackClient CLIENT;
-
- public ServersResource(OpenStackClient client) {
- CLIENT = client;
- }
-
- public List list(boolean detail) {
- return new List(detail);
- }
+ private final OpenStackClient client;
+ private static final String SERVERS = "/servers/";
+ private static final String ACTION = "/action";
- public Boot boot(ServerForCreate server) {
- return new Boot(server);
- }
-
- public Show show(String id) {
- return new Show(id);
- }
+ public ServersResource(OpenStackClient client) {
+ this.client = client;
+ }
- public ShowMetadata showMetadata(String id) {
- return new ShowMetadata(id);
- }
-
- public CreateOrUpdateMetadata createOrUpdateMetadata(String id,Metadata metadata) {
- return new CreateOrUpdateMetadata(id,metadata);
- }
-
- public ReplaceMetadata replaceMetadata(String id,Metadata metadata) {
- return new ReplaceMetadata(id,metadata);
- }
- public DeleteMetadata deleteMetadata(String id, String key) {
- return new DeleteMetadata(id,key);
- }
+ public List list(boolean detail) {
+ return new List(detail);
+ }
- public Delete delete(String id) {
- return new Delete(id);
- }
+ public Boot boot(ServerForCreate server) {
+ return new Boot(server);
+ }
- public class List extends OpenStackRequest<Servers> {
+ public Show show(String id) {
+ return new Show(id);
+ }
- public List(boolean detail) {
- super(CLIENT, HttpMethod.GET, detail ? "/servers/detail" : "/servers", null, Servers.class);
- }
+ public ShowMetadata showMetadata(String id) {
+ return new ShowMetadata(id);
+ }
- }
+ public CreateOrUpdateMetadata createOrUpdateMetadata(String id, Metadata metadata) {
+ return new CreateOrUpdateMetadata(id, metadata);
+ }
- public class Boot extends OpenStackRequest<Server> {
+ public ReplaceMetadata replaceMetadata(String id, Metadata metadata) {
+ return new ReplaceMetadata(id, metadata);
+ }
- private ServerForCreate server;
+ public DeleteMetadata deleteMetadata(String id, String key) {
+ return new DeleteMetadata(id, key);
+ }
- public Boot(ServerForCreate server) {
- super(CLIENT, HttpMethod.POST, "/servers", Entity.json(server), Server.class);
- this.server = server;
- }
+ public Delete delete(String id) {
+ return new Delete(id);
+ }
- }
+ public class List extends OpenStackRequest<Servers> {
- public class Show extends OpenStackRequest<Server> {
+ public List(boolean detail) {
+ super(client, HttpMethod.GET, detail ? "/servers/detail" : "/servers", null, Servers.class);
+ }
+ }
- public Show(String id) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/servers/").append(id), null, Server.class);
- }
+ public class Boot extends OpenStackRequest<Server> {
- }
+ private ServerForCreate server;
- public class ShowMetadata extends OpenStackRequest<Metadata> {
+ public Boot(ServerForCreate server) {
+ super(client, HttpMethod.POST, "/servers", Entity.json(server), Server.class);
+ this.server = server;
+ }
+ }
- public ShowMetadata(String id) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/servers/").append(id).append("/metadata"), null, Metadata.class);
- }
+ public class Show extends OpenStackRequest<Server> {
- }
-
- public class CreateOrUpdateMetadata extends OpenStackRequest<Metadata> {
+ public Show(String id) {
+ super(client, HttpMethod.GET, new StringBuilder(SERVERS).append(id), null, Server.class);
+ }
+ }
- public CreateOrUpdateMetadata(String id,Metadata metadata) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/metadata"), Entity.json(metadata), Metadata.class);
- }
+ public class ShowMetadata extends OpenStackRequest<Metadata> {
- }
- public class ReplaceMetadata extends OpenStackRequest<Metadata> {
+ public ShowMetadata(String id) {
+ super(client, HttpMethod.GET, new StringBuilder(SERVERS).append(id).append("/metadata"), null,
+ Metadata.class);
+ }
+ }
- public ReplaceMetadata(String id,Metadata metadata) {
- super(CLIENT, HttpMethod.PUT, new StringBuilder("/servers/").append(id).append("/metadata"), Entity.json(metadata), Metadata.class);
- }
+ public class CreateOrUpdateMetadata extends OpenStackRequest<Metadata> {
- }
-
- public class DeleteMetadata extends OpenStackRequest<Void> {
+ public CreateOrUpdateMetadata(String id, Metadata metadata) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append("/metadata"),
+ Entity.json(metadata), Metadata.class);
+ }
+ }
- public DeleteMetadata(String id,String key) {
- super(CLIENT, HttpMethod.DELETE, new StringBuilder("/servers/").append(id).append("/metadata/").append(key), null, Void.class);
- }
+ public class ReplaceMetadata extends OpenStackRequest<Metadata> {
- }
-
-
- public class Delete extends OpenStackRequest<Void> {
+ public ReplaceMetadata(String id, Metadata metadata) {
+ super(client, HttpMethod.PUT, new StringBuilder(SERVERS).append(id).append("/metadata"),
+ Entity.json(metadata), Metadata.class);
+ }
+ }
- public Delete(String id) {
- super(CLIENT, HttpMethod.DELETE, new StringBuilder("/servers/").append(id), null, Void.class);
- }
+ public class DeleteMetadata extends OpenStackRequest<Void> {
- }
+ public DeleteMetadata(String id, String key) {
+ super(client, HttpMethod.DELETE, new StringBuilder(SERVERS).append(id).append("/metadata/").append(key),
+ null, Void.class);
+ }
+ }
- public class ShowServerAddresses extends OpenStackRequest<Addresses> {
- public ShowServerAddresses(String id) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/servers/").append(id).append("/ips"), null, Addresses.class);
- }
+ public class Delete extends OpenStackRequest<Void> {
- }
+ public Delete(String id) {
+ super(client, HttpMethod.DELETE, new StringBuilder(SERVERS).append(id), null, Void.class);
+ }
+ }
- public class UpdateServer extends OpenStackRequest<Server> {
+ public class ShowServerAddresses extends OpenStackRequest<Addresses> {
- private Server server;
+ public ShowServerAddresses(String id) {
+ super(client, HttpMethod.GET, new StringBuilder(SERVERS).append(id).append("/ips"), null,
+ Addresses.class);
+ }
+ }
- public UpdateServer(String id, Server server) {
- super(CLIENT, HttpMethod.PUT, new StringBuilder("/servers/").append(id), Entity.json(server), Server.class);
- this.server = server;
- }
+ public class UpdateServer extends OpenStackRequest<Server> {
- }
-
- public UpdateServer update(String serverId, String name, String accessIPv4, String accessIPv6) {
- Server server = new Server();
- //server.setName(name);
- //server.setAccessIPv4(accessIPv4);
- //server.setAccessIPv6(accessIPv6);
- return new UpdateServer(serverId, server);
- }
+ private Server server;
- public abstract class Action<T> extends OpenStackRequest<T> {
+ public UpdateServer(String id, Server server) {
+ super(client, HttpMethod.PUT, new StringBuilder(SERVERS).append(id), Entity.json(server), Server.class);
+ this.server = server;
+ }
+ }
- public Action(String id, Entity<?> entity, Class<T> returnType) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), entity, returnType);
- }
+ public UpdateServer update(String serverId, String name, String accessIPv4, String accessIPv6) {
+ Server server = new Server();
+ //server.setName(name);
+ //server.setAccessIPv4(accessIPv4);
+ //server.setAccessIPv6(accessIPv6);
+ return new UpdateServer(serverId, server);
+ }
- }
+ public abstract class Action<T> extends OpenStackRequest<T> {
- public class ChangePasswordAction extends Action<Server> {
+ public Action(String id, Entity<?> entity, Class<T> returnType) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION), entity,
+ returnType);
+ }
+ }
- private ChangePassword action;
+ public class ChangePasswordAction extends Action<Server> {
- public ChangePasswordAction(String id, ChangePassword action) {
- super(id, Entity.json(action), Server.class);
- }
+ private ChangePassword action;
- }
-
- public ChangePasswordAction changePassword(String serverId, String adminPass) {
- ChangePassword changePassword = new ChangePassword();
- changePassword.setAdminPass(adminPass);
- return new ChangePasswordAction(serverId, changePassword);
- }
+ public ChangePasswordAction(String id, ChangePassword action) {
+ super(id, Entity.json(action), Server.class);
+ }
+ }
- public class RebootAction extends Action<Void> {
+ public ChangePasswordAction changePassword(String serverId, String adminPass) {
+ ChangePassword changePassword = new ChangePassword();
+ changePassword.setAdminPass(adminPass);
+ return new ChangePasswordAction(serverId, changePassword);
+ }
- private Reboot action;
+ public class RebootAction extends Action<Void> {
- public RebootAction(String id, Reboot action) {
- super(id, Entity.json(action), Void.class);
- }
+ private Reboot action;
- }
+ public RebootAction(String id, Reboot action) {
+ super(id, Entity.json(action), Void.class);
+ }
+ }
- public RebootAction reboot(String serverId, String rebootType) {
- Reboot reboot = new Reboot();
- reboot.setType(rebootType);
- return new RebootAction(serverId, reboot);
- }
+ public RebootAction reboot(String serverId, String rebootType) {
+ Reboot reboot = new Reboot();
+ reboot.setType(rebootType);
+ return new RebootAction(serverId, reboot);
+ }
- public class RebuildAction extends Action<Server> {
+ public class RebuildAction extends Action<Server> {
- private Rebuild action;
+ private Rebuild action;
- public RebuildAction(String id, Rebuild action) {
- super(id, Entity.json(action), Server.class);
- }
+ public RebuildAction(String id, Rebuild action) {
+ super(id, Entity.json(action), Server.class);
+ }
+ }
- }
-
- public RebuildAction rebuild(String serverId, Rebuild rebuild) {
- return new RebuildAction(serverId, rebuild);
- }
+ public RebuildAction rebuild(String serverId, Rebuild rebuild) {
+ return new RebuildAction(serverId, rebuild);
+ }
- public class ResizeAction extends Action<Server> {
+ public class ResizeAction extends Action<Server> {
- private Resize action;
+ private Resize action;
- public ResizeAction(String id, Resize action) {
- super(id, Entity.json(action), Server.class);
- }
+ public ResizeAction(String id, Resize action) {
+ super(id, Entity.json(action), Server.class);
+ }
+ }
- }
-
- public ResizeAction resize(String serverId, String flavorId, String diskConfig) {
- Resize resize = new Resize();
- resize.setFlavorRef(flavorId);
- resize.setDiskConfig(diskConfig);
- return new ResizeAction(serverId, resize);
- }
+ public ResizeAction resize(String serverId, String flavorId, String diskConfig) {
+ Resize resize = new Resize();
+ resize.setFlavorRef(flavorId);
+ resize.setDiskConfig(diskConfig);
+ return new ResizeAction(serverId, resize);
+ }
- public class ConfirmResizeAction extends Action<Server> {
+ public class ConfirmResizeAction extends Action<Server> {
- public ConfirmResizeAction(String id) {
- super(id, Entity.json(new ConfirmResize()), Server.class);
- }
+ public ConfirmResizeAction(String id) {
+ super(id, Entity.json(new ConfirmResize()), Server.class);
+ }
+ }
- }
-
- public ConfirmResizeAction confirmResize(String serverId) {
- return new ConfirmResizeAction(serverId);
- }
+ public ConfirmResizeAction confirmResize(String serverId) {
+ return new ConfirmResizeAction(serverId);
+ }
- public class RevertResizeAction extends Action<Server> {
+ public class RevertResizeAction extends Action<Server> {
- public RevertResizeAction(String id) {
- super(id, Entity.json(new RevertResize()), Server.class);
- }
+ public RevertResizeAction(String id) {
+ super(id, Entity.json(new RevertResize()), Server.class);
+ }
+ }
- }
-
- public RevertResizeAction revertResize(String serverId) {
- return new RevertResizeAction(serverId);
- }
+ public RevertResizeAction revertResize(String serverId) {
+ return new RevertResizeAction(serverId);
+ }
public class CreateImageAction extends Action<Void> {
public CreateImageAction(String id, CreateImage createImage) {
super(id, Entity.json(createImage), Void.class);
}
-
}
-
+
public CreateImageAction createImage(String serverId, String name, Map<String, String> metadata) {
- CreateImage createImage = new CreateImage();
- createImage.setName(name);
- createImage.setMetadata(metadata);
+ CreateImage createImage = new CreateImage();
+ createImage.setName(name);
+ createImage.setMetadata(metadata);
return new CreateImageAction(serverId, createImage);
- }
-
- public class StartServer extends OpenStackRequest<Void> {
-
- private Start action;
-
- private String id;
-
- public StartServer(String id) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(new Start()), Void.class);
- }
-
- }
-
- public class StopServer extends OpenStackRequest<Void> {
-
- private Stop action;
-
- private String id;
-
- public StopServer(String id) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(new Stop()), Void.class);
- }
-
- }
-
- public StartServer start(String id) {
- return new StartServer(id);
- }
-
- public StopServer stop(String id) {
- return new StopServer(id);
- }
-
- public class GetVncConsoleServer extends OpenStackRequest<VncConsole> {
-
- private GetVncConsole action;
-
- private String id;
-
- public GetVncConsoleServer(String id, GetVncConsole action) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(action), VncConsole.class);
- }
-
- }
-
- public GetVncConsoleServer getVncConsole(String id, String type) {
- GetVncConsole action = new GetVncConsole(type);
- return new GetVncConsoleServer(id, action);
- }
-
- public class GetConsoleOutputServer extends OpenStackRequest<ConsoleOutput> {
-
- public GetConsoleOutputServer(String id, GetConsoleOutput action) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(action), ConsoleOutput.class);
- }
-
- }
+ }
- public GetConsoleOutputServer getConsoleOutput(String id, int length) {
- GetConsoleOutput action = new GetConsoleOutput(length);
- return new GetConsoleOutputServer(id, action);
- }
+ public class StartServer extends OpenStackRequest<Void> {
- public class PauseServer extends OpenStackRequest<Void> {
+ private Start action;
- public PauseServer(String id) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(new Pause()), Void.class);
- }
+ private String id;
- }
+ public StartServer(String id) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(new Start()), Void.class);
+ }
+ }
- public class UnpauseServer extends OpenStackRequest<Void> {
+ public class StopServer extends OpenStackRequest<Void> {
- public UnpauseServer(String id) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(new Unpause()), Void.class);
- }
+ private Stop action;
+ private String id;
- }
+ public StopServer(String id) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(new Stop()), Void.class);
+ }
+ }
- public class LockServer extends OpenStackRequest<Void> {
+ public StartServer start(String id) {
+ return new StartServer(id);
+ }
- private Lock action;
+ public StopServer stop(String id) {
+ return new StopServer(id);
+ }
- private String id;
+ public class GetVncConsoleServer extends OpenStackRequest<VncConsole> {
- public LockServer(String id) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(new Lock()), Void.class);
- }
+ private GetVncConsole action;
- }
+ private String id;
- public class UnlockServer extends OpenStackRequest<Void> {
+ public GetVncConsoleServer(String id, GetVncConsole action) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(action), VncConsole.class);
+ }
+ }
- private Unlock action;
+ public GetVncConsoleServer getVncConsole(String id, String type) {
+ GetVncConsole action = new GetVncConsole(type);
+ return new GetVncConsoleServer(id, action);
+ }
- private String id;
+ public class GetConsoleOutputServer extends OpenStackRequest<ConsoleOutput> {
- public UnlockServer(String id) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(new Unlock()), Void.class);
- }
+ public GetConsoleOutputServer(String id, GetConsoleOutput action) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(action), ConsoleOutput.class);
+ }
+ }
- }
+ public GetConsoleOutputServer getConsoleOutput(String id, int length) {
+ GetConsoleOutput action = new GetConsoleOutput(length);
+ return new GetConsoleOutputServer(id, action);
+ }
- public class SuspendServer extends OpenStackRequest<Void> {
+ public class PauseServer extends OpenStackRequest<Void> {
- public SuspendServer(String id) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(new Suspend()), Void.class);
- }
+ public PauseServer(String id) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(new Pause()), Void.class);
+ }
+ }
- }
+ public class UnpauseServer extends OpenStackRequest<Void> {
- public class ResumeServer extends OpenStackRequest<Void> {
+ public UnpauseServer(String id) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(new Unpause()), Void.class);
+ }
+ }
- public ResumeServer(String id) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(new Resume()), Void.class);
- }
+ public class LockServer extends OpenStackRequest<Void> {
- }
+ private Lock action;
- public class CreateBackupServer extends OpenStackRequest<Void> {
+ private String id;
- public CreateBackupServer(String id, CreateBackup action) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(action), Void.class);
- }
+ public LockServer(String id) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(new Lock()), Void.class);
+ }
+ }
- }
+ public class UnlockServer extends OpenStackRequest<Void> {
- public PauseServer pause(String serverId) {
- return new PauseServer(serverId);
- }
+ private Unlock action;
- public UnpauseServer unpause(String serverId) {
- return new UnpauseServer(serverId);
- }
+ private String id;
- public LockServer lock(String serverId) {
- return new LockServer(serverId);
- }
+ public UnlockServer(String id) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(new Unlock()), Void.class);
+ }
+ }
- public UnlockServer unlock(String serverId) {
- return new UnlockServer(serverId);
- }
+ public class SuspendServer extends OpenStackRequest<Void> {
- public SuspendServer suspend(String serverId) {
- return new SuspendServer(serverId);
- }
+ public SuspendServer(String id) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(new Suspend()), Void.class);
+ }
+ }
- public ResumeServer resume(String serverId) {
- return new ResumeServer(serverId);
- }
+ public class ResumeServer extends OpenStackRequest<Void> {
- public CreateBackupServer createBackup(String serverId, CreateBackup action) {
- return new CreateBackupServer(serverId, action);
- }
+ public ResumeServer(String id) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(new Resume()), Void.class);
+ }
+ }
- public class RescueServer extends OpenStackRequest<Void> {
+ public class CreateBackupServer extends OpenStackRequest<Void> {
- public RescueServer(String id, Rescue action) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(action), Void.class);
- }
+ public CreateBackupServer(String id, CreateBackup action) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(action), Void.class);
+ }
+ }
- }
+ public PauseServer pause(String serverId) {
+ return new PauseServer(serverId);
+ }
- public class UnrescueServer extends OpenStackRequest<Void> {
+ public UnpauseServer unpause(String serverId) {
+ return new UnpauseServer(serverId);
+ }
- public UnrescueServer(String id) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(new Unrescue()), Void.class);
- }
+ public LockServer lock(String serverId) {
+ return new LockServer(serverId);
+ }
- }
+ public UnlockServer unlock(String serverId) {
+ return new UnlockServer(serverId);
+ }
- public RescueServer rescue(String serverId, String adminPass) {
- Rescue action = new Rescue(adminPass);
- return new RescueServer(serverId, action);
- }
+ public SuspendServer suspend(String serverId) {
+ return new SuspendServer(serverId);
+ }
- public UnrescueServer unrescue(String serverId) {
- return new UnrescueServer(serverId);
- }
+ public ResumeServer resume(String serverId) {
+ return new ResumeServer(serverId);
+ }
- public class AssociateFloatingIp extends OpenStackRequest<Void> {
+ public CreateBackupServer createBackup(String serverId, CreateBackup action) {
+ return new CreateBackupServer(serverId, action);
+ }
- public AssociateFloatingIp(String id, com.woorea.openstack.nova.model.ServerAction.AssociateFloatingIp action) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(action), Void.class);
- }
+ public class RescueServer extends OpenStackRequest<Void> {
- }
+ public RescueServer(String id, Rescue action) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(action), Void.class);
+ }
+ }
- public class DisassociateFloatingIp extends OpenStackRequest<Void> {
+ public class UnrescueServer extends OpenStackRequest<Void> {
- public DisassociateFloatingIp(String id, com.woorea.openstack.nova.model.ServerAction.DisassociateFloatingIp action) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(id).append("/action"), Entity.json(action), Void.class);
- }
+ public UnrescueServer(String id) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(new Unrescue()), Void.class);
+ }
+ }
- }
+ public RescueServer rescue(String serverId, String adminPass) {
+ Rescue action = new Rescue(adminPass);
+ return new RescueServer(serverId, action);
+ }
- public AssociateFloatingIp associateFloatingIp(String serverId, String floatingIpAddress) {
- com.woorea.openstack.nova.model.ServerAction.AssociateFloatingIp action = new com.woorea.openstack.nova.model.ServerAction.AssociateFloatingIp(floatingIpAddress);
- return new AssociateFloatingIp(serverId, action);
- }
+ public UnrescueServer unrescue(String serverId) {
+ return new UnrescueServer(serverId);
+ }
- public DisassociateFloatingIp disassociateFloatingIp(String serverId, String floatingIpAddress) {
- com.woorea.openstack.nova.model.ServerAction.DisassociateFloatingIp action = new com.woorea.openstack.nova.model.ServerAction.DisassociateFloatingIp(floatingIpAddress);
- return new DisassociateFloatingIp(serverId, action);
- }
+ public class AssociateFloatingIp extends OpenStackRequest<Void> {
- public class AttachVolume extends OpenStackRequest<Void> {
+ public AssociateFloatingIp(String id, com.woorea.openstack.nova.model.ServerAction.AssociateFloatingIp action) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(action), Void.class);
+ }
+ }
- public AttachVolume(String serverId, final VolumeAttachment volumeAttachment) {
- super(CLIENT, HttpMethod.POST, new StringBuilder("/servers/").append(serverId).append("/os-volume_attachments"), Entity.json(volumeAttachment), Void.class);
- }
+ public class DisassociateFloatingIp extends OpenStackRequest<Void> {
- }
+ public DisassociateFloatingIp(String id,
+ com.woorea.openstack.nova.model.ServerAction.DisassociateFloatingIp action) {
+ super(client, HttpMethod.POST, new StringBuilder(SERVERS).append(id).append(ACTION),
+ Entity.json(action), Void.class);
+ }
+ }
- public class DetachVolume extends OpenStackRequest<Void> {
+ public AssociateFloatingIp associateFloatingIp(String serverId, String floatingIpAddress) {
+ com.woorea.openstack.nova.model.ServerAction.AssociateFloatingIp action = new com.woorea.openstack.nova.model.ServerAction.AssociateFloatingIp(
+ floatingIpAddress);
+ return new AssociateFloatingIp(serverId, action);
+ }
- public DetachVolume(String serverId, String volumeId) {
- super(CLIENT, HttpMethod.DELETE, new StringBuilder("/servers/").append(serverId).append("/os-volume_attachments/").append(volumeId), null, Void.class);
- }
+ public DisassociateFloatingIp disassociateFloatingIp(String serverId, String floatingIpAddress) {
+ com.woorea.openstack.nova.model.ServerAction.DisassociateFloatingIp action = new com.woorea.openstack.nova.model.ServerAction.DisassociateFloatingIp(
+ floatingIpAddress);
+ return new DisassociateFloatingIp(serverId, action);
+ }
- }
+ public class AttachVolume extends OpenStackRequest<Void> {
- public class ListVolumeAttachments extends OpenStackRequest<VolumeAttachments> {
+ public AttachVolume(String serverId, final VolumeAttachment volumeAttachment) {
+ super(client, HttpMethod.POST,
+ new StringBuilder(SERVERS).append(serverId).append("/os-volume_attachments"),
+ Entity.json(volumeAttachment), Void.class);
+ }
+ }
- public ListVolumeAttachments(String serverId) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/servers/").append(serverId).append("/os-volume_attachments"), null, VolumeAttachments.class);
- }
+ public class DetachVolume extends OpenStackRequest<Void> {
- }
+ public DetachVolume(String serverId, String volumeId) {
+ super(client, HttpMethod.DELETE,
+ new StringBuilder(SERVERS).append(serverId).append("/os-volume_attachments/").append(volumeId),
+ null, Void.class);
+ }
+ }
- public class ShowVolumeAttachment extends OpenStackRequest<VolumeAttachment> {
+ public class ListVolumeAttachments extends OpenStackRequest<VolumeAttachments> {
- public ShowVolumeAttachment(String serverId, String volumeAttachmentId) {
- super(CLIENT, HttpMethod.GET, new StringBuilder("/servers/").append(serverId).append("/os-volume_attachments/").append(volumeAttachmentId), null, VolumeAttachment.class);
- }
+ public ListVolumeAttachments(String serverId) {
+ super(client, HttpMethod.GET,
+ new StringBuilder(SERVERS).append(serverId).append("/os-volume_attachments"), null,
+ VolumeAttachments.class);
+ }
+ }
- }
+ public class ShowVolumeAttachment extends OpenStackRequest<VolumeAttachment> {
- public AttachVolume attachVolume(String serverId, String volumeId, String device) {
- VolumeAttachment volumeAttachment = new VolumeAttachment();
- volumeAttachment.setVolumeId(volumeId);
- volumeAttachment.setDevice(device);
- return new AttachVolume(serverId, volumeAttachment);
- }
+ public ShowVolumeAttachment(String serverId, String volumeAttachmentId) {
+ super(client, HttpMethod.GET,
+ new StringBuilder(SERVERS).append(serverId).append("/os-volume_attachments/")
+ .append(volumeAttachmentId), null, VolumeAttachment.class);
+ }
+ }
- public DetachVolume detachVolume(String serverId, String volumeId) {
- return new DetachVolume(serverId, volumeId);
- }
+ public AttachVolume attachVolume(String serverId, String volumeId, String device) {
+ VolumeAttachment volumeAttachment = new VolumeAttachment();
+ volumeAttachment.setVolumeId(volumeId);
+ volumeAttachment.setDevice(device);
+ return new AttachVolume(serverId, volumeAttachment);
+ }
- public ListVolumeAttachments listVolumeAttachments(String serverId) {
- return new ListVolumeAttachments(serverId);
- }
+ public DetachVolume detachVolume(String serverId, String volumeId) {
+ return new DetachVolume(serverId, volumeId);
+ }
- public ShowVolumeAttachment showVolumeAttachment(String serverId, String volumeAttachmentId) {
- return new ShowVolumeAttachment(serverId, volumeAttachmentId);
- }
+ public ListVolumeAttachments listVolumeAttachments(String serverId) {
+ return new ListVolumeAttachments(serverId);
+ }
+ public ShowVolumeAttachment showVolumeAttachment(String serverId, String volumeAttachmentId) {
+ return new ShowVolumeAttachment(serverId, volumeAttachmentId);
+ }
}