http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Operation.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Operation.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Operation.java deleted file mode 100644 index deab873..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Operation.java +++ /dev/null @@ -1,556 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.domain; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Optional.fromNullable; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Date; -import java.util.List; - -import org.jclouds.http.HttpResponse; -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableList; - -/** - * Describes an operation being executed on some Resource - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/operations"/> - */ -@Beta -public class Operation extends Resource { - - public static enum Status { - PENDING, - RUNNING, - DONE - } - - private final URI targetLink; - private final Optional<String> targetId; - private final Optional<String> clientOperationId; - private final Status status; - private final Optional<String> statusMessage; - private final String user; - private final Optional<Integer> progress; - private final Date insertTime; - private final Optional<Date> startTime; - private final Optional<Date> endTime; - private final Optional<HttpResponse> httpError; - private final String operationType; - private final List<Error> errors; - private final Optional<URI> zone; - private final Optional<URI> region; - - protected Operation(String id, Date creationTimestamp, URI selfLink, String name, String description, - URI targetLink, String targetId, String clientOperationId, Status status, - String statusMessage, String user, Integer progress, Date insertTime, Date startTime, - Date endTime, Integer httpErrorStatusCode, String httpErrorMessage, String operationType, - @Nullable List<Error> errors, URI region, URI zone) { - super(Kind.OPERATION, id, creationTimestamp, selfLink, name, description); - this.targetLink = checkNotNull(targetLink, "targetLink of %s", name); - this.targetId = fromNullable(targetId); - this.clientOperationId = fromNullable(clientOperationId); - this.status = checkNotNull(status, "status of %s", name); - this.statusMessage = fromNullable(statusMessage); - this.user = checkNotNull(user, "user of %s", name); - this.progress = fromNullable(progress); - this.insertTime = checkNotNull(insertTime, "insertTime of %s", name); - this.startTime = fromNullable(startTime); - this.endTime = fromNullable(endTime); - this.httpError = httpErrorStatusCode != null && httpErrorStatusCode != 0 ? - Optional.of(HttpResponse.builder() - .statusCode(httpErrorStatusCode) - .message(httpErrorMessage) - .build()) - : Optional.<HttpResponse>absent(); - this.operationType = checkNotNull(operationType, "insertTime of %s", name); - this.errors = errors == null ? ImmutableList.<Error>of() : ImmutableList.copyOf(errors); - this.region = fromNullable(region); - this.zone = fromNullable(zone); - } - - /** - * @return URL of the resource the operation is mutating. - */ - public URI getTargetLink() { - return targetLink; - } - - /** - * @return An optional identifier specified by the client when the mutation was initiated. Must be unique for all - * operation resources in the project. - */ - public Optional<String> getClientOperationId() { - return clientOperationId; - } - - /** - * @return unique target id which identifies a particular incarnation of the target. - */ - public Optional<String> getTargetId() { - return targetId; - } - - /** - * @return region this operation is in, if any. - */ - public Optional<URI> getRegion() { - return region; - } - - /** - * @return zone this operation is in, if any. - */ - public Optional<URI> getZone() { - return zone; - } - - /** - * @return Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE. - */ - public Status getStatus() { - return status; - } - - /** - * @return An optional textual description of the current status of the operation. - */ - public Optional<String> getStatusMessage() { - return statusMessage; - } - - /** - * @return User who requested the operation, for example "[email protected]". - */ - public String getUser() { - return user; - } - - /** - * @return an optional progress indicator that ranges from 0 to 100. This should not be used to guess at when the - * operation will be complete. This number should be monotonically increasing as the operation progresses - * (output only). - */ - public Optional<Integer> getProgress() { - return progress; - } - - /** - * @return the time that this operation was requested. - */ - public Date getInsertTime() { - return insertTime; - } - - /** - * @return the time that this operation was started by the server. - */ - public Optional<Date> getStartTime() { - return startTime; - } - - /** - * @return the time that this operation was completed. - */ - public Optional<Date> getEndTime() { - return endTime; - } - - /** - * @return if operation fails, the HttpResponse with error status code returned and the message, e.g. NOT_FOUND. - */ - public Optional<HttpResponse> getHttpError() { - return httpError; - } - - /** - * @return type of the operation. Examples include insert, update, and delete. - */ - public String getOperationType() { - return operationType; - } - - /** - * @return if error occurred during processing of this operation, this field will be populated. - */ - public List<Error> getErrors() { - return errors; - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return super.string() - .omitNullValues() - .add("targetLink", targetLink) - .add("targetId", targetId.orNull()) - .add("clientOperationId", clientOperationId.orNull()) - .add("status", status) - .add("statusMessage", statusMessage.orNull()) - .add("user", user) - .add("progress", progress.orNull()) - .add("insertTime", insertTime) - .add("startTime", startTime.orNull()) - .add("endTime", endTime.orNull()) - .add("httpError", httpError.orNull()) - .add("operationType", operationType) - .add("errors", errors) - .add("region", region.orNull()) - .add("zone", zone.orNull()); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromOperation(this); - } - - public static final class Builder extends Resource.Builder<Builder> { - - private URI targetLink; - private String targetId; - private String clientOperationId; - private Status status; - private String statusMessage; - private String user; - private Integer progress; - private Date insertTime; - private Date startTime; - private Date endTime; - private Integer httpErrorStatusCode; - private String httpErrorMessage; - private String operationType; - private ImmutableList.Builder<Error> errors = ImmutableList.builder(); - private URI region; - private URI zone; - - /** - * @see Operation#getTargetLink() - */ - public Builder targetLink(URI targetLink) { - this.targetLink = targetLink; - return self(); - } - - /** - * @see Operation#getRegion() - */ - public Builder region(URI region) { - this.region = region; - return self(); - } - - /** - * @see Operation#getZone() - */ - public Builder zone(URI zone) { - this.zone = zone; - return self(); - } - - /** - * @see Operation#getTargetId() - */ - public Builder targetId(String targetId) { - this.targetId = targetId; - return self(); - } - - /** - * @see Operation#getClientOperationId() - */ - public Builder clientOperationId(String clientOperationId) { - this.clientOperationId = clientOperationId; - return self(); - } - - /** - * @see Operation#getStatus() - */ - public Builder status(Status status) { - this.status = status; - return self(); - } - - /** - * @see Operation#getStatusMessage() - */ - public Builder statusMessage(String statusMessage) { - this.statusMessage = statusMessage; - return self(); - } - - /** - * @see Operation#getUser() - */ - public Builder user(String user) { - this.user = user; - return self(); - } - - /** - * @see Operation#getProgress() - */ - public Builder progress(Integer progress) { - this.progress = progress; - return self(); - } - - /** - * @see Operation#getInsertTime() - */ - public Builder insertTime(Date insertTime) { - this.insertTime = insertTime; - return self(); - } - - /** - * @see Operation#getStartTime() - */ - public Builder startTime(Date startTime) { - this.startTime = startTime; - return self(); - } - - /** - * @see Operation#getEndTime() - */ - public Builder endTime(Date endTime) { - this.endTime = endTime; - return self(); - } - - /** - * @see Operation#getHttpError() - */ - public Builder httpErrorStatusCode(Integer httpErrorStatusCode) { - this.httpErrorStatusCode = httpErrorStatusCode; - return self(); - } - - /** - * @see Operation#getHttpError() - */ - public Builder httpErrorMessage(String httpErrorMessage) { - this.httpErrorMessage = httpErrorMessage; - return self(); - } - - /** - * @see Operation#getOperationType() - */ - public Builder operationType(String operationType) { - this.operationType = operationType; - return self(); - } - - /** - * @see Operation#getErrors() - */ - public Builder errors(Iterable<Error> errors) { - if (errors != null) - this.errors.addAll(errors); - return self(); - } - - /** - * @see Operation#getErrors() - */ - public Builder addError(Error error) { - this.errors.add(error); - return self(); - } - - @Override - protected Builder self() { - return this; - } - - public Operation build() { - return new Operation(super.id, super.creationTimestamp, super.selfLink, super.name, - super.description, targetLink, targetId, clientOperationId, status, statusMessage, user, progress, - insertTime, startTime, endTime, httpErrorStatusCode, httpErrorMessage, operationType, - errors.build(), region, zone); - } - - public Builder fromOperation(Operation in) { - return super.fromResource(in) - .targetLink(in.getTargetLink()) - .targetId(in.getTargetId().orNull()) - .clientOperationId(in.getClientOperationId().orNull()) - .status(in.getStatus()) - .statusMessage(in.getStatusMessage().orNull()) - .user(in.getUser()) - .progress(in.getProgress().get()) - .insertTime(in.getInsertTime()) - .startTime(in.getStartTime().orNull()) - .endTime(in.getEndTime().orNull()) - .httpErrorStatusCode(in.getHttpError().isPresent() ? in.getHttpError().get().getStatusCode() : null) - .httpErrorMessage(in.getHttpError().isPresent() ? in.getHttpError().get().getMessage() : null) - .operationType(in.getOperationType()).errors(in.getErrors()) - .zone(in.getZone().orNull()).region(in.getRegion().orNull()); - } - } - - /** - * A particular error for an operation including the details. - */ - public static final class Error { - - private final String code; - private final Optional<String> location; - private final Optional<String> message; - - @ConstructorProperties({ - "code", "location", "message" - }) - private Error(String code, String location, String message) { - this.code = checkNotNull(code, "code"); - this.location = fromNullable(location); - this.message = fromNullable(message); - } - - /** - * @return the error type identifier for this error. - */ - public String getCode() { - return code; - } - - /** - * @return indicates the field in the request which caused the error.. - */ - public Optional<String> getLocation() { - return location; - } - - /** - * @return an optional, human-readable error message. - */ - public Optional<String> getMessage() { - return message; - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return Objects.hashCode(code, location, message); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - Error that = Error.class.cast(obj); - return equal(this.code, that.code) - && equal(this.location, that.location) - && equal(this.message, that.message); - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return toStringHelper(this) - .omitNullValues() - .add("code", code) - .add("location", location.orNull()) - .add("message", message.orNull()); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return builder().fromOperationErrorDetail(this); - } - - public static final class Builder { - - private String code; - private String location; - private String message; - - /** - * @see org.jclouds.googlecomputeengine.domain.Operation.Error#getCode() - */ - public Builder code(String code) { - this.code = code; - return this; - } - - /** - * @see org.jclouds.googlecomputeengine.domain.Operation.Error#getLocation() - */ - public Builder location(String location) { - this.location = location; - return this; - } - - /** - * @see org.jclouds.googlecomputeengine.domain.Operation.Error#getMessage() - */ - public Builder message(String message) { - this.message = message; - return this; - } - - public Error build() { - return new Error(code, location, message); - } - - public Builder fromOperationErrorDetail(Error in) { - return new Builder().code(in.getCode()).location(in.getLocation().orNull()).message - (in.getMessage().orNull()); - } - } - } -}
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Project.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Project.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Project.java deleted file mode 100644 index ac3867b..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Project.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.domain; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.net.URI; -import java.util.Date; -import java.util.Set; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableSet; - -/** - * A Project resource is the root collection and settings resource for all Google Compute Engine resources. - * - * @see <a href="https://developers.google.com/compute/docs/projects"/> - */ -@Beta -public class Project extends Resource { - - private final Metadata commonInstanceMetadata; - private final Set<Quota> quotas; - private final Set<String> externalIpAddresses; - - protected Project(String id, Date creationTimestamp, URI selfLink, String name, String description, - Metadata commonInstanceMetadata, Set<Quota> quotas, Set<String> externalIpAddresses) { - super(Kind.PROJECT, id, creationTimestamp, selfLink, name, description); - this.commonInstanceMetadata = checkNotNull(commonInstanceMetadata, "commonInstanceMetadata"); - this.quotas = quotas == null ? ImmutableSet.<Quota>of() : ImmutableSet.copyOf(quotas); - this.externalIpAddresses = externalIpAddresses == null ? ImmutableSet.<String>of() : ImmutableSet.copyOf - (externalIpAddresses); - } - - /** - * @return metadata key/value pairs available to all instances contained in this project. - */ - public Metadata getCommonInstanceMetadata() { - return commonInstanceMetadata; - } - - /** - * @return quotas assigned to this project. - */ - public Set<Quota> getQuotas() { - return quotas; - } - - /** - * @return internet available IP addresses available for use in this project. - */ - @Nullable - public Set<String> getExternalIpAddresses() { - return externalIpAddresses; - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return super.string() - .add("commonInstanceMetadata", commonInstanceMetadata) - .add("quotas", quotas) - .add("externalIpAddresses", externalIpAddresses); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromProject(this); - } - - public static final class Builder extends Resource.Builder<Builder> { - - private Metadata commonInstanceMetadata; - private ImmutableSet.Builder<Quota> quotas = ImmutableSet.builder(); - private ImmutableSet.Builder<String> externalIpAddresses = ImmutableSet.builder(); - - /** - * @see Project#getCommonInstanceMetadata() - */ - public Builder commonInstanceMetadata(Metadata commonInstanceMetadata) { - this.commonInstanceMetadata = commonInstanceMetadata; - return this; - } - - /** - * @see Project#getQuotas() - */ - public Builder addQuota(String metric, double usage, double limit) { - this.quotas.add(Quota.builder().metric(metric).usage(usage).limit(limit).build()); - return this; - } - - /** - * @see Project#getQuotas() - */ - public Builder quotas(Set<Quota> quotas) { - this.quotas.addAll(checkNotNull(quotas)); - return this; - } - - /** - * @see Project#getExternalIpAddresses() - */ - public Builder addExternalIpAddress(String externalIpAddress) { - this.externalIpAddresses.add(checkNotNull(externalIpAddress, "externalIpAddress")); - return this; - } - - /** - * @see Project#getExternalIpAddresses() - */ - public Builder externalIpAddresses(Set<String> externalIpAddresses) { - this.externalIpAddresses.addAll(checkNotNull(externalIpAddresses, "externalIpAddresses")); - return this; - } - - @Override - protected Builder self() { - return this; - } - - public Project build() { - return new Project(super.id, super.creationTimestamp, super.selfLink, super.name, - super.description, commonInstanceMetadata, quotas.build(), externalIpAddresses.build()); - } - - public Builder fromProject(Project in) { - return super.fromResource(in).commonInstanceMetadata(in.getCommonInstanceMetadata()).quotas(in.getQuotas()) - .externalIpAddresses(in.getExternalIpAddresses()); - } - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Quota.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Quota.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Quota.java deleted file mode 100644 index 3c17130..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Quota.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.domain; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.base.Objects.ToStringHelper; - -/** - * Quotas assigned to a given project or region. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/projects#resource"/> - */ -@Beta -public class Quota { - private String metric; - private double usage; - private double limit; - - @ConstructorProperties({ - "metric", "usage", "limit" - }) - public Quota(String metric, Double usage, Double limit) { - this.metric = metric != null ? metric : "undefined"; - this.usage = checkNotNull(usage, "usage"); - this.limit = checkNotNull(limit, "limit"); - } - - /** - * @return name of the quota metric. - */ - public String getMetric() { - return metric; - } - - /** - * @return current usage of this metric. - */ - public Double getUsage() { - return usage; - } - - /** - * @return quota limit for this metric. - */ - public Double getLimit() { - return limit; - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return Objects.hashCode(metric); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || this.getClass() != obj.getClass()) return false; - Quota that = Quota.class.cast(obj); - return Objects.equal(this.metric, that.metric); - } - - /** - * {@inheritDoc} - */ - public ToStringHelper string() { - return Objects.toStringHelper(this) - .omitNullValues() - .add("metric", metric) - .add("usage", usage) - .add("limit", limit); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return builder().fromQuota(this); - } - - public static class Builder { - - private String metric; - private Double usage; - private Double limit; - - /** - * @see org.jclouds.googlecomputeengine.domain.Quota#getMetric() - */ - public Builder metric(String metric) { - this.metric = checkNotNull(metric, "metric"); - return this; - } - - /** - * @see org.jclouds.googlecomputeengine.domain.Quota#getUsage() - */ - public Builder usage(Double usage) { - this.usage = usage; - return this; - } - - /** - * @see org.jclouds.googlecomputeengine.domain.Quota#getLimit() - */ - public Builder limit(Double limit) { - this.limit = limit; - return this; - } - - public Quota build() { - return new Quota(metric, usage, limit); - } - - public Builder fromQuota(Quota quota) { - return new Builder().metric(quota.getMetric()).usage(quota.getUsage()).limit(quota.getLimit()); - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Region.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Region.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Region.java deleted file mode 100644 index aa459bf..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Region.java +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.domain; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Date; -import java.util.Set; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableSet; - -/** - * Represents a region resource. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/regions"/> - */ -@Beta -public final class Region extends Resource { - - public enum Status { - UP, - DOWN - } - - private final Status status; - private final Set<URI> zones; - private final Set<Quota> quotas; - - @ConstructorProperties({ - "id", "creationTimestamp", "selfLink", "name", "description", "status", - "zones", "quotas" - }) - private Region(String id, Date creationTimestamp, URI selfLink, String name, String description, - Status status, Set<URI> zones, Set<Quota> quotas) { - super(Kind.REGION, id, creationTimestamp, selfLink, name, description); - this.status = checkNotNull(status, "status of %name", name); - this.zones = zones == null ? ImmutableSet.<URI>of() : ImmutableSet - .copyOf(zones); - this.quotas = quotas == null ? ImmutableSet.<Quota>of() : ImmutableSet.copyOf(quotas); - } - - /** - * @return Status of the region. "UP" or "DOWN". - */ - public Status getStatus() { - return status; - } - - /** - * @return the zones that can be used in this region. - */ - @Nullable - public Set<URI> getZones() { - return zones; - } - - /** - * @return quotas assigned to this project. - */ - public Set<Quota> getQuotas() { - return quotas; - } - - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return super.string() - .add("status", status) - .add("zones", zones) - .add("quotas", quotas); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromRegion(this); - } - - public static final class Builder extends Resource.Builder<Builder> { - - private Status status; - private ImmutableSet.Builder<URI> zones = ImmutableSet.builder(); - private ImmutableSet.Builder<Quota> quotas = ImmutableSet.builder(); - - /** - * @see org.jclouds.googlecomputeengine.domain.Region#getStatus() - */ - public Builder status(Status status) { - this.status = status; - return this; - } - - /** - * @see Region#getZones() - */ - public Builder zone(URI zone) { - this.zones.add(checkNotNull(zone, "zone")); - return this; - } - - /** - * @see Region#getZones() - */ - public Builder zones(Set<URI> zones) { - this.zones.addAll(checkNotNull(zones, "zones")); - return this; - } - - /** - * @see Region#getQuotas() - */ - public Builder addQuota(String metric, double usage, double limit) { - this.quotas.add(Quota.builder().metric(metric).usage(usage).limit(limit).build()); - return this; - } - - /** - * @see Region#getQuotas() - */ - public Builder quotas(Set<Quota> quotas) { - this.quotas.addAll(checkNotNull(quotas)); - return this; - } - - @Override - protected Builder self() { - return this; - } - - public Region build() { - return new Region(super.id, super.creationTimestamp, super.selfLink, super.name, - super.description, status, zones.build(), quotas.build()); - } - - public Builder fromRegion(Region in) { - return super.fromResource(in) - .status(in.getStatus()) - .zones(in.getZones()) - .quotas(in.getQuotas()); - } - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Resource.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Resource.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Resource.java deleted file mode 100644 index 4d0a1c8..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Resource.java +++ /dev/null @@ -1,283 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.domain; - -import static com.google.common.base.Objects.ToStringHelper; -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Optional.fromNullable; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Date; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.annotations.Beta; -import com.google.common.base.CaseFormat; -import com.google.common.base.Joiner; -import com.google.common.base.Objects; -import com.google.common.base.Optional; -import com.google.common.base.Splitter; -import com.google.common.collect.Iterables; - -/** - * Base class for Google Compute Engine resources. - */ -@Beta -public class Resource { - - public enum Kind { - ADDRESS, - ADDRESS_LIST, - DISK, - DISK_LIST, - FIREWALL, - FIREWALL_LIST, - IMAGE, - IMAGE_LIST, - OPERATION, - OPERATION_LIST, - INSTANCE, - INSTANCE_LIST, - MACHINE_TYPE, - MACHINE_TYPE_LIST, - PROJECT, - NETWORK, - NETWORK_LIST, - REGION, - REGION_LIST, - ROUTE, - ROUTE_LIST, - SNAPSHOT, - SNAPSHOT_LIST, - ZONE, - ZONE_LIST; - - public String value() { - return Joiner.on("#").join("compute", CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, name())); - } - - @Override - public String toString() { - return value(); - } - - public static Kind fromValue(String kind) { - return valueOf(CaseFormat.LOWER_CAMEL.to(CaseFormat - .UPPER_UNDERSCORE, - Iterables.getLast(Splitter.on("#").split(checkNotNull(kind, - "kind"))))); - } - } - - protected final Kind kind; - protected final String id; - protected final Optional<Date> creationTimestamp; - protected final URI selfLink; - protected final String name; - protected final Optional<String> description; - - @ConstructorProperties({ - "kind", "id", "creationTimestamp", "selfLink", "name", "description" - }) - protected Resource(Kind kind, String id, Date creationTimestamp, URI selfLink, String name, - String description) { - this.kind = checkNotNull(kind, "kind"); - this.id = checkNotNull(id, "id"); - this.creationTimestamp = fromNullable(creationTimestamp); - this.selfLink = checkNotNull(selfLink, "selfLink"); - this.name = checkNotNull(name, "name"); - this.description = fromNullable(description); - } - - /** - * @return the Type of the resource - */ - public Kind getKind() { - return kind; - } - - /** - * @return unique identifier for the resource; defined by the server. - */ - public String getId() { - return id; - } - - /** - * @return creation timestamp in RFC3339 text format. - */ - public Optional<Date> getCreationTimestamp() { - return creationTimestamp; - } - - /** - * @return server defined URL for the resource. - */ - public URI getSelfLink() { - return selfLink; - } - - /** - * @return name of the resource. - */ - public String getName() { - return name; - } - - /** - * @return an optional textual description of the resource. - */ - @Nullable - public Optional<String> getDescription() { - return description; - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return Objects.hashCode(kind, name); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - Resource that = Resource.class.cast(obj); - return equal(this.kind, that.kind) - && equal(this.name, that.name); - } - - /** - * {@inheritDoc} - */ - protected ToStringHelper string() { - return toStringHelper(this) - .omitNullValues() - .add("kind", kind) - .add("id", id) - .add("name", name) - .add("creationTimestamp", creationTimestamp.orNull()) - .add("selfLink", selfLink) - .add("name", name) - .add("description", description.orNull()); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder<?> builder() { - return new ConcreteBuilder(); - } - - public Builder<?> toBuilder() { - return new ConcreteBuilder().fromResource(this); - } - - public abstract static class Builder<T extends Builder<T>> { - - protected abstract T self(); - - protected Kind kind; - protected String id; - protected Date creationTimestamp; - protected URI selfLink; - protected String name; - protected String description; - - /** - * @see Resource#getKind() - */ - protected T kind(Kind kind) { - this.kind = kind; - return self(); - } - - /** - * @see Resource#getId() - */ - public T id(String id) { - this.id = id; - return self(); - } - - /** - * @see Resource#getCreationTimestamp() - */ - public T creationTimestamp(Date creationTimestamp) { - this.creationTimestamp = creationTimestamp; - return self(); - } - - /** - * @see Resource#getSelfLink() - */ - public T selfLink(URI selfLink) { - this.selfLink = selfLink; - return self(); - } - - /** - * @see Resource#getName() - */ - public T name(String name) { - this.name = name; - return self(); - } - - /** - * @see Resource#getDescription() - */ - public T description(String description) { - this.description = description; - return self(); - } - - public Resource build() { - return new Resource(kind, id, creationTimestamp, selfLink, name, description); - } - - public T fromResource(Resource in) { - return this - .kind(in.getKind()) - .id(in.getId()) - .creationTimestamp(in.getCreationTimestamp().orNull()) - .selfLink(in.getSelfLink()) - .name(in.getName()) - .description(in.getDescription().orNull()); - } - } - - private static class ConcreteBuilder extends Builder<ConcreteBuilder> { - @Override - protected ConcreteBuilder self() { - return this; - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Route.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Route.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Route.java deleted file mode 100644 index df5bb1d..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Route.java +++ /dev/null @@ -1,433 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.domain; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Optional.fromNullable; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Date; -import java.util.Map; -import java.util.Set; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; - -/** - * Represents a route resource. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/routes"/> - */ -@Beta -public final class Route extends Resource { - - private final URI network; - private final Set<String> tags; - private final String destRange; - private final Integer priority; - private final Optional<URI> nextHopInstance; - private final Optional<String> nextHopIp; - private final Optional<URI> nextHopNetwork; - private final Optional<URI> nextHopGateway; - private final Set<Warning> warnings; - - @ConstructorProperties({ - "id", "creationTimestamp", "selfLink", "name", "description", "network", "tags", - "destRange", "priority", "nextHopInstance", "nextHopIp", "nextHopNetwork", - "nextHopGateway", "warnings" - }) - private Route(String id, Date creationTimestamp, URI selfLink, String name, String description, - URI network, Set<String> tags, String destRange, Integer priority, - URI nextHopInstance, String nextHopIp, URI nextHopNetwork, - URI nextHopGateway, Set<Warning> warnings) { - super(Kind.ROUTE, id, creationTimestamp, selfLink, name, description); - this.network = checkNotNull(network, "network for %name", name); - this.tags = tags == null ? ImmutableSet.<String>of() : tags; - this.destRange = checkNotNull(destRange, "destination range for %name", name); - this.priority = checkNotNull(priority, "priority of %name", name); - this.nextHopInstance = fromNullable(nextHopInstance); - this.nextHopIp = fromNullable(nextHopIp); - this.nextHopNetwork = fromNullable(nextHopNetwork); - this.nextHopGateway = fromNullable(nextHopGateway); - this.warnings = warnings == null ? ImmutableSet.<Warning>of() : warnings; - } - - /** - * @return Network for this Route. - */ - public URI getNetwork() { - return network; - } - - /** - * @return The set of instance items to which this route applies. - */ - public Set<String> getTags() { - return tags; - } - - /** - * @return The destination range of outgoing packets that this route applies to. - */ - public String getDestRange() { - return destRange; - } - - /** - * @return The priority of this route. Priority is used to break ties in the case - * where there is more than one matching route of maximum length. A lower value - * is higher priority; a priority of 100 is higher than 200. - */ - public Integer getPriority() { - return priority; - } - - /** - * @return The fully-qualified URL to an instance that should handle matching packets. - */ - public Optional<URI> getNextHopInstance() { - return nextHopInstance; - } - - /** - * @return The network IP address of an instance that should handle matching packets. - */ - public Optional<String> getNextHopIp() { - return nextHopIp; - } - - /** - * @return The URL of the local network if it should handle matching packets. - */ - public Optional<URI> getNextHopNetwork() { - return nextHopNetwork; - } - - /** - * @return The URL to a gateway that should handle matching packets. Currently, this is only the internet gateway. - */ - public Optional<URI> getNextHopGateway() { - return nextHopGateway; - } - - /** - * @return If potential misconfigurations are detected for this route, this field will be populated with warning messages. - */ - public Set<Warning> getWarnings() { - return warnings; - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return super.string() - .add("network", network) - .add("tags", tags) - .add("destRange", destRange) - .add("priority", priority) - .add("nextHopInstance", nextHopInstance.orNull()) - .add("nextHopIp", nextHopIp.orNull()) - .add("nextHopNetwork", nextHopNetwork.orNull()) - .add("nextHopGateway", nextHopGateway.orNull()) - .add("warnings", warnings); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromRoute(this); - } - - public static final class Builder extends Resource.Builder<Builder> { - - private URI network; - private ImmutableSet.Builder<String> tags = ImmutableSet.builder(); - private String destRange; - private Integer priority; - private URI nextHopInstance; - private String nextHopIp; - private URI nextHopNetwork; - private URI nextHopGateway; - private ImmutableSet.Builder<Warning> warnings = ImmutableSet.builder(); - - - /** - * @see Route#getNetwork() - */ - public Builder network(URI network) { - this.network = network; - return this; - } - - /** - * @see Route#getTags() - */ - public Builder addTag(String tag) { - this.tags.add(tag); - return this; - } - - /** - * @see Route#getTags() - */ - public Builder tags(Set<String> tags) { - this.tags.addAll(tags); - return this; - } - - /** - * @see Route#getDestRange() - */ - public Builder destRange(String destRange) { - this.destRange = destRange; - return this; - } - - /** - * @see Route#getPriority() - */ - public Builder priority(Integer priority) { - this.priority = priority; - return this; - } - - /** - * @see Route#getNextHopInstance() - */ - public Builder nextHopInstance(URI nextHopInstance) { - this.nextHopInstance = nextHopInstance; - return this; - } - - /** - * @see Route#getNextHopIp() - */ - public Builder nextHopIp(String nextHopIp) { - this.nextHopIp = nextHopIp; - return this; - } - - /** - * @see Route#getNextHopNetwork() - */ - public Builder nextHopNetwork(URI nextHopNetwork) { - this.nextHopNetwork = nextHopNetwork; - return this; - } - - /** - * @see Route#getNextHopGateway() - */ - public Builder nextHopGateway(URI nextHopGateway) { - this.nextHopGateway = nextHopGateway; - return this; - } - - /** - * @see Route#getWarnings() - */ - public Builder addWarning(Warning warning) { - this.warnings.add(warning); - return this; - } - - /** - * @see Route#getWarnings() - */ - public Builder warnings(Set<Warning> warnings) { - this.warnings.addAll(warnings); - return this; - } - - - @Override - protected Builder self() { - return this; - } - - public Route build() { - return new Route(super.id, super.creationTimestamp, super.selfLink, super.name, - super.description, network, tags.build(), destRange, priority, - nextHopInstance, nextHopIp, nextHopNetwork, nextHopGateway, - warnings.build()); - } - - public Builder fromRoute(Route in) { - return super.fromResource(in) - .network(in.getNetwork()) - .tags(in.getTags()) - .destRange(in.getDestRange()) - .priority(in.getPriority()) - .nextHopInstance(in.getNextHopInstance().orNull()) - .nextHopIp(in.getNextHopIp().orNull()) - .nextHopNetwork(in.getNextHopNetwork().orNull()) - .nextHopGateway(in.getNextHopGateway().orNull()) - .warnings(in.getWarnings()); - } - } - - /** - * If potential misconfigurations are detected for this route, this field will be populated with warning messages. - */ - public static class Warning { - private final String code; - private final Optional<String> message; - private final Map<String, String> data; - - @ConstructorProperties({ - "code", "message", "data" - }) - public Warning(String code, String message, Map<String, String> data) { - this.code = checkNotNull(code, "code"); - this.message = fromNullable(message); - this.data = data == null ? ImmutableMap.<String, String>of() : data; - } - - /** - * @return The warning type identifier for this warning. - */ - public String getCode() { - return code; - } - - /** - * @return Optional human-readable details for this warning. - */ - public Optional<String> getMessage() { - return message; - } - - /** - * @return Metadata for this warning - */ - public Map<String, String> getData() { - return data; - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return Objects.hashCode(code, message, data); - } - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - Warning that = Warning.class.cast(obj); - return equal(this.code, that.code) - && equal(this.message, that.message) - && equal(this.data, that.data); - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return toStringHelper(this) - .add("code", code) - .add("message", message) - .add("data", data); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return builder().fromWarning(this); - } - - public static final class Builder { - private String code; - private String message; - private ImmutableMap.Builder<String, String> data = ImmutableMap.builder(); - - /** - * @see Warning#getCode() - */ - public Builder code(String code) { - this.code = code; - return this; - } - - /** - * @see Warning#getMessage() - */ - public Builder message(String message) { - this.message = message; - return this; - } - - /** - * @see Warning#getData() - */ - public Builder data(Map<String, String> data) { - this.data = new ImmutableMap.Builder<String, String>().putAll(data); - return this; - } - - /** - * @see Warning#getData() - */ - public Builder addData(String key, String value) { - this.data.put(checkNotNull(key, "key"), checkNotNull(value, "value of %s", key)); - return this; - } - - public Warning build() { - return new Warning(code, message, data.build()); - } - - public Builder fromWarning(Warning in) { - return this.code(in.getCode()) - .message(in.getMessage().orNull()) - .data(in.getData()); - } - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/SlashEncodedIds.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/SlashEncodedIds.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/SlashEncodedIds.java deleted file mode 100644 index 0080b29..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/SlashEncodedIds.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.domain; - -import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; - -import com.google.common.base.Objects; -import com.google.common.base.Splitter; -import com.google.common.collect.Iterables; - -public class SlashEncodedIds { - public static SlashEncodedIds fromSlashEncoded(String id) { - Iterable<String> parts = Splitter.on('/').split(checkNotNull(id, "id")); - checkArgument(Iterables.size(parts) == 2, "id must be in format firstId/secondId"); - return new SlashEncodedIds(Iterables.get(parts, 0), Iterables.get(parts, 1)); - } - - public static SlashEncodedIds fromTwoIds(String firstId, String secondId) { - return new SlashEncodedIds(firstId, secondId); - } - - private static String slashEncodeTwoIds(String firstId, String secondId) { - return checkNotNull(firstId, "firstId") + "/" + checkNotNull(secondId, "secondId"); - } - - public String slashEncode() { - return slashEncodeTwoIds(firstId, secondId); - } - - protected final String firstId; - protected final String secondId; - - protected SlashEncodedIds(String firstId, String secondId) { - this.firstId = checkNotNull(firstId, "firstId"); - this.secondId = checkNotNull(secondId, "secondId"); - } - - @Override - public int hashCode() { - return Objects.hashCode(firstId, secondId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - SlashEncodedIds other = (SlashEncodedIds) obj; - return Objects.equal(firstId, other.firstId) && Objects.equal(secondId, other.secondId); - } - - public String getFirstId() { - return firstId; - } - - public String getSecondId() { - return secondId; - } - - @Override - public String toString() { - return "[firstId=" + firstId + ", secondId=" + secondId + "]"; - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Snapshot.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Snapshot.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Snapshot.java deleted file mode 100644 index 69af275..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Snapshot.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.domain; - -import static com.google.common.base.Optional.fromNullable; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Date; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.base.Optional; - -/** - * A Persistent Disk Snapshot resource. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/snapshots"/> - */ -@Beta -public final class Snapshot extends AbstractDisk { - - private final Optional<URI> sourceDisk; - private final String sourceDiskId; - - @ConstructorProperties({ - "id", "creationTimestamp", "selfLink", "name", "description", "diskSizeGb", - "status", "sourceDisk", "sourceDiskId" - }) - private Snapshot(String id, Date creationTimestamp, URI selfLink, String name, String description, - Integer sizeGb, String status, URI sourceDisk, String sourceDiskId) { - super(Kind.SNAPSHOT, id, creationTimestamp, selfLink, name, description, sizeGb, status); - this.sourceDisk = fromNullable(sourceDisk); - this.sourceDiskId = checkNotNull(sourceDiskId, "sourceDiskId of %s", name); - } - - /** - * @return The source disk used to create this snapshot. Once the source disk - * has been deleted from the system, this field will be cleared, and will - * not be set even if a disk with the same name has been re-created (output only). - */ - public Optional<URI> getSourceDisk() { - return sourceDisk; - } - - /** - * @return The ID value of the disk used to create this snapshot. This value - * may be used to determine whether the snapshot was taken from the current - * or a previous instance of a given disk name. - */ - public String getSourceDiskId() { - return sourceDiskId; - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return super.string() - .omitNullValues() - .add("sourceDisk", sourceDisk.orNull()) - .add("sourceDiskId", sourceDiskId); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromSnapshot(this); - } - - public static final class Builder extends AbstractDisk.Builder<Builder> { - - private URI sourceDisk; - private String sourceDiskId; - - /** - * @see Snapshot#getSourceDisk() - */ - public Builder sourceDisk(URI sourceDisk) { - this.sourceDisk = sourceDisk; - return this; - } - - /** - * @see Snapshot#getSourceDiskId() - */ - public Builder sourceDiskId(String sourceDiskId) { - this.sourceDiskId = sourceDiskId; - return this; - } - - @Override - protected Builder self() { - return this; - } - - public Snapshot build() { - return new Snapshot(super.id, super.creationTimestamp, super.selfLink, super.name, - super.description, super.sizeGb, super.status, sourceDisk, sourceDiskId); - } - - public Builder fromSnapshot(Snapshot in) { - return super.fromAbstractDisk(in) - .sourceDisk(in.getSourceDisk().orNull()) - .sourceDiskId(in.getSourceDiskId()); - } - - } - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Zone.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Zone.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Zone.java deleted file mode 100644 index 232386c..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/Zone.java +++ /dev/null @@ -1,334 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.domain; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Optional.fromNullable; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; -import java.net.URI; -import java.util.Date; -import java.util.Set; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.annotations.Beta; -import com.google.common.base.Objects; -import com.google.common.base.Optional; -import com.google.common.collect.ImmutableSet; - -/** - * Represents a zone resource. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/zones"/> - */ -@Beta -public final class Zone extends Resource { - - public enum Status { - UP, - DOWN - } - - private final Status status; - private final Set<MaintenanceWindow> maintenanceWindows; - private final Set<String> availableMachineTypes; - - @ConstructorProperties({ - "id", "creationTimestamp", "selfLink", "name", "description", "status", "maintenanceWindows", - "availableMachineTypes" - }) - private Zone(String id, Date creationTimestamp, URI selfLink, String name, String description, - Status status, Set<MaintenanceWindow> maintenanceWindows, Set<String> availableMachineTypes) { - super(Kind.ZONE, id, creationTimestamp, selfLink, name, description); - this.status = checkNotNull(status, "status of %name", name); - this.maintenanceWindows = maintenanceWindows == null ? ImmutableSet.<MaintenanceWindow>of() : ImmutableSet - .copyOf(maintenanceWindows); - this.availableMachineTypes = availableMachineTypes == null ? ImmutableSet.<String>of() : ImmutableSet - .copyOf(availableMachineTypes); - } - - /** - * @return Status of the zone. "UP" or "DOWN". - */ - public Status getStatus() { - return status; - } - - /** - * @return scheduled maintenance windows for the zone. When the zone is in a maintenance window, - * all resources which reside in the zone will be unavailable. - */ - public Set<MaintenanceWindow> getMaintenanceWindows() { - return maintenanceWindows; - } - - /** - * @return the machine types that can be used in this zone. - */ - @Nullable - public Set<String> getAvailableMachineTypes() { - return availableMachineTypes; - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return super.string() - .add("status", status) - .add("maintenanceWindows", maintenanceWindows) - .add("availableMachineTypes", availableMachineTypes); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return new Builder().fromZone(this); - } - - public static final class Builder extends Resource.Builder<Builder> { - - private Status status; - private ImmutableSet.Builder<MaintenanceWindow> maintenanceWindows = ImmutableSet.builder(); - private ImmutableSet.Builder<String> availableMachineTypes = ImmutableSet.builder(); - - /** - * @see Zone#getStatus() - */ - public Builder status(Status status) { - this.status = status; - return this; - } - - /** - * @see Zone#getMaintenanceWindows() - */ - public Builder addMaintenanceWindow(MaintenanceWindow maintenanceWindow) { - this.maintenanceWindows.add(checkNotNull(maintenanceWindow, "maintenanceWindow")); - return this; - } - - /** - * @see Zone#getMaintenanceWindows() - */ - public Builder maintenanceWindows(Set<MaintenanceWindow> maintenanceWindows) { - this.maintenanceWindows.addAll(checkNotNull(maintenanceWindows, "maintenanceWindows")); - return this; - } - - /** - * @see Zone#getAvailableMachineTypes() - */ - public Builder addAvailableMachineType(String availableMachineType) { - this.availableMachineTypes.add(checkNotNull(availableMachineType, "availableMachineType")); - return this; - } - - /** - * @see Zone#getAvailableMachineTypes() - */ - public Builder availableMachineTypes(Set<String> availableMachineTypes) { - this.availableMachineTypes.addAll(checkNotNull(availableMachineTypes, "availableMachineTypes")); - return this; - } - - @Override - protected Builder self() { - return this; - } - - public Zone build() { - return new Zone(super.id, super.creationTimestamp, super.selfLink, super.name, - super.description, status, maintenanceWindows.build(), availableMachineTypes.build()); - } - - public Builder fromZone(Zone in) { - return super.fromResource(in) - .status(in.getStatus()) - .maintenanceWindows(in.getMaintenanceWindows()) - .availableMachineTypes(in.getAvailableMachineTypes()); - } - } - - /** - * Scheduled maintenance windows for the zone. When the zone is in a maintenance window, - * all resources which reside in the zone will be unavailable. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/zones"/> - */ - public static final class MaintenanceWindow { - - private final String name; - private final Optional<String> description; - private final Date beginTime; - private final Date endTime; - - @ConstructorProperties({ - "name", "description", "beginTime", "endTime" - }) - private MaintenanceWindow(String name, String description, Date beginTime, Date endTime) { - this.name = checkNotNull(name, "name"); - this.description = fromNullable(description); - this.beginTime = checkNotNull(beginTime, "beginTime of %name", name); - this.endTime = checkNotNull(endTime, "endTime of %name", name); - } - - /** - * @return name of the maintenance window. - */ - public String getName() { - return name; - } - - /** - * @return textual description of the maintenance window. - */ - public Optional<String> getDescription() { - return description; - } - - /** - * @return begin time of the maintenance window. - */ - public Date getBeginTime() { - return beginTime; - } - - /** - * @return end time of the maintenance window. - */ - public Date getEndTime() { - return endTime; - } - - /** - * {@inheritDoc} - */ - @Override - public int hashCode() { - return Objects.hashCode(name, description, beginTime, endTime); - } - - - /** - * {@inheritDoc} - */ - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - MaintenanceWindow that = MaintenanceWindow.class.cast(obj); - return equal(this.name, that.name) - && equal(this.beginTime, that.beginTime) - && equal(this.endTime, that.endTime); - } - - /** - * {@inheritDoc} - */ - protected Objects.ToStringHelper string() { - return toStringHelper(this) - .omitNullValues() - .add("name", name) - .add("description", description.orNull()) - .add("beginTime", beginTime) - .add("endTime", endTime); - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return string().toString(); - } - - public static Builder builder() { - return new Builder(); - } - - public Builder toBuilder() { - return builder().fromZoneMaintenanceWindow(this); - } - - public static final class Builder { - - private String name; - private String description; - private Date beginTime; - private Date endTime; - - /** - * @see org.jclouds.googlecomputeengine.domain.Zone.MaintenanceWindow#getName() - */ - public Builder name(String name) { - this.name = name; - return this; - } - - /** - * @see org.jclouds.googlecomputeengine.domain.Zone.MaintenanceWindow#getDescription() - */ - public Builder description(String description) { - this.description = description; - return this; - } - - /** - * @see org.jclouds.googlecomputeengine.domain.Zone.MaintenanceWindow#getBeginTime() - */ - public Builder beginTime(Date beginTime) { - this.beginTime = beginTime; - return this; - } - - /** - * @see org.jclouds.googlecomputeengine.domain.Zone.MaintenanceWindow#getEndTime() - */ - public Builder endTime(Date endTime) { - this.endTime = endTime; - return this; - } - - - public MaintenanceWindow build() { - return new MaintenanceWindow(name, description, beginTime, endTime); - } - - public Builder fromZoneMaintenanceWindow(MaintenanceWindow in) { - return new Builder() - .name(in.getName()) - .description(in.getDescription().orNull()) - .beginTime(in.getBeginTime()) - .endTime(in.getEndTime()); - } - } - } -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/internal/NetworkAndAddressRange.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/internal/NetworkAndAddressRange.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/internal/NetworkAndAddressRange.java deleted file mode 100644 index 66fbd66..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/domain/internal/NetworkAndAddressRange.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.domain.internal; - -import static com.google.common.base.Objects.equal; -import static com.google.common.base.Objects.toStringHelper; -import static com.google.common.base.Optional.fromNullable; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.beans.ConstructorProperties; - -import org.jclouds.javax.annotation.Nullable; - -import com.google.common.base.Objects; -import com.google.common.base.Objects.ToStringHelper; -import com.google.common.base.Optional; - -/** - * Container for network, IPv4 range and optional gateway, for creation caching - */ -public class NetworkAndAddressRange { - protected final String name; - protected final String ipV4Range; - protected final Optional<String> gateway; - - @ConstructorProperties({ - "name", "ipV4Range", "gateway" - }) - public NetworkAndAddressRange(String name, String ipV4Range, @Nullable String gateway) { - this.name = checkNotNull(name, "name"); - this.ipV4Range = checkNotNull(ipV4Range, "ipV4Range"); - this.gateway = fromNullable(gateway); - } - - public String getName() { - return name; - } - - public String getIpV4Range() { - return ipV4Range; - } - - @Nullable - public Optional<String> getGateway() { - return gateway; - } - - @Override - public int hashCode() { - // We only do hashcode/equals on name. - // the ip v4 range and gateway are included for creation rather than caching. - return Objects.hashCode(name); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null || getClass() != obj.getClass()) return false; - NetworkAndAddressRange that = NetworkAndAddressRange.class.cast(obj); - return equal(this.name, that.name); - } - - protected ToStringHelper string() { - return toStringHelper(this) - .omitNullValues() - .add("name", name) - .add("ipV4Range", ipV4Range) - .add("gateway", gateway.orNull()); - } - - @Override - public String toString() { - return string().toString(); - } - - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/AddressApi.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/AddressApi.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/AddressApi.java deleted file mode 100644 index d363715..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/AddressApi.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.features; - -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE; -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE; - -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -import org.jclouds.Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404; -import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.collect.PagedIterable; -import org.jclouds.googlecomputeengine.domain.Address; -import org.jclouds.googlecomputeengine.domain.ListPage; -import org.jclouds.googlecomputeengine.domain.Operation; -import org.jclouds.googlecomputeengine.functions.internal.ParseAddresses; -import org.jclouds.googlecomputeengine.options.ListOptions; -import org.jclouds.javax.annotation.Nullable; -import org.jclouds.oauth.v2.config.OAuthScopes; -import org.jclouds.oauth.v2.filters.OAuthAuthenticationFilter; -import org.jclouds.rest.annotations.Fallback; -import org.jclouds.rest.annotations.MapBinder; -import org.jclouds.rest.annotations.PayloadParam; -import org.jclouds.rest.annotations.RequestFilters; -import org.jclouds.rest.annotations.ResponseParser; -import org.jclouds.rest.annotations.SkipEncoding; -import org.jclouds.rest.annotations.Transform; -import org.jclouds.rest.binders.BindToJsonPayload; - -/** - * Provides access to Addresses via their REST API. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/addresses"/> - */ -@SkipEncoding({'/', '='}) -@RequestFilters(OAuthAuthenticationFilter.class) -public interface AddressApi { - - /** - * Returns the specified address resource. - * - * @param region Name of the region the address is in. - * @param addressName name of the address resource to return. - * @return a Address resource. - */ - @Named("Addresss:get") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/regions/{region}/addresses/{address}") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @Nullable - Address getInRegion(@PathParam("region") String region, @PathParam("address") String addressName); - - /** - * Creates a address resource in the specified project specifying the size of the address. - * - * - * @param region the name of the region where the address is to be created. - * @param addressName the name of address. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Addresss:insert") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Path("/regions/{region}/addresses") - @OAuthScopes({COMPUTE_SCOPE}) - @MapBinder(BindToJsonPayload.class) - Operation createInRegion(@PathParam("region") String region, @PayloadParam("name") String addressName); - - /** - * Deletes the specified address resource. - * - * @param region the region the address is in. - * @param addressName name of the address resource to delete. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Addresss:delete") - @DELETE - @Consumes(MediaType.APPLICATION_JSON) - @Path("/regions/{region}/addresses/{address}") - @OAuthScopes(COMPUTE_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @Nullable - Operation deleteInRegion(@PathParam("region") String region, @PathParam("address") String addressName); - - /** - * @see org.jclouds.googlecomputeengine.features.AddressApi#listAtMarkerInRegion(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Addresss:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/regions/{region}/addresses") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseAddresses.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Address> listFirstPageInRegion(@PathParam("region") String region); - - /** - * @see org.jclouds.googlecomputeengine.features.AddressApi#listAtMarkerInRegion(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Addresss:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/regions/{region}/addresses") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseAddresses.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Address> listAtMarkerInRegion(@PathParam("region") String region, @QueryParam("pageToken") @Nullable String marker); - - /** - * Retrieves the listPage of address resources contained within the specified project and region. - * By default the listPage as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() has - * not been set. - * - * @param region the region to search in - * @param marker marks the beginning of the next list page - * @param listOptions listing options - * @return a page of the listPage - * @see org.jclouds.googlecomputeengine.options.ListOptions - * @see org.jclouds.googlecomputeengine.domain.ListPage - */ - @Named("Addresss:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/regions/{region}/addresses") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseAddresses.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Address> listAtMarkerInRegion(@PathParam("region") String region, @QueryParam("pageToken") @Nullable String marker, ListOptions listOptions); - - /** - * A paged version of AddressApi#listPageInRegion(String) - * - * @param region the region to list in - * @return a Paged, Fluent Iterable that is able to fetch additional pages when required - * @see org.jclouds.collect.PagedIterable - * @see org.jclouds.googlecomputeengine.features.AddressApi#listAtMarkerInRegion(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Addresss:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/regions/{region}/addresses") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseAddresses.class) - @Transform(ParseAddresses.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Address> listInRegion(@PathParam("region") String region); - - @Named("Addresss:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/regions/{region}/addresses") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseAddresses.class) - @Transform(ParseAddresses.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Address> listInRegion(@PathParam("region") String region, ListOptions options); - -}
