You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ad...@apache.org on 2014/11/20 02:39:40 UTC
[11/12] jclouds-labs-google git commit: l7 Cont: Removed ResourceView,
Converted to AutoValue and updated.
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/d147afdc/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/UrlMap.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/UrlMap.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/UrlMap.java
index ec2ecd7..79a7993 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/UrlMap.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/UrlMap.java
@@ -16,810 +16,110 @@
*/
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 java.util.List;
import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.json.SerializedNames;
-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 url map resource.
- *
- * @see <a href="https://developers.google.com/compute/docs/reference/latest/urlMaps"/>
- * @see <a href="https://developers.google.com/compute/docs/load-balancing/http/url-map"/>
- */
-@Beta
-public final class UrlMap extends Resource {
-
- private final Set<HostRule> hostRules;
- private final Set<PathMatcher> pathMatchers;
- private final Set<UrlMapTest> urlMapTests;
- private final URI defaultService;
- private final Optional<String> fingerprint;
-
- @ConstructorProperties({
- "id", "creationTimestamp", "selfLink", "name", "description", "hostRules","pathMatchers",
- "tests", "defaultService", "fingerprint"
- })
- protected UrlMap(String id, Date creationTimestamp, URI selfLink, String name,
- @Nullable String description, @Nullable Set<HostRule> hostRules,
- @Nullable Set<PathMatcher> pathMatchers,
- @Nullable Set<UrlMapTest> urlMapTests, URI defaultService,
- @Nullable String fingerprint) {
- super(Kind.URL_MAP, id, creationTimestamp, selfLink, name, description);
- this.defaultService = checkNotNull(defaultService, "default service");
- this.pathMatchers = pathMatchers == null ? ImmutableSet.<PathMatcher>of() : pathMatchers;
- this.urlMapTests = urlMapTests == null ? ImmutableSet.<UrlMapTest>of() : urlMapTests;
- this.hostRules = hostRules == null ? ImmutableSet.<HostRule>of() : hostRules;
- this.fingerprint = fromNullable(fingerprint);
- }
-
- /**
- * @return the hostRules for this urlMap.
- */
- public Set<HostRule> getHostRules() {
- return hostRules;
- }
-
- /**
- * @return the pathMatchers for this urlMap.
- */
- public Set<PathMatcher> getPathMatchers() {
- return pathMatchers;
- }
-
- /**
- * @return the tests for this urlMap.
- */
- public Set<UrlMapTest> getTests() {
- return urlMapTests;
- }
-
- /**
- * @return the defaultService for this urlMap.
- */
- public URI getDefaultService() {
- return defaultService;
- }
-
- /**
- * @return the fingerprint for this urlMap.
- */
- public Optional<String> getFingerprint() {
- return fingerprint;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public int hashCode() {
- return Objects.hashCode(name, kind, hostRules, pathMatchers, urlMapTests,
- defaultService);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (obj == null || getClass() != obj.getClass()) return false;
- UrlMap that = UrlMap.class.cast(obj);
- return equal(this.name, that.name)
- && equal(this.kind, that.kind)
- && equal(this.hostRules, that.hostRules)
- && equal(this.pathMatchers, that.pathMatchers)
- && equal(this.urlMapTests, that.urlMapTests)
- && equal(this.defaultService, that.defaultService);
- }
-
- /**
- * {@inheritDoc}
- */
- protected Objects.ToStringHelper string() {
- return super.string()
- .omitNullValues()
- .add("hostRules", hostRules)
- .add("pathMatchers", pathMatchers)
- .add("tests", urlMapTests)
- .add("defaultService", defaultService)
- .add("fingerprint", fingerprint.orNull());
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public String toString() {
- return string().toString();
- }
-
- public static Builder builder() {
- return new Builder();
- }
-
- public Builder toBuilder() {
- return new Builder().fromUrlMap(this);
- }
-
- public static final class Builder extends Resource.Builder<Builder> {
+import com.google.auto.value.AutoValue;
- private ImmutableSet.Builder<HostRule> hostRules = ImmutableSet.builder();
- private ImmutableSet.Builder<PathMatcher> pathMatchers = ImmutableSet.builder();
- private ImmutableSet.Builder<UrlMapTest> urlMapTests = ImmutableSet.builder();
- private URI defaultService;
- private String fingerprint;
-
- /**
- * @see UrlMap#getHostRules()
- */
- public Builder addHostRule(HostRule hostRule) {
- this.hostRules.add(checkNotNull(hostRule, "hostRule"));
- return this;
- }
-
- /**
- * @see UrlMap#getHostRules()
- */
- public Builder hostRules(Set<HostRule> hostRules) {
- this.hostRules = ImmutableSet.builder();
- this.hostRules.addAll(hostRules);
- return this;
- }
-
- /**
- * @see UrlMap#getPathMatchers()
- */
- public Builder addPathMatcher(PathMatcher pathMatcher) {
- this.pathMatchers.add(checkNotNull(pathMatcher, "pathMatcher"));
- return this;
- }
-
- /**
- * @see UrlMap#getPathMatchers()
- */
- public Builder pathMatchers(Set<PathMatcher> pathMatchers) {
- this.pathMatchers = ImmutableSet.builder();
- this.pathMatchers.addAll(pathMatchers);
- return this;
- }
-
- /**
- * @see UrlMap#getTests()
- */
- public Builder addUrlMapTest(UrlMapTest urlMapTest) {
- this.urlMapTests.add(checkNotNull(urlMapTest, "test"));
- return this;
- }
-
- /**
- * @see UrlMap#getTests()
- */
- public Builder urlMapTests(Set<UrlMapTest> urlMapTests) {
- this.urlMapTests = ImmutableSet.builder();
- this.urlMapTests.addAll(urlMapTests);
- return this;
- }
-
- /**
- * @see UrlMap#getDefaultService()
- */
- public Builder defaultService(URI defaultService) {
- this.defaultService = defaultService;
- return this;
- }
-
- /**
- * @see UrlMap#getFingerprint()
- */
- public Builder fingerprint(String fingerprint) {
- this.fingerprint = fingerprint;
- return this;
- }
-
- @Override
- protected Builder self() {
- return this;
- }
-
- public UrlMap build() {
- return new UrlMap(super.id, super.creationTimestamp, super.selfLink, super.name,
- super.description, hostRules.build(), pathMatchers.build(), urlMapTests.build(),
- defaultService, fingerprint);
- }
-
- public Builder fromUrlMap(UrlMap in) {
- return super.fromResource(in).hostRules(in.getHostRules()).pathMatchers(in.getPathMatchers())
- .urlMapTests(in .getTests()).defaultService(in.getDefaultService())
- .fingerprint(in.getFingerprint().orNull());
- }
-
- }
+@AutoValue
+public abstract class UrlMap {
/**
* An urlMap hostRule used to filter requests based on hostname. Controls what traffic is sent to
* which path matcher.
- *
- * @see <a href="https://developers.google.com/compute/docs/reference/latest/urlMaps"/>
- * @see <a href="https://developers.google.com/compute/docs/load-balancing/http/url-map#adding_host_rules"/>
*/
- public static final class HostRule {
-
- private final Optional<String> description;
- private final Set<String> hosts;
- private final String pathMatcher;
-
- @ConstructorProperties({
- "description", "hosts", "pathMatcher"
- })
- private HostRule(@Nullable String description, @Nullable Set<String> hosts,
- @Nullable String pathMatcher) {
- this.pathMatcher = checkNotNull(pathMatcher, "pathMatcher");
- this.hosts = hosts == null ? ImmutableSet.<String>of() : hosts;
- this.description = fromNullable(description);
- }
-
- /**
- * @return the description.
- */
- public Optional<String> getDescription() {
- return description;
- }
-
- /**
- * @return the hosts.
- */
- public Set<String> getHosts() {
- return hosts;
- }
-
- /**
- * @return the pathMatcher this hostRule uses.
- */
- public String getPathMatcher() {
- return pathMatcher;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public int hashCode() {
- return Objects.hashCode(hosts, pathMatcher);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (obj == null || getClass() != obj.getClass()) return false;
- HostRule that = HostRule.class.cast(obj);
- return equal(this.hosts, that.hosts)
- && equal(this.pathMatcher, that.pathMatcher);
- }
+ @AutoValue
+ public abstract static class HostRule {
+ @Nullable public abstract String description();
+ public abstract List<String> hosts();
+ public abstract String pathMatcher();
- /**
- * {@inheritDoc}
- */
- public Objects.ToStringHelper string() {
- return toStringHelper(this)
- .omitNullValues()
- .add("hosts", hosts)
- .add("pathMatcher", pathMatcher);
- }
+ @SerializedNames({ "description", "hosts", "pathMatcher" })
+ public static HostRule create(String description, List<String> hosts,
+ String pathMatcher) {
+ return new AutoValue_UrlMap_HostRule(description, hosts, pathMatcher);
+ }
- /**
- * {@inheritDoc}
- */
- @Override
- public String toString() {
- return string().toString();
+ HostRule(){
}
+ }
- public static Builder builder() {
- return new Builder();
- }
-
- public Builder toBuilder() {
- return builder().fromHostRule(this);
- }
-
- public static final class Builder {
-
- private String description;
- private ImmutableSet.Builder<String> hosts = ImmutableSet.<String>builder();
- private String pathMatcher;
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.HostRule#getDescription()
- */
- public Builder description(String description) {
- this.description = description;
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.HostRule#getHosts()
- */
- public Builder addHost(String host) {
- this.hosts.add(checkNotNull(host, "host"));
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.HostRule#getHosts()
- */
- public Builder hosts(Set<String> hosts) {
- this.hosts = ImmutableSet.builder();
- this.hosts.addAll(hosts);
- return this;
- }
+ @AutoValue
+ public abstract static class PathMatcher {
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.HostRule#getPathMatcher()
- */
- public Builder pathMatcher(String pathMatcher) {
- this.pathMatcher = pathMatcher;
- return this;
- }
+ @AutoValue
+ public abstract static class PathRule{
+ public abstract List<String> paths();
+ public abstract URI service();
- public HostRule build() {
- return new HostRule(description, hosts.build(), pathMatcher);
+ @SerializedNames({"paths", "service"})
+ public static PathRule create(List<String> paths, URI service) {
+ return new AutoValue_UrlMap_PathMatcher_PathRule(paths, service);
}
- public Builder fromHostRule(HostRule hostRule) {
- return new Builder().description(hostRule.getDescription().orNull())
- .hosts(hostRule.getHosts())
- .pathMatcher(hostRule.getPathMatcher());
+ PathRule(){
}
}
- }
-
- /**
- * An urlMap PathMatcher used to route requests based on the url given.
- *
- * @see <a href="https://developers.google.com/compute/docs/reference/latest/urlMaps"/>
- * @see <a href="https://developers.google.com/compute/docs/load-balancing/http/url-map#adding_path_matchers"/>
- */
- public static final class PathMatcher {
-
- private final String name;
- private final Optional<String> description;
- private final URI defaultService;
- private final Set<PathRule> pathRules;
-
- @ConstructorProperties({
- "name", "description", "defaultService", "pathRules"
- })
- private PathMatcher(String name, @Nullable String description,
- URI defaultService, @Nullable Set<PathRule> pathRules) {
- this.name = checkNotNull(name, "name");
- this.description = fromNullable(description);
- this.defaultService = checkNotNull(defaultService, "defaultService");
- this.pathRules = pathRules == null ? ImmutableSet.<PathRule>of() : pathRules;
- }
-
- /**
- * @return the name.
- */
- public String getName() {
- return name;
- }
+ public abstract String name();
+ @Nullable public abstract String description();
+ public abstract URI defaultService();
+ public abstract List<PathRule> pathRules();
- /**
- * @return the description.
- */
- public Optional<String> getDescription() {
- return description;
+ @SerializedNames({ "name", "description", "defaultService", "pathRules" })
+ public static PathMatcher create(String name, @Nullable String description,
+ URI defaultService, @Nullable List<PathRule> pathRules) {
+ return new AutoValue_UrlMap_PathMatcher(name, description, defaultService, pathRules);
}
- /**
- * @return the defaultService this PathMatcher will send unmatched traffic to.
- */
- public URI getDefaultService() {
- return defaultService;
+ PathMatcher(){
}
-
- /**
- * @return the pathRules this PathMatcher compares requests against.
- */
- public Set<PathRule> getPathRules() {
- return pathRules;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public int hashCode() {
- return Objects.hashCode(name, defaultService, pathRules);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (obj == null || getClass() != obj.getClass()) return false;
- PathMatcher that = PathMatcher.class.cast(obj);
- return equal(this.name, that.name)
- && equal(this.defaultService, that.defaultService)
- && equal(this.pathRules, that.pathRules);
- }
-
- /**
- * {@inheritDoc}
- */
- public Objects.ToStringHelper string() {
- return toStringHelper(this)
- .omitNullValues()
- .add("name", name)
- .add("defaultService", defaultService)
- .add("pathRules", pathRules);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public String toString() {
- return string().toString();
- }
-
- public static Builder builder() {
- return new Builder();
- }
-
- public Builder toBuilder() {
- return builder().fromPathMatcher(this);
- }
-
- public static final class Builder {
-
- private String name;
- private String description;
- private URI defaultService;
- private ImmutableSet.Builder<PathRule> pathRules = ImmutableSet.<PathRule>builder();
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.PathMatcher#getName()
- */
- public Builder name(String name) {
- this.name = name;
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.PathMatcher#getDescription()
- */
- public Builder description(String description) {
- this.description = description;
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.PathMatcher#getDefaultService()
- */
- public Builder defaultService(URI defaultService) {
- this.defaultService = defaultService;
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.PathMatcher#getPathRules()
- */
- public Builder addPathRule(PathRule pathRule) {
- this.pathRules.add(checkNotNull(pathRule, "pathRule"));
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.PathMatcher#getPathRules()
- */
- public Builder pathRules(Set<PathRule> pathRules) {
- this.pathRules = ImmutableSet.builder();
- this.pathRules.addAll(pathRules);
- return this;
- }
-
- public PathMatcher build() {
- return new PathMatcher(name, description, defaultService, pathRules.build());
- }
-
- public Builder fromPathMatcher(PathMatcher pathMatcher) {
- return new Builder().name(pathMatcher.getName())
- .description(pathMatcher.getDescription().orNull())
- .defaultService(pathMatcher.getDefaultService())
- .pathRules(pathMatcher.getPathRules());
- }
- }
-
}
-
- /**
- * An urlMap PathRule used to route requests based on the url given.
- *
- * @see <a href="https://developers.google.com/compute/docs/reference/latest/urlMaps"/>
- * @see <a href="https://developers.google.com/compute/docs/load-balancing/http/url-map#adding_path_matchers"/>
- */
- public static final class PathRule {
-
- private final Set<String> paths;
- private final URI service;
-
- @ConstructorProperties({
- "paths", "service"
- })
- private PathRule(Set<String> paths, URI service) {
- this.paths = checkNotNull(paths, "paths");
- this.service = checkNotNull(service, "service");
- }
- /**
- * @return the paths this PathRule compares requests against.
- */
- public Set<String> getPaths() {
- return paths;
- }
+ @AutoValue
+ public abstract static class UrlMapTest{
- /**
- * @return the service requests will be routed to if they match a path.
- */
- public URI getService() {
- return service;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public int hashCode() {
- return Objects.hashCode(paths, service);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (obj == null || getClass() != obj.getClass()) return false;
- PathRule that = PathRule.class.cast(obj);
- return equal(this.paths, that.paths)
- && equal(this.service, that.service);
- }
-
- /**
- * {@inheritDoc}
- */
- public Objects.ToStringHelper string() {
- return toStringHelper(this)
- .omitNullValues()
- .add("paths", paths)
- .add("service", service);
- }
+ @Nullable public abstract String description();
+ public abstract String host();
+ public abstract String path();
+ public abstract URI service();
- /**
- * {@inheritDoc}
- */
- @Override
- public String toString() {
- return string().toString();
+ @SerializedNames({"description", "host", "path", "service"})
+ public static UrlMapTest create(@Nullable String description, String host, String path, URI service) {
+ return new AutoValue_UrlMap_UrlMapTest(description, host, path, service);
}
-
- public static Builder builder() {
- return new Builder();
- }
-
- public Builder toBuilder() {
- return builder().fromPathRule(this);
- }
-
- public static final class Builder {
-
- private ImmutableSet.Builder<String> paths = ImmutableSet.<String>builder();
- private URI service;
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.PathRule#getPaths()
- */
- public Builder addPath(String path) {
- this.paths.add(checkNotNull(path, "path"));
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.PathRule#getPaths()
- */
- public Builder paths(Set<String> paths) {
- this.paths = ImmutableSet.builder();
- this.paths.addAll(paths);
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.PathRule#getService()
- */
- public Builder service(URI service) {
- this.service = service;
- return this;
- }
-
- public PathRule build() {
- return new PathRule(paths.build(), service);
- }
-
- public Builder fromPathRule(PathRule pathRule) {
- return new Builder().paths(pathRule.getPaths()).service(pathRule.getService());
- }
+ UrlMapTest(){
}
}
-
- /**
- * An urlMap Test which validates that host rules and path rules behave as they should.
- *
- * @see <a href="https://developers.google.com/compute/docs/reference/latest/urlMaps"/>
- * @see <a href="https://developers.google.com/compute/docs/load-balancing/http/url-map#testing_url_maps"/>
- */
- public static final class UrlMapTest {
-
- private final Optional<String> description;
- private final String host;
- private final String path;
- private final URI service;
-
- @ConstructorProperties({
- "description", "host", "path", "service"
- })
- private UrlMapTest(@Nullable String description, String host, String path, URI service) {
- this.description = fromNullable(description);
- this.host = checkNotNull(host, "host");
- this.path = checkNotNull(path, "path");
- this.service = checkNotNull(service, "service");
- }
-
- /**
- * @return description of this test.
- */
- public Optional<String> getDescription() {
- return description;
- }
- /**
- * @return the host used in the test request.
- */
- public String getHost() {
- return host;
- }
-
- /**
- * @return the path used in the test request.
- */
- public String getPath() {
- return path;
- }
-
- /**
- * @return the service that the request should map to.
- */
- public URI getService() {
- return service;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public int hashCode() {
- return Objects.hashCode(host, path, service);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (obj == null || getClass() != obj.getClass()) return false;
- UrlMapTest that = UrlMapTest.class.cast(obj);
- return equal(this.host, that.host)
- && equal(this.path, that.path)
- && equal(this.service, that.service);
- }
+ public abstract String id();
+ public abstract Date creationTimestamp();
+ public abstract URI selfLink();
+ public abstract String name();
+ @Nullable public abstract String description();
+ @Nullable public abstract List<HostRule> hostRules();
+ @Nullable public abstract List<PathMatcher> pathMatchers();
+ @Nullable public abstract List<UrlMapTest> urlMapTests();
+ public abstract URI defaultService();
+ public abstract String fingerprint();
- /**
- * {@inheritDoc}
- */
- public Objects.ToStringHelper string() {
- return toStringHelper(this)
- .omitNullValues()
- .add("description", description.orNull())
- .add("host", host)
- .add("path", path)
- .add("service", service);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public String toString() {
- return string().toString();
- }
-
- public static Builder builder() {
- return new Builder();
- }
- public Builder toBuilder() {
- return builder().fromTest(this);
- }
+ @SerializedNames({
+ "id", "creationTimestamp", "selfLink", "name", "description", "hostRules", "pathMatchers",
+ "tests", "defaultService", "fingerprint"})
+ public static UrlMap create (String id, Date creationTimestamp, URI selfLink, String name,
+ @Nullable String description, @Nullable List<HostRule> hostRules,
+ @Nullable List<PathMatcher> pathMatchers,
+ @Nullable List<UrlMapTest> urlMapTests, URI defaultService,
+ @Nullable String fingerprint) {
+ return new AutoValue_UrlMap(id, creationTimestamp, selfLink, name, description, hostRules, pathMatchers,
+ urlMapTests, defaultService, fingerprint);
+ }
- public static final class Builder {
-
- private String description;
- private String host;
- private String path;
- private URI service;
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.UrlMapTest#getDesciption()
- */
- public Builder description(String description) {
- this.description = description;
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.UrlMapTest#getHost()
- */
- public Builder host(String host) {
- this.host = host;
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.UrlMapTest#getPath()
- */
- public Builder path(String path) {
- this.path = path;
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMap.UrlMapTest#getService()
- */
- public Builder service(URI service) {
- this.service = service;
- return this;
- }
-
- public UrlMapTest build() {
- return new UrlMapTest(description, host, path, service);
- }
-
- public Builder fromTest(UrlMapTest urlMapTest) {
- return new Builder().description(urlMapTest.getDescription().orNull())
- .host(urlMapTest.getHost())
- .path(urlMapTest.getPath())
- .service(urlMapTest.getService());
- }
- }
+ UrlMap(){
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/d147afdc/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/UrlMapValidateResult.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/UrlMapValidateResult.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/UrlMapValidateResult.java
index 2d349c2..a33e7d0 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/UrlMapValidateResult.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/domain/UrlMapValidateResult.java
@@ -16,330 +16,69 @@
*/
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.Set;
+import java.util.List;
import org.jclouds.javax.annotation.Nullable;
+import org.jclouds.json.SerializedNames;
-import com.google.common.base.Objects;
-import com.google.common.base.Optional;
-import com.google.common.collect.ImmutableSet;
+import com.google.auto.value.AutoValue;
-/**
- * Result of calling validate on an UrlMap resource.
- *
- * @see <a href="https://developers.google.com/compute/docs/reference/latest/urlMaps/validate"/>
- */
-public class UrlMapValidateResult {
-
- private final Boolean loadSucceeded;
- private final Set<String> loadErrors;
- private final Optional<Boolean> testPassed;
- private final Set<TestFailure> testFailures;
-
- @ConstructorProperties({
- "loadSucceeded", "loadErrors", "testPassed", "testFailures"
- })
- private UrlMapValidateResult(Boolean loadSucceeded, @Nullable Set<String> loadErrors,
- @Nullable Boolean testPassed,
- @Nullable Set<TestFailure> testFailures) {
- this.loadSucceeded = loadSucceeded;
- this.loadErrors = loadErrors == null ? ImmutableSet.<String>of() : loadErrors;
- this.testPassed = fromNullable(testPassed);
- this.testFailures = testFailures == null ? ImmutableSet.<TestFailure>of() : testFailures;
- }
-
- /**
- * @return if the loadSucceeded.
- */
- public Boolean getLoadSucceeded() {
- return loadSucceeded;
- }
+@AutoValue
+public abstract class UrlMapValidateResult {
- /**
- * @return the loadErrors.
- */
- public Set<String> getLoadErrors() {
- return loadErrors;
- }
+ public abstract UrlMapValidateResultInternal result();
- /**
- * @return if the testPassed.
- */
- public Optional<Boolean> getTestPassed() {
- return testPassed;
+ @SerializedNames({"result"})
+ public static UrlMapValidateResult create(UrlMapValidateResultInternal result){
+ return new AutoValue_UrlMapValidateResult(result);
}
- /**
- * @return the testFailures.
- */
- public Set<TestFailure> getTestFailures() {
- return testFailures;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public int hashCode() {
- return Objects.hashCode(loadSucceeded, loadErrors, testPassed,
- testFailures);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (obj == null || getClass() != obj.getClass()) return false;
- UrlMapValidateResult that = UrlMapValidateResult.class.cast(obj);
- return equal(this.loadSucceeded, that.loadSucceeded)
- && equal(this.loadErrors, that.loadErrors)
- && equal(this.testPassed, that.testPassed)
- && equal(this.testFailures, that.testFailures);
- }
-
- /**
- **
- * {@inheritDoc}
- */
- protected Objects.ToStringHelper string() {
- return toStringHelper(this)
- .omitNullValues()
- .add("loadSucceeded", loadSucceeded)
- .add("loadErrors", loadErrors)
- .add("testPassed", testPassed.orNull())
- .add("testFailures", testFailures);
+ @SerializedNames({"loadSucceeded", "loadErrors", "testPassed", "testFailures"})
+ public static UrlMapValidateResult create(Boolean loadSucceeded, List<String> loadErrors,
+ Boolean testPassed, List<UrlMapValidateResultInternal.TestFailure> testFailures) {
+ return create(UrlMapValidateResultInternal.create(loadSucceeded, loadErrors, testPassed, testFailures));
}
- /**
- * {@inheritDoc}
- */
- @Override
- public String toString() {
- return string().toString();
- }
-
- public static Builder builder() {
- return new Builder();
- }
-
- public Builder toBuilder() {
- return new Builder().fromUrlMapValidateResult(this);
- }
-
- public static class Builder {
-
- private Boolean loadSucceeded;
- private ImmutableSet.Builder<String> loadErrors = ImmutableSet.<String>builder();
- private Boolean testPassed;
- private ImmutableSet.Builder<TestFailure> testFailures = ImmutableSet.<TestFailure>builder();
-
- /**
- * @see UrlMapValidateResult#getLoadSucceeded()
- */
- public Builder loadSucceeded(Boolean loadSucceeded) {
- this.loadSucceeded = loadSucceeded;
- return this;
- }
-
- /**
- * @see UrlMapValidateResult#getLoadErrors()
- */
- public Builder addLoadError(String loadError) {
- this.loadErrors.add(checkNotNull(loadError, "loadError"));
- return this;
- }
-
- /**
- * @see UrlMapValidateResult#getLoadErrors()
- */
- public Builder loadErrors(Set<String> loadErrors) {
- this.loadErrors = ImmutableSet.builder();
- this.loadErrors.addAll(loadErrors);
- return this;
- }
-
- /**
- * @see UrlMapValidateResult#getTestPassed()
- */
- public Builder testPassed(Boolean testPassed) {
- this.testPassed = testPassed;
- return this;
- }
-
- /**
- * @see UrlMapValidateResult#getTestFailure()
- */
- public Builder addTestFailure(TestFailure testFailure) {
- this.testFailures.add(checkNotNull(testFailure, "testFailure"));
- return this;
- }
-
- /**
- * @see UrlMapValidateResult#getTestFailure()
- */
- public Builder testFailures(Set<TestFailure> testFailures) {
- this.testFailures = ImmutableSet.builder();
- this.testFailures.addAll(testFailures);
- return this;
- }
-
- public UrlMapValidateResult build() {
- return new UrlMapValidateResult(loadSucceeded, loadErrors.build(),
- testPassed, testFailures.build());
- }
-
- public Builder fromUrlMapValidateResult(UrlMapValidateResult in) {
- return new Builder().loadErrors(in.getLoadErrors())
- .loadSucceeded(in.getLoadSucceeded())
- .testFailures(in.getTestFailures())
- .testPassed(in.getTestPassed().orNull());
- }
+ public static UrlMapValidateResult allPass(){
+ return create(true, null, true, null);
}
- public final static class TestFailure {
-
- private final String host;
- private final String path;
- private final URI expectedService;
- private final URI actualService;
-
- @ConstructorProperties({
- "host", "path", "expectedService", "actualService"
- })
- private TestFailure(String host, String path, URI expectedService,
- URI actualService) {
- this.host = checkNotNull(host);
- this.path = checkNotNull(path);
- this.expectedService = checkNotNull(expectedService);
- this.actualService = checkNotNull(actualService);
- }
+ @AutoValue
+ public abstract static class UrlMapValidateResultInternal {
- /**
- * @return the host.
- */
- public String getHost() {
- return host;
- }
+ public abstract Boolean loadSucceeded();
+ @Nullable public abstract List<String> loadErrors();
+ @Nullable public abstract Boolean testPassed();
+ @Nullable public abstract List<TestFailure> testFailures();
- /**
- * @return the path.
- */
- public String getPath() {
- return path;
+ @SerializedNames({"loadSucceeded", "loadErrors", "testPassed", "testFailures"})
+ public static UrlMapValidateResultInternal create(Boolean loadSucceeded, List<String> loadErrors,
+ Boolean testPassed, List<TestFailure> testFailures) {
+ return new AutoValue_UrlMapValidateResult_UrlMapValidateResultInternal(loadSucceeded, loadErrors, testPassed, testFailures);
}
- /**
- * @return the expectedService.
- */
- public URI getExpectedService() {
- return expectedService;
+ UrlMapValidateResultInternal(){
}
- /**
- * @return the actualService.
- */
- public URI getActualService() {
- return actualService;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public int hashCode() {
- return Objects.hashCode(host, path, expectedService, actualService);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) return true;
- if (obj == null || getClass() != obj.getClass()) return false;
- TestFailure that = TestFailure.class.cast(obj);
- return equal(this.host, that.host)
- && equal(this.path, that.path)
- && equal(this.expectedService, that.expectedService)
- && equal(this.actualService, that.actualService);
- }
-
- /**
- **
- * {@inheritDoc}
- */
- protected Objects.ToStringHelper string() {
- return toStringHelper(this)
- .omitNullValues()
- .add("host", host)
- .add("path", path)
- .add("expectedService", expectedService)
- .add("actualService", actualService);
- }
+ @AutoValue
+ public abstract static class TestFailure {
- /**
- * {@inheritDoc}
- */
- @Override
- public String toString() {
- return string().toString();
- }
-
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder {
-
- private String host;
- private String path;
- private URI expectedService;
- private URI actualService;
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMapValidateResult.TestFailure#getHost()
- */
- public Builder host(String host) {
- this.host = host;
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMapValidateResult.TestFailure#getPath()
- */
- public Builder path(String path) {
- this.path = path;
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMapValidateResult.TestFailure#getExpectedService()
- */
- public Builder expectedService(URI expectedService) {
- this.expectedService = expectedService;
- return this;
- }
-
- /**
- * @see org.jclouds.googlecomputeengine.domain.UrlMapValidateResult.TestFailure#getActualService()
- */
- public Builder actualService(URI actualService) {
- this.actualService = actualService;
- return this;
+ public abstract String host();
+ public abstract String path();
+ public abstract URI expectedService();
+ public abstract URI actualService();
+
+ @SerializedNames({"host", "path", "expectedService", "actualService"})
+ public static TestFailure create(String host, String path, URI expectedService, URI actualService){
+ return new AutoValue_UrlMapValidateResult_UrlMapValidateResultInternal_TestFailure(host, path, expectedService, actualService);
}
-
- public TestFailure build() {
- return new TestFailure(host, path, expectedService, actualService);
+
+ TestFailure(){
}
}
}
+
+ UrlMapValidateResult(){
+ }
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/d147afdc/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/BackendServiceApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/BackendServiceApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/BackendServiceApi.java
index 7d1d5ea..f1e3776 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/BackendServiceApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/BackendServiceApi.java
@@ -16,12 +16,12 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE;
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import java.net.URI;
-import java.util.Set;
+import java.util.Iterator;
+import javax.inject.Inject;
import javax.inject.Named;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
@@ -32,43 +32,33 @@ 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.googlecloud.domain.ListPage;
+import org.jclouds.googlecomputeengine.GoogleComputeEngineApi;
import org.jclouds.googlecomputeengine.domain.BackendService;
import org.jclouds.googlecomputeengine.domain.BackendServiceGroupHealth;
-import org.jclouds.googlecomputeengine.domain.ListPage;
import org.jclouds.googlecomputeengine.domain.Operation;
-import org.jclouds.googlecomputeengine.functions.internal.PATCH;
-import org.jclouds.googlecomputeengine.functions.internal.ParseBackendServices;
-import org.jclouds.googlecomputeengine.handlers.PayloadBinder;
+import org.jclouds.googlecomputeengine.internal.BaseToIteratorOfListPage;
import org.jclouds.googlecomputeengine.options.BackendServiceOptions;
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.OAuthAuthenticator;
+import org.jclouds.oauth.v2.filters.OAuthFilter;
import org.jclouds.rest.annotations.BinderParam;
import org.jclouds.rest.annotations.Fallback;
import org.jclouds.rest.annotations.MapBinder;
+import org.jclouds.rest.annotations.PATCH;
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 BackendServices via their REST API.
- * <p/>
- *
- * @see <a href="https://developers.google.com/compute/docs/reference/v1/backendServices"/>
- */
+import com.google.common.base.Function;
+
@SkipEncoding({'/', '='})
-@RequestFilters(OAuthAuthenticator.class)
-@Consumes(MediaType.APPLICATION_JSON)
+@RequestFilters(OAuthFilter.class)
+@Consumes(APPLICATION_JSON)
public interface BackendServiceApi {
/**
* Returns the specified backend service resource.
@@ -78,8 +68,7 @@ public interface BackendServiceApi {
*/
@Named("BackendServices:get")
@GET
- @Path("/global/backendServices/{backendService}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
+ @Path("/{backendService}")
@Fallback(NullOnNotFoundOr404.class)
@Nullable
BackendService get(@PathParam("backendService") String backendServiceName);
@@ -88,7 +77,6 @@ public interface BackendServiceApi {
* Creates a backend service resource in the specified project using the data
* included in the request.
*
- * @param name the name of the backend service to be inserted.
* @param backendService options for this backend service.
* @return an Operation resource. To check on the status of an operation,
* poll the Operations resource returned to you, and look for the
@@ -96,31 +84,8 @@ public interface BackendServiceApi {
*/
@Named("BackendServices:insert")
@POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/global/backendServices")
- @OAuthScopes({COMPUTE_SCOPE})
- @MapBinder(PayloadBinder.class)
- Operation create(@PayloadParam("name") String name,
- @PayloadParam("options") BackendServiceOptions backendService);
-
- /**
- * Creates a backend service resource in the specified project using the data
- * included in the request.
- *
- * @param name the name of the backend service to be inserted.
- * @param healthChecks health checks to add to the backend service.
- * @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("BackendServices:insert")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/global/backendServices")
- @OAuthScopes({COMPUTE_SCOPE})
- @MapBinder(BindToJsonPayload.class)
- Operation create(@PayloadParam("name") String name,
- @PayloadParam("healthChecks") Set<URI> healthChecks);
+ @Produces(APPLICATION_JSON)
+ Operation create(@BinderParam(BindToJsonPayload.class) BackendServiceOptions backendService);
/**
* Updates the specified backend service resource with the data included in
@@ -134,9 +99,8 @@ public interface BackendServiceApi {
*/
@Named("BackendServices:update")
@PUT
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/global/backendServices/{backendService}")
- @OAuthScopes({COMPUTE_SCOPE})
+ @Produces(APPLICATION_JSON)
+ @Path("/{backendService}")
Operation update(@PathParam("backendService") String backendServiceName,
@BinderParam(BindToJsonPayload.class) BackendServiceOptions backendServiceOptions);
@@ -152,12 +116,11 @@ public interface BackendServiceApi {
*/
@Named("BackendServices:patch")
@PATCH
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/global/backendServices/{backendService}")
- @OAuthScopes({COMPUTE_SCOPE})
+ @Produces(APPLICATION_JSON)
+ @Path("/{backendService}")
Operation patch(@PathParam("backendService") String backendServiceName,
- @BinderParam(PayloadBinder.class) BackendServiceOptions backendServiceOptions);
-
+ @BinderParam(BindToJsonPayload.class) BackendServiceOptions backendServiceOptions);
+
/**
* Gets the most recent health check results for this backend service. Note
* that health check results will only be returned if the backend service has
@@ -168,14 +131,10 @@ public interface BackendServiceApi {
* @return a BackendServiceGroupHealth resource denoting the health states of
* instances in the specified group.
*/
- // The documentation does not reflect the fact that compute_scope is needed for this operation.
- // Running getHealth with compute_readonly_scope will return with an error saying the
- // resource /projects/<project name> could not be found.
@Named("BackendServices:getHealth")
@POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/global/backendServices/{backendService}/getHealth")
- @OAuthScopes({COMPUTE_SCOPE})
+ @Produces(APPLICATION_JSON)
+ @Path("/{backendService}/getHealth")
@MapBinder(BindToJsonPayload.class)
BackendServiceGroupHealth getHealth(@PathParam("backendService") String backendServiceName,
@PayloadParam("group") URI group);
@@ -190,78 +149,49 @@ public interface BackendServiceApi {
*/
@Named("BackendServices:delete")
@DELETE
- @Path("/global/backendServices/{backendService}")
- @OAuthScopes(COMPUTE_SCOPE)
+ @Path("/{backendService}")
@Fallback(NullOnNotFoundOr404.class)
Operation delete(@PathParam("backendService") String backendServiceName);
/**
- * @see BackendServiceApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("BackendServices:list")
- @GET
- @Path("/global/backendServices")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
- @ResponseParser(ParseBackendServices.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<BackendService> listFirstPage();
-
- /**
- * @see BackendServiceApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("BackendServices:list")
- @GET
- @Path("/global/backendServices")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
- @ResponseParser(ParseBackendServices.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<BackendService> listAtMarker(@QueryParam("pageToken") @Nullable String marker);
-
- /**
* Retrieves the list of backend service resources available to the specified
* project. By default the list as a maximum size of 100, if no options are
* provided or ListOptions#getMaxResults() has not been set.
*
- * @param marker marks the beginning of the next list page.
- * @param listOptions listing options.
- * @return a page of the list.
- * @see ListOptions
- * @see org.jclouds.googlecomputeengine.domain.ListPage
+ * @param pageToken marks the beginning of the next list page
+ * @param listOptions listing options
+ * @return a page of the list
*/
@Named("BackendServices:list")
@GET
- @Path("/global/backendServices")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
- @ResponseParser(ParseBackendServices.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<BackendService> listAtMarker(@QueryParam("pageToken") @Nullable String marker, ListOptions options);
+ ListPage<BackendService> listPage(@QueryParam("pageToken") @Nullable String pageToken, ListOptions options);
- /**
- * @see BackendServiceApi#list(org.jclouds.googlecomputeengine.options.ListOptions)
- */
+ /** @see #listPage(String, ListOptions) */
@Named("BackendServices:list")
@GET
- @Path("/global/backendServices")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
- @ResponseParser(ParseBackendServices.class)
- @Transform(ParseBackendServices.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<BackendService> list();
+ @Transform(BackendServicePages.class)
+ Iterator<ListPage<BackendService>> list();
- /**
- * A paged version of BackendserviceApi#list().
- *
- * @return a Paged, Fluent Iterable that is able to fetch additional pages
- * when required.
- * @see PagedIterable
- * @see BackendServiceApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
+ /** @see #listPage(String, ListOptions) */
@Named("BackendServices:list")
@GET
- @Path("/global/backendServices")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
- @ResponseParser(ParseBackendServices.class)
- @Transform(ParseBackendServices.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<BackendService> list(ListOptions options);
+ @Transform(BackendServicePages.class)
+ Iterator<ListPage<BackendService>> list(ListOptions options);
+
+ static final class BackendServicePages extends BaseToIteratorOfListPage<BackendService, BackendServicePages> {
+
+ private final GoogleComputeEngineApi api;
+
+ @Inject BackendServicePages(GoogleComputeEngineApi api) {
+ this.api = api;
+ }
+
+ @Override protected Function<String, ListPage<BackendService>> fetchNextPage(final ListOptions options) {
+ return new Function<String, ListPage<BackendService>>() {
+ @Override public ListPage<BackendService> apply(String pageToken) {
+ return api.backendServices().listPage(pageToken, options);
+ }
+ };
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/d147afdc/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApi.java
index 862a126..220dbdc 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApi.java
@@ -36,9 +36,11 @@ import org.jclouds.Fallbacks.NullOnNotFoundOr404;
import org.jclouds.googlecloud.domain.ListPage;
import org.jclouds.googlecomputeengine.GoogleComputeEngineApi;
import org.jclouds.googlecomputeengine.binders.ForwardingRuleCreationBinder;
+
import org.jclouds.googlecomputeengine.domain.ForwardingRule;
import org.jclouds.googlecomputeengine.domain.Operation;
import org.jclouds.googlecomputeengine.internal.BaseCallerArg0ToIteratorOfListPage;
+
import org.jclouds.googlecomputeengine.options.ForwardingRuleCreationOptions;
import org.jclouds.googlecomputeengine.options.ListOptions;
import org.jclouds.javax.annotation.Nullable;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/d147afdc/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ResourceViewApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ResourceViewApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ResourceViewApi.java
deleted file mode 100644
index 1d9e421..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ResourceViewApi.java
+++ /dev/null
@@ -1,614 +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.NDEV_CLOUD_MAN_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.NDEV_CLOUD_MAN_SCOPE;
-
-import java.net.URI;
-import java.util.Set;
-
-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.ResourceViewEndpoint;
-import org.jclouds.googlecomputeengine.domain.ListPage;
-import org.jclouds.googlecomputeengine.domain.ResourceView;
-import org.jclouds.googlecomputeengine.functions.internal.ParseRegionResourceViewMembers;
-import org.jclouds.googlecomputeengine.functions.internal.ParseRegionResourceViews;
-import org.jclouds.googlecomputeengine.functions.internal.ParseZoneResourceViewMembers;
-import org.jclouds.googlecomputeengine.functions.internal.ParseZoneResourceViews;
-import org.jclouds.googlecomputeengine.handlers.PayloadBinder;
-import org.jclouds.googlecomputeengine.options.ListOptions;
-import org.jclouds.googlecomputeengine.options.ResourceViewOptions;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.oauth.v2.config.OAuthScopes;
-import org.jclouds.oauth.v2.filters.OAuthAuthenticator;
-import org.jclouds.rest.annotations.Endpoint;
-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 Resource Views via their REST API.
- *
- * @see <a href="https://developers.google.com/compute/docs/resource-views/v1beta1/regionViews"/>
- * @see <a href="https://developers.google.com/compute/docs/resource-views/v1beta1/zoneViews"/>
- */
-@SkipEncoding({'/', '='})
-@RequestFilters(OAuthAuthenticator.class)
-@Consumes(MediaType.APPLICATION_JSON)
-@Endpoint(value = ResourceViewEndpoint.class)
-public interface ResourceViewApi {
-
- /**
- * Returns the specified resource view resource.
- *
- * @param zone Name of the zone the resource view is in.
- * @param resourceViewName Name of the resource view resource to return.
- * @return a ResourceView resource.
- */
- @Named("ResourceViews:get")
- @GET
- @Path("/zones/{zone}/resourceViews/{resourceView}")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- ResourceView getInZone(@PathParam("zone") String zone,
- @PathParam("resourceView") String resourceViewName);
-
- /**
- * Returns the specified resource view resource.
- *
- * @param region Name of the region the resource view is in.
- * @param resourceViewName Name of the resource view resource to return.
- * @return a ResourceView resource.
- */
- @Named("ResourceViews:get")
- @GET
- @Path("/regions/{region}/resourceViews/{resourceView}")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- ResourceView getInRegion(@PathParam("region") String region,
- @PathParam("resourceView") String resourceViewName);
-
- /**
- * Creates a zone resource view resource.
- *
- * @param zone the zone this resource view will live in.
- * @param name the name of resource view.
- * @return a ResourceView resource.
- */
- @Named("ResourceViews:insert")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_SCOPE)
- @MapBinder(BindToJsonPayload.class)
- ResourceView createInZone(@PathParam("zone") String zone,
- @PayloadParam("name") String name);
-
- /**
- * Creates a zone resource view resource with the given options.
- *
- * @param zone the zone this resource view will live in.
- * @param name the name of resource view.
- * @param options the options this resource view will have.
- * @return a ResourceView resource.
- */
- @Named("ResourceViews:insert")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_SCOPE)
- @MapBinder(PayloadBinder.class)
- ResourceView createInZone(@PathParam("zone") String zone,
- @PayloadParam("name") String name,
- @PayloadParam("options") ResourceViewOptions options);
-
- /**
- * Creates a region resource view resource.
- *
- * @param region the region this resource view will live in.
- * @param name the name of resource view.
- * @return a ResourceView resource.
- */
- @Named("ResourceViews:insert")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/regions/{region}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_SCOPE)
- @MapBinder(BindToJsonPayload.class)
- ResourceView createInRegion(@PathParam("region") String region,
- @PayloadParam("name") String name);
-
- /**
- * Creates a region resource view resource with the given options.
- *
- * @param region the region this resource view will live in.
- * @param name the name of resource view.
- * @param options the options this resource view will have.
- * @return a ResourceView resource.
- */
- @Named("ResourceViews:insert")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/regions/{region}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_SCOPE)
- @MapBinder(PayloadBinder.class)
- ResourceView createInRegion(@PathParam("region") String region,
- @PayloadParam("name") String name,
- @PayloadParam("options") ResourceViewOptions options);
-
- /**
- * Adds the given resources to the resource view resource with the given name.
- *
- * @param zone the zone this resource view lives in.
- * @param resourceViewName the name of resource view.
- * @param resources the resources to add to this resource view.
- */
- @Named("ResourceViews:addResources")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/resourceViews/{resourceView}/addResources")
- @OAuthScopes(NDEV_CLOUD_MAN_SCOPE)
- @MapBinder(BindToJsonPayload.class)
- void addResourcesInZone(@PathParam("zone") String zone,
- @PathParam("resourceView") String resourceViewName,
- @PayloadParam("resources") Set<URI> resources);
-
- /**
- * Adds the given resources to the resource view resource with the given name.
- *
- * @param region the region this resource view lives in.
- * @param resourceViewName the name of resource view.
- * @param resources the resources to add to this resource view.
- */
- @Named("ResourceViews:addResources")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/regions/{region}/resourceViews/{resourceView}/addResources")
- @OAuthScopes(NDEV_CLOUD_MAN_SCOPE)
- @MapBinder(BindToJsonPayload.class)
- void addResourcesInRegion(@PathParam("region") String region,
- @PathParam("resourceView") String resourceViewName,
- @PayloadParam("resources") Set<URI> resources);
-
- /**
- * Removes the given resources from the resource view resource with the given name.
- *
- * @param zone the zone this resource view lives in.
- * @param resourceViewName the name of resource view.
- * @param resources the resources to remove from this resource view.
- */
- @Named("ResourceViews:removeResources")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/zones/{zone}/resourceViews/{resourceView}/removeResources")
- @OAuthScopes(NDEV_CLOUD_MAN_SCOPE)
- @MapBinder(BindToJsonPayload.class)
- void removeResourcesInZone(@PathParam("zone") String zone,
- @PathParam("resourceView") String resourceViewName,
- @PayloadParam("resources") Set<URI> resources);
-
- /**
- * Removes the given resources from the resource view resource with the given name.
- *
- * @param region the region this resource view lives in.
- * @param resourceViewName the name of resource view.
- * @param resources the resources to remove from this resource view.
- */
- @Named("ResourceViews:removeResources")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Path("/regions/{region}/resourceViews/{resourceView}/removeResources")
- @OAuthScopes(NDEV_CLOUD_MAN_SCOPE)
- @MapBinder(BindToJsonPayload.class)
- void removeResourcesInRegion(@PathParam("region") String region,
- @PathParam("resourceView") String resourceViewName,
- @PayloadParam("resources") Set<URI> resources);
-
- /**
- * @see ResourceViewApi#listResourcesAtMarkerInZone(String, String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:listResources")
- @POST
- @Path("/zones/{zone}/resourceViews/{resourceView}/resources")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseZoneResourceViewMembers.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<URI> listResourcesFirstPageInZone(@PathParam("zone") String zone,
- @PathParam("resourceView") String resourceViewName);
-
- /**
- * @see ResourceViewApi#listResourcesAtMarkerInZone(String, String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:listResources")
- @POST
- @Path("/zones/{zone}/resourceViews/{resourceView}/resources")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseZoneResourceViewMembers.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<URI> listResourcesAtMarkerInZone(@PathParam("zone") String zone,
- @PathParam("resourceView") String resourceViewName,
- @QueryParam("pageToken") @Nullable String marker);
-
- /**
- * Retrieves the listPage of resource view resources contained within the specified project and zone.
- * By default the listPage as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() has
- * not been set.
- *
- * @param zone the zone to search in.
- * @param resourceViewName the name of the resource view resource to search under.
- * @param marker marks the beginning of the next list page.
- * @param listOptions listing options.
- * @return a page of the listPage.
- * @see ListOptions
- * @see org.jclouds.googlecomputeengine.domain.ListPage
- */
- @Named("ResourceViews:listResources")
- @POST
- @Path("/zones/{zone}/resourceViews/{resourceView}/resources")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseZoneResourceViewMembers.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<URI> listResourcesAtMarkerInZone(@PathParam("zone") String zone,
- @PathParam("resourceView") String resourceViewName,
- @QueryParam("pageToken") @Nullable String marker,
- ListOptions listOptions);
-
- /**
- * A paged version of ResourceViewApi#listResourcesAtMarkerInZone(String, String).
- *
- * @param zone the zone to list in.
- * @param resourceViewName resource view resources to list in.
- * @return a Paged, Fluent Iterable that is able to fetch additional pages when required.
- * @see PagedIterable
- * @see ResourceViewApi#listResourcesAtMarkerInZone(String, String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:listResources")
- @POST
- @Path("/zones/{zone}/resourceViews/{resourceView}/resources")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseZoneResourceViewMembers.class)
- @Transform(ParseZoneResourceViewMembers.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<URI> listResourcesInZone(@PathParam("zone") String zone,
- @PathParam("resourceView") String resourceViewName);
-
- /**
- * A paged version of ResourceViewApi#listResourcesAtMarkerInZone(String, String).
- *
- * @param zone the zone to list in.
- * @param resourceViewName resource view resources to list in.
- * @param listOptions listing options.
- * @return a Paged, Fluent Iterable that is able to fetch additional pages when required.
- * @see PagedIterable
- * @see ResourceViewApi#listResourcesAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:listResources")
- @POST
- @Path("/zones/{zone}/resourceViews/{resourceView}/resources")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseZoneResourceViewMembers.class)
- @Transform(ParseZoneResourceViewMembers.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<URI> listResourcesInZone(@PathParam("zone") String zone,
- @PathParam("resourceView") String resourceViewName,
- ListOptions options);
-
- /**
- * @see ResourceViewApi#listResourcesAtMarkerInRegion(String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:listResources")
- @POST
- @Path("/regions/{region}/resourceViews/{resourceView}/resources")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseRegionResourceViewMembers.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<URI> listResourcesFirstPageInRegion(@PathParam("region") String zone,
- @PathParam("resourceView") String resourceViewName);
-
- /**
- * @see ResourceViewApi#listResourcesAtMarkerInRegion(String, String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:listResources")
- @POST
- @Path("/regions/{region}/resourceViews/{resourceView}/resources")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseRegionResourceViewMembers.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<URI> listResourcesAtMarkerInRegion(@PathParam("region") String region,
- @PathParam("resourceView") String resourceViewName,
- @QueryParam("pageToken") @Nullable String marker);
-
- /**
- * Retrieves the listPage of resource view resources contained within the specified project and zone.
- * 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 resourceViewName the name of the resource view resource to search under.
- * @param marker marks the beginning of the next list page.
- * @param listOptions listing options.
- * @return a page of the listPage.
- * @see ListOptions
- * @see org.jclouds.googlecomputeengine.domain.ListPage
- */
- @Named("ResourceViews:listResources")
- @POST
- @Path("/regions/{region}/resourceViews/{resourceView}/resources")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseRegionResourceViewMembers.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<URI> listResourcesAtMarkerInRegion(@PathParam("region") String region,
- @PathParam("resourceView") String resourceViewName,
- @QueryParam("pageToken") @Nullable String marker,
- ListOptions listOptions);
-
- /**
- * A paged version of ResourceViewApi#listResourcesAtMarkerInRegion(String, String).
- *
- * @param region the region to list in.
- * @param resourceViewName resource view resources to list in.
- * @return a Paged, Fluent Iterable that is able to fetch additional pages when required.
- * @see PagedIterable
- * @see ResourceViewApi#listResourcesAtMarkerInZone(String, String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:listResources")
- @POST
- @Path("/regions/{region}/resourceViews/{resourceView}/resources")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseRegionResourceViewMembers.class)
- @Transform(ParseRegionResourceViewMembers.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<URI> listResourcesInRegion(@PathParam("region") String region,
- @PathParam("resourceView") String resourceViewName);
-
- /**
- * A paged version of ResourceViewApi#listResourcesAtMarkerInRegion(String, String).
- *
- * @param region the region to list in.
- * @param resourceViewName resource view resources to list in.
- * @param listOptions listing options.
- * @return a Paged, Fluent Iterable that is able to fetch additional pages when required.
- * @see PagedIterable
- * @see ResourceViewApi#listResourcesAtMarkerInRegion(String, String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:listResources")
- @POST
- @Path("/regions/{region}/resourceViews/{resourceView}/resources")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseRegionResourceViewMembers.class)
- @Transform(ParseRegionResourceViewMembers.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<URI> listResourcesInRgion(@PathParam("region") String region,
- @PathParam("resourceView") String resourceViewName,
- ListOptions options);
-
- /**
- * Deletes the specified resource view resource.
- *
- * @param zone the zone the resource view is in.
- * @param resourceViewName name of the resource view 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("ResourceViews:delete")
- @DELETE
- @Path("/zones/{zone}/resourceViews/{resourceView}")
- @OAuthScopes(NDEV_CLOUD_MAN_SCOPE)
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- void deleteInZone(@PathParam("zone") String zone,
- @PathParam("resourceView") String resourceViewName);
-
- /**
- * Deletes the specified resource view resource.
- *
- * @param region the region the resource view is in.
- * @param resourceViewName name of the resource view 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("ResourceViews:delete")
- @DELETE
- @Path("/regions/{region}/resourceViews/{resourceView}")
- @OAuthScopes(NDEV_CLOUD_MAN_SCOPE)
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- void deleteInRegion(@PathParam("region") String zone,
- @PathParam("resourceView") String resourceViewName);
-
- /**
- * @see ResourceViewApi#listAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:list")
- @GET
- @Path("/zones/{zone}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseZoneResourceViews.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<ResourceView> listFirstPageInZone(@PathParam("zone") String zone);
-
- /**
- * @see ResourceViewApi#listAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:list")
- @GET
- @Path("/zones/{zone}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseZoneResourceViews.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<ResourceView> listAtMarkerInZone(@PathParam("zone") String zone,
- @QueryParam("pageToken") @Nullable String marker);
-
- /**
- * Retrieves the listPage of resource view resources contained within the specified project and zone.
- * By default the listPage as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() has
- * not been set.
- *
- * @param zone the zone to search in.
- * @param marker marks the beginning of the next list page.
- * @param listOptions listing options.
- * @return a page of the listPage.
- * @see ListOptions
- * @see org.jclouds.googlecomputeengine.domain.ListPage
- */
- @Named("ResourceViews:list")
- @GET
- @Path("/zones/{zone}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseZoneResourceViews.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<ResourceView> listAtMarkerInZone(@PathParam("zone") String zone,
- @QueryParam("pageToken") @Nullable String marker,
- ListOptions listOptions);
-
- /**
- * A paged version of ResourceViewApi#listAtMarkerInZone(String).
- *
- * @param zone the zone to list in.
- * @return a Paged, Fluent Iterable that is able to fetch additional pages when required.
- * @see PagedIterable
- * @see ResourceViewApi#listAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:list")
- @GET
- @Path("/zones/{zone}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseZoneResourceViews.class)
- @Transform(ParseZoneResourceViews.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<ResourceView> listInZone(@PathParam("zone") String zone);
-
- /**
- * A paged version of ResourceViewApi#listMarkerInZone(String).
- *
- * @param zone the zone to list in.
- * @return a Paged, Fluent Iterable that is able to fetch additional pages when required.
- * @see PagedIterable
- * @see ResourceViewApi#listAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:list")
- @GET
- @Path("/zones/{zone}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseZoneResourceViews.class)
- @Transform(ParseZoneResourceViews.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<ResourceView> listInZone(@PathParam("zone") String zone,
- ListOptions options);
-
- /**
- * @see ResourceViewApi#listAtMarkerInRegion(String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:list")
- @GET
- @Path("/regions/{region}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseRegionResourceViews.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<ResourceView> listFirstPageInRegion(@PathParam("region") String region);
-
- /**
- * @see ResourceViewApi#listAtMarkerInRegion(String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:list")
- @GET
- @Path("/regions/{region}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseRegionResourceViews.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<ResourceView> listAtMarkerInRegion(@PathParam("region") String region,
- @QueryParam("pageToken") @Nullable String marker);
-
- /**
- * Retrieves the listPage of resource view 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 ListOptions
- * @see org.jclouds.googlecomputeengine.domain.ListPage
- */
- @Named("ResourceViews:list")
- @GET
- @Path("/regions/{region}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseRegionResourceViews.class)
- @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class)
- ListPage<ResourceView> listAtMarkerInRegion(@PathParam("region") String region,
- @QueryParam("pageToken") @Nullable String marker,
- ListOptions listOptions);
-
- /**
- * A paged version of ResourceViewApi#listAtMarkerInRegion(String).
- *
- * @param region the region to list in.
- * @return a Paged, Fluent Iterable that is able to fetch additional pages when required.
- * @see PagedIterable
- * @see ResourceViewApi#listAtMarkerInRegion(String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:list")
- @GET
- @Path("/regions/{region}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseZoneResourceViews.class)
- @Transform(ParseRegionResourceViews.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<ResourceView> listInRegion(@PathParam("region") String region);
-
- /**
- * A paged version of ResourceViewApi#listAtMarkerInRegion(String).
- *
- * @param region the region to list in.
- * @return a Paged, Fluent Iterable that is able to fetch additional pages when required.
- * @see PagedIterable
- * @see ResourceViewApi#listAtMarkerInRegion(String, String, org.jclouds.googlecomputeengine.options.ListOptions)
- */
- @Named("ResourceViews:list")
- @GET
- @Path("/regions/{region}/resourceViews")
- @OAuthScopes(NDEV_CLOUD_MAN_READONLY_SCOPE)
- @ResponseParser(ParseZoneResourceViews.class)
- @Transform(ParseRegionResourceViews.ToPagedIterable.class)
- @Fallback(EmptyPagedIterableOnNotFoundOr404.class)
- PagedIterable<ResourceView> listInRegion(@PathParam("region") String region,
- ListOptions options);
-}