diff options
9 files changed, 960 insertions, 973 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/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); + } } |