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/13 05:30:21 UTC
[1/3] jclouds-labs-google git commit: * Change OAuthScopes into an
interface as opposed to boilerplating annotations. * Fixed errors because of
boilerplating annotations.
Repository: jclouds-labs-google
Updated Branches:
refs/heads/master 6c839f135 -> 627667018
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/ToIteratorOfListPageExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/ToIteratorOfListPageExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/ToIteratorOfListPageExpectTest.java
new file mode 100644
index 0000000..2e0aa87
--- /dev/null
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/ToIteratorOfListPageExpectTest.java
@@ -0,0 +1,183 @@
+/*
+ * 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.internal;
+
+import static org.jclouds.googlecomputeengine.options.ListOptions.Builder.maxResults;
+import static org.testng.Assert.assertEquals;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.jclouds.googlecomputeengine.GoogleComputeEngineApi;
+import org.jclouds.googlecomputeengine.config.GoogleComputeEngineParserModule;
+import org.jclouds.googlecomputeengine.domain.Address;
+import org.jclouds.googlecomputeengine.domain.Image;
+import org.jclouds.googlecomputeengine.domain.Instance;
+import org.jclouds.googlecomputeengine.domain.ListPage;
+import org.jclouds.googlecomputeengine.features.AddressApi;
+import org.jclouds.googlecomputeengine.features.ImageApi;
+import org.jclouds.googlecomputeengine.features.InstanceApi;
+import org.jclouds.googlecomputeengine.parse.ParseAddressTest;
+import org.jclouds.googlecomputeengine.parse.ParseImageTest;
+import org.jclouds.googlecomputeengine.parse.ParseInstanceTest;
+import org.jclouds.http.HttpRequest;
+import org.jclouds.http.HttpResponse;
+import org.jclouds.json.Json;
+import org.jclouds.json.config.GsonModule;
+import org.testng.annotations.Test;
+
+import com.google.common.collect.ImmutableList;
+import com.google.inject.Guice;
+
+@Test(groups = "unit", testName = "ToIteratorOfListPageTest")
+public class ToIteratorOfListPageExpectTest extends BaseGoogleComputeEngineExpectTest<GoogleComputeEngineApi> {
+
+ private final Json json = Guice.createInjector(new GsonModule(), new GoogleComputeEngineParserModule())
+ .getInstance(Json.class);
+
+ public void globalScope() {
+ HttpRequest list = HttpRequest
+ .builder()
+ .method("GET")
+ .endpoint(BASE_URL + "/party/global/images")
+ .addHeader("Accept", "application/json")
+ .addHeader("Authorization", "Bearer " + TOKEN).build();
+
+ HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+ .payload(payloadFromResource("/image_list_single_page.json")).build();
+
+ ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
+ TOKEN_RESPONSE, list, operationResponse).images();
+
+ Iterator<ListPage<Image>> images = imageApi.list();
+
+ assertEquals(images.next().size(), 3);
+ }
+
+ public void multiplePagesProjectScoped() {
+ HttpRequest list1 = HttpRequest
+ .builder()
+ .method("GET")
+ .endpoint(BASE_URL + "/party/global/images?maxResults=1")
+ .addHeader("Accept", "application/json")
+ .addHeader("Authorization", "Bearer " + TOKEN).build();
+
+ HttpRequest list2 = list1.toBuilder()
+ .endpoint(BASE_URL + "/party/global/images?pageToken=token1&maxResults=1").build();
+
+ HttpRequest list3 = list1.toBuilder()
+ .endpoint(BASE_URL + "/party/global/images?pageToken=token2&maxResults=1").build();
+
+ List<Image> items = ImmutableList.of(new ParseImageTest().expected());
+
+ HttpResponse list1Response = HttpResponse.builder().statusCode(200)
+ .payload(json.toJson(ListPage.create(items, "token1"))).build();
+
+ HttpResponse list2Response = HttpResponse.builder().statusCode(200)
+ .payload(json.toJson(ListPage.create(items, "token2"))).build();
+
+ HttpResponse list3Response = HttpResponse.builder().statusCode(200)
+ .payload(json.toJson(ListPage.create(items, null))).build();
+
+ ImageApi imageApi = orderedRequestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
+ TOKEN_RESPONSE, list1, list1Response, list2, list2Response, list3, list3Response).images();
+
+ Iterator<ListPage<Image>> images = imageApi.list(maxResults(1));
+
+ int imageCounter = 0;
+ while (images.hasNext()) {
+ imageCounter += images.next().size();
+ }
+ assertEquals(imageCounter, 3);
+ }
+
+ public void multiplePagesRegionScoped() {
+ HttpRequest list1 = HttpRequest
+ .builder()
+ .method("GET")
+ .endpoint(BASE_URL + "/party/regions/us-central1/addresses?maxResults=1")
+ .addHeader("Accept", "application/json")
+ .addHeader("Authorization", "Bearer " + TOKEN).build();
+
+ HttpRequest list2 = list1.toBuilder()
+ .endpoint(BASE_URL + "/party/regions/us-central1/addresses?pageToken=token1&maxResults=1").build();
+
+ HttpRequest list3 = list1.toBuilder()
+ .endpoint(BASE_URL + "/party/regions/us-central1/addresses?pageToken=token2&maxResults=1").build();
+
+ List<Address> items = ImmutableList.of(new ParseAddressTest().expected());
+
+ HttpResponse list1Response = HttpResponse.builder().statusCode(200)
+ .payload(json.toJson(ListPage.create(items, "token1"))).build();
+
+ HttpResponse list2Response = HttpResponse.builder().statusCode(200)
+ .payload(json.toJson(ListPage.create(items, "token2"))).build();
+
+ HttpResponse list3Response = HttpResponse.builder().statusCode(200)
+ .payload(json.toJson(ListPage.create(items, null))).build();
+
+ AddressApi addressApi = orderedRequestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
+ TOKEN_RESPONSE, list1, list1Response, list2, list2Response, list3, list3Response)
+ .addressesInRegion("us-central1");
+
+ Iterator<ListPage<Address>> addresses = addressApi.list(maxResults(1));
+
+ int addressCounter = 0;
+ while (addresses.hasNext()) {
+ addressCounter += addresses.next().size();
+ }
+ assertEquals(addressCounter, 3);
+ }
+
+ public void multiplePagesZoneScoped() {
+ HttpRequest list1 = HttpRequest
+ .builder()
+ .method("GET")
+ .endpoint(BASE_URL + "/party/zones/us-central1-a/instances?maxResults=1")
+ .addHeader("Accept", "application/json")
+ .addHeader("Authorization", "Bearer " + TOKEN).build();
+
+ HttpRequest list2 = list1.toBuilder()
+ .endpoint(BASE_URL + "/party/zones/us-central1-a/instances?pageToken=token1&maxResults=1").build();
+
+ HttpRequest list3 = list1.toBuilder()
+ .endpoint(BASE_URL + "/party/zones/us-central1-a/instances?pageToken=token2&maxResults=1").build();
+
+ List<Instance> items = ImmutableList.of(new ParseInstanceTest().expected());
+
+ HttpResponse list1Response = HttpResponse.builder().statusCode(200)
+ .payload(json.toJson(ListPage.create(items, "token1"))).build();
+
+ HttpResponse list2Response = HttpResponse.builder().statusCode(200)
+ .payload(json.toJson(ListPage.create(items, "token2"))).build();
+
+ HttpResponse list3Response = HttpResponse.builder().statusCode(200)
+ .payload(json.toJson(ListPage.create(items, null))).build();
+
+ InstanceApi instanceApi = orderedRequestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
+ TOKEN_RESPONSE, list1, list1Response, list2, list2Response, list3, list3Response)
+ .instancesInZone("us-central1-a");
+
+ Iterator<ListPage<Instance>> instances = instanceApi.list(maxResults(1));
+
+ int instanceCounter = 0;
+ while (instances.hasNext()) {
+ instanceCounter += instances.next().size();
+ }
+ assertEquals(instanceCounter, 3);
+ }
+}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/oauth/README
----------------------------------------------------------------------
diff --git a/oauth/README b/oauth/README
index 1c5f73b..40b039d 100644
--- a/oauth/README
+++ b/oauth/README
@@ -13,4 +13,4 @@ mvn clean install -Plive\
-Dtest.oauth.credential=<accout pk in pem format>\
-Dtest.oauth.endpoint=https://accounts.google.com/o/oauth2/token\
-Dtest.jclouds.oauth.audience=https://accounts.google.com/o/oauth2/token\
- -Dtest.jclouds.oauth.scopes=https://www.googleapis.com/auth/prediction
\ No newline at end of file
+ -Dtest.jclouds.oauth.scope=https://www.googleapis.com/auth/prediction
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/oauth/pom.xml
----------------------------------------------------------------------
diff --git a/oauth/pom.xml b/oauth/pom.xml
index 275ce4b..9f83ac8 100644
--- a/oauth/pom.xml
+++ b/oauth/pom.xml
@@ -37,7 +37,7 @@
<test.oauth.endpoint>FIX_ME</test.oauth.endpoint>
<test.jclouds.oauth.jws-alg>RS256</test.jclouds.oauth.jws-alg>
<test.jclouds.oauth.audience>FIX_ME</test.jclouds.oauth.audience>
- <test.jclouds.oauth.scopes>FIX_ME</test.jclouds.oauth.scopes>
+ <test.jclouds.oauth.scope>FIX_ME</test.jclouds.oauth.scope>
<test.oauth.api-version>2</test.oauth.api-version>
<test.oauth.build-version />
</properties>
@@ -123,7 +123,7 @@
<test.oauth.build-version>${test.oauth.build-version}</test.oauth.build-version>
<test.jclouds.oauth.jws-alg>${test.jclouds.oauth.jws-alg}</test.jclouds.oauth.jws-alg>
<test.jclouds.oauth.audience>${test.jclouds.oauth.audience}</test.jclouds.oauth.audience>
- <test.jclouds.oauth.scopes>${test.jclouds.oauth.scopes}</test.jclouds.oauth.scopes>
+ <test.jclouds.oauth.scope>${test.jclouds.oauth.scope}</test.jclouds.oauth.scope>
</systemPropertyVariables>
</configuration>
</execution>
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthHttpApiModule.java
----------------------------------------------------------------------
diff --git a/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthHttpApiModule.java b/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthHttpApiModule.java
index 3bb7c1a..5a1d5d2 100644
--- a/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthHttpApiModule.java
+++ b/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthHttpApiModule.java
@@ -29,9 +29,7 @@ import com.google.common.base.Supplier;
import com.google.common.base.Suppliers;
import com.google.inject.Provides;
-/**
- * OAuth module to when accessing OAuth stand-alone.
- */
+/** Api module to when accessing OAuth stand-alone. */
@ConfiguresHttpApi
public class OAuthHttpApiModule extends HttpApiModule<OAuthApi> {
@@ -41,5 +39,4 @@ public class OAuthHttpApiModule extends HttpApiModule<OAuthApi> {
protected Supplier<URI> provideAuthenticationEndpoint(ProviderMetadata providerMetadata) {
return Suppliers.ofInstance(URI.create(providerMetadata.getEndpoint()));
}
-
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthModule.java
----------------------------------------------------------------------
diff --git a/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthModule.java b/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthModule.java
index e831c0f..e6d5985 100644
--- a/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthModule.java
+++ b/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthModule.java
@@ -35,6 +35,7 @@ import org.jclouds.oauth.v2.functions.PrivateKeySupplier;
import org.jclouds.oauth.v2.functions.SignOrProduceMacForToken;
import com.google.common.base.Function;
+import com.google.common.base.Functions;
import com.google.common.base.Supplier;
import com.google.common.base.Suppliers;
import com.google.common.cache.CacheBuilder;
@@ -81,11 +82,7 @@ public class OAuthModule extends AbstractModule {
@Provides @Singleton Supplier<Function<byte[], byte[]>> signOrProduceMacForToken(@Named(JWS_ALG) String jwsAlg,
Provider<SignOrProduceMacForToken> in) {
if (jwsAlg.equals(NONE)) { // Current implementation requires we return null on none.
- return Suppliers.<Function<byte[], byte[]>>ofInstance(new Function<byte[], byte[]>() {
- @Override public byte[] apply(byte[] input) {
- return null;
- }
- });
+ return (Supplier) Suppliers.ofInstance(Functions.constant(null));
}
return Suppliers.memoize(in.get());
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthScopes.java
----------------------------------------------------------------------
diff --git a/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthScopes.java b/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthScopes.java
index d4fe7d4..d154839 100644
--- a/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthScopes.java
+++ b/oauth/src/main/java/org/jclouds/oauth/v2/config/OAuthScopes.java
@@ -16,26 +16,57 @@
*/
package org.jclouds.oauth.v2.config;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+import java.util.List;
-import javax.inject.Qualifier;
+import org.jclouds.http.HttpRequest;
+
+import com.google.auto.value.AutoValue;
+import com.google.common.collect.ImmutableList;
/**
- * Used to annotate REST methods/ifaces that use OAuthAuthentication.
- * <p/>
- * Sets the scopes for the token request for that particular method.
+ * Implementations are api-specific, typically routing GET or HEAD requests to a read-only role, and others to a
+ * read-write one.
*/
-@Retention(value = RetentionPolicy.RUNTIME)
-@Target(value = {ElementType.TYPE, ElementType.METHOD})
-@Qualifier
-public @interface OAuthScopes {
+public interface OAuthScopes {
+
+ /** Returns a list of scopes needed to perform the request. */
+ List<String> forRequest(HttpRequest input);
+
+ @AutoValue public abstract static class SingleScope implements OAuthScopes {
+ abstract List<String> scopes();
+
+ public static SingleScope create(String scope) {
+ return new AutoValue_OAuthScopes_SingleScope(ImmutableList.of(scope));
+ }
+
+ @Override public List<String> forRequest(HttpRequest input) {
+ return scopes();
+ }
+
+ SingleScope() {
+ }
+ }
+
+ @AutoValue public abstract static class ReadOrWriteScopes implements OAuthScopes {
+ abstract List<String> readScopes();
+
+ abstract List<String> writeScopes();
+
+ public static ReadOrWriteScopes create(String readScope, String writeScope) {
+ return new AutoValue_OAuthScopes_ReadOrWriteScopes( //
+ ImmutableList.of(readScope), //
+ ImmutableList.of(writeScope) //
+ );
+ }
- /**
- * @return the OAuth scopes required to access the resource.
- */
- String[] value();
+ @Override public List<String> forRequest(HttpRequest input) {
+ if (input.getMethod().equals("GET") || input.getMethod().equals("HEAD")) {
+ return readScopes();
+ }
+ return writeScopes();
+ }
+ ReadOrWriteScopes() {
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/oauth/src/main/java/org/jclouds/oauth/v2/functions/BuildTokenRequest.java
----------------------------------------------------------------------
diff --git a/oauth/src/main/java/org/jclouds/oauth/v2/functions/BuildTokenRequest.java b/oauth/src/main/java/org/jclouds/oauth/v2/functions/BuildTokenRequest.java
index 4a51954..51ab318 100644
--- a/oauth/src/main/java/org/jclouds/oauth/v2/functions/BuildTokenRequest.java
+++ b/oauth/src/main/java/org/jclouds/oauth/v2/functions/BuildTokenRequest.java
@@ -16,7 +16,6 @@
*/
package org.jclouds.oauth.v2.functions;
-import static com.google.common.base.Preconditions.checkState;
import static org.jclouds.Constants.PROPERTY_SESSION_INTERVAL;
import static org.jclouds.oauth.v2.config.OAuthProperties.AUDIENCE;
import static org.jclouds.oauth.v2.config.OAuthProperties.JWS_ALG;
@@ -35,12 +34,10 @@ import org.jclouds.location.Provider;
import org.jclouds.oauth.v2.config.OAuthScopes;
import org.jclouds.oauth.v2.domain.Header;
import org.jclouds.oauth.v2.domain.TokenRequest;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.Supplier;
-import com.google.common.reflect.Invokable;
/** Builds the default token request with the following claims: {@code iss,scope,aud,iat,exp}. */
public class BuildTokenRequest implements Function<HttpRequest, TokenRequest> {
@@ -49,13 +46,14 @@ public class BuildTokenRequest implements Function<HttpRequest, TokenRequest> {
private final String assertionTargetDescription;
private final String signatureAlgorithm;
private final Supplier<Credentials> credentialsSupplier;
+ private final OAuthScopes scopes;
private final long tokenDuration;
public static class TestBuildTokenRequest extends BuildTokenRequest {
@Inject TestBuildTokenRequest(@Named(AUDIENCE) String assertionTargetDescription,
@Named(JWS_ALG) String signatureAlgorithm, @Provider Supplier<Credentials> credentialsSupplier,
- @Named(PROPERTY_SESSION_INTERVAL) long tokenDuration) {
- super(assertionTargetDescription, signatureAlgorithm, credentialsSupplier, tokenDuration);
+ OAuthScopes scopes, @Named(PROPERTY_SESSION_INTERVAL) long tokenDuration) {
+ super(assertionTargetDescription, signatureAlgorithm, credentialsSupplier, scopes, tokenDuration);
}
public long currentTimeSeconds() {
@@ -65,10 +63,11 @@ public class BuildTokenRequest implements Function<HttpRequest, TokenRequest> {
@Inject BuildTokenRequest(@Named(AUDIENCE) String assertionTargetDescription,
@Named(JWS_ALG) String signatureAlgorithm, @Provider Supplier<Credentials> credentialsSupplier,
- @Named(PROPERTY_SESSION_INTERVAL) long tokenDuration) {
+ OAuthScopes scopes, @Named(PROPERTY_SESSION_INTERVAL) long tokenDuration) {
this.assertionTargetDescription = assertionTargetDescription;
this.signatureAlgorithm = signatureAlgorithm;
this.credentialsSupplier = credentialsSupplier;
+ this.scopes = scopes;
this.tokenDuration = tokenDuration;
}
@@ -77,7 +76,7 @@ public class BuildTokenRequest implements Function<HttpRequest, TokenRequest> {
Map<String, Object> claims = new LinkedHashMap<String, Object>();
claims.put("iss", credentialsSupplier.get().identity);
- claims.put("scope", getOAuthScopes((GeneratedHttpRequest) request));
+ claims.put("scope", ON_COMMA.join(scopes.forRequest(request)));
claims.put("aud", assertionTargetDescription);
long now = currentTimeSeconds();
@@ -87,18 +86,6 @@ public class BuildTokenRequest implements Function<HttpRequest, TokenRequest> {
return TokenRequest.create(header, claims);
}
- //TODO: Remove and switch to a request function.
- private String getOAuthScopes(GeneratedHttpRequest request) {
- Invokable<?, ?> invokable = request.getInvocation().getInvokable();
- OAuthScopes classScopes = invokable.getOwnerType().getRawType().getAnnotation(OAuthScopes.class);
- OAuthScopes methodScopes = invokable.getAnnotation(OAuthScopes.class);
- checkState(classScopes != null || methodScopes != null, "Api interface or method should be annotated " //
- + "with OAuthScopes specifying required permissions. Api interface: %s, Method: %s", //
- invokable.getOwnerType(), invokable.getName());
- OAuthScopes scopes = methodScopes != null ? methodScopes : classScopes;
- return ON_COMMA.join(scopes.value());
- }
-
long currentTimeSeconds() {
return System.currentTimeMillis() / 1000;
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/oauth/src/test/java/org/jclouds/oauth/v2/binders/TokenBinderTest.java
----------------------------------------------------------------------
diff --git a/oauth/src/test/java/org/jclouds/oauth/v2/binders/TokenBinderTest.java b/oauth/src/test/java/org/jclouds/oauth/v2/binders/TokenBinderTest.java
index 2f56aaf..93042f4 100644
--- a/oauth/src/test/java/org/jclouds/oauth/v2/binders/TokenBinderTest.java
+++ b/oauth/src/test/java/org/jclouds/oauth/v2/binders/TokenBinderTest.java
@@ -25,29 +25,31 @@ import static org.testng.Assert.assertTrue;
import java.io.IOException;
import java.util.Map;
-import org.jclouds.ContextBuilder;
import org.jclouds.http.HttpRequest;
-import org.jclouds.oauth.v2.OAuthApiMetadata;
-import org.jclouds.oauth.v2.OAuthTestUtils;
+import org.jclouds.json.config.GsonModule;
import org.jclouds.oauth.v2.domain.Header;
import org.jclouds.oauth.v2.domain.TokenRequest;
import org.jclouds.util.Strings2;
import org.testng.annotations.Test;
+import com.google.common.base.Function;
+import com.google.common.base.Functions;
import com.google.common.base.Splitter;
+import com.google.common.base.Supplier;
+import com.google.common.base.Suppliers;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
+import com.google.inject.Binder;
+import com.google.inject.Guice;
+import com.google.inject.Module;
+import com.google.inject.Provides;
@Test(groups = "unit", testName = "OAuthTokenBinderTest")
public class TokenBinderTest {
public static final String STRING_THAT_GENERATES_URL_UNSAFE_BASE64_ENCODING = "§1234567890'+±!\"#$%&/()" +
- "=?*qwertyuiopº´WERTYUIOPªàsdfghjklç~ASDFGHJKLÇ^<zxcvbnm," +
- ".->ZXCVBNM;:_@€";
+ "=?*qwertyuiopº´WERTYUIOPªàsdfghjklç~ASDFGHJKLÇ^<zxcvbnm,.->ZXCVBNM;:_@€";
public void testPayloadIsUrlSafe() throws IOException {
- TokenBinder tokenRequestFormat = ContextBuilder.newBuilder(new OAuthApiMetadata()).overrides
- (OAuthTestUtils.defaultProperties(null)).build().utils()
- .injector().getInstance(TokenBinder.class);
Header header = Header.create("a", "b");
Map<String, Object> claims = ImmutableMap.<String, Object>builder()
@@ -56,7 +58,7 @@ public class TokenBinderTest {
.put("ist", STRING_THAT_GENERATES_URL_UNSAFE_BASE64_ENCODING).build();
TokenRequest tokenRequest = TokenRequest.create(header, claims);
- HttpRequest request = tokenRequestFormat.bindToRequest(
+ HttpRequest request = tokenBinder.bindToRequest(
HttpRequest.builder().method("GET").endpoint("http://localhost").build(), tokenRequest);
assertNotNull(request.getPayload());
@@ -71,4 +73,13 @@ public class TokenBinderTest {
assertTrue(!payload.contains("+"));
assertTrue(!payload.contains("/"));
}
+
+ private final TokenBinder tokenBinder = Guice.createInjector(new GsonModule(), new Module() {
+ @Override public void configure(Binder binder) {
+ }
+
+ @Provides Supplier<Function<byte[], byte[]>> signer() {
+ return (Supplier) Suppliers.ofInstance(Functions.constant(null));
+ }
+ }).getInstance(TokenBinder.class);
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/oauth/src/test/java/org/jclouds/oauth/v2/features/OAuthApiLiveTest.java
----------------------------------------------------------------------
diff --git a/oauth/src/test/java/org/jclouds/oauth/v2/features/OAuthApiLiveTest.java b/oauth/src/test/java/org/jclouds/oauth/v2/features/OAuthApiLiveTest.java
index a48b725..cc83f8b 100644
--- a/oauth/src/test/java/org/jclouds/oauth/v2/features/OAuthApiLiveTest.java
+++ b/oauth/src/test/java/org/jclouds/oauth/v2/features/OAuthApiLiveTest.java
@@ -65,14 +65,13 @@ public class OAuthApiLiveTest extends BaseOAuthApiLiveTest {
Header header = Header.create(jwsAlg, "JWT");
- String scopes = getMandatoryProperty(properties, "jclouds.oauth.scopes");
String audience = getMandatoryProperty(properties, AUDIENCE);
- long now = nowInSeconds();
+ long now = System.currentTimeMillis() / 1000;
Map<String, Object> claims = ImmutableMap.<String, Object>builder()
.put("iss", identity)
- .put("scope", scopes)
+ .put("scope", scope)
.put("aud", audience)
.put(EXPIRATION_TIME, now + 3600)
.put(ISSUED_AT, now).build();
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/oauth/src/test/java/org/jclouds/oauth/v2/features/OAuthApiMockTest.java
----------------------------------------------------------------------
diff --git a/oauth/src/test/java/org/jclouds/oauth/v2/features/OAuthApiMockTest.java b/oauth/src/test/java/org/jclouds/oauth/v2/features/OAuthApiMockTest.java
index f76a360..febaee7 100644
--- a/oauth/src/test/java/org/jclouds/oauth/v2/features/OAuthApiMockTest.java
+++ b/oauth/src/test/java/org/jclouds/oauth/v2/features/OAuthApiMockTest.java
@@ -37,6 +37,8 @@ import org.jclouds.concurrent.config.ExecutorServiceModule;
import org.jclouds.oauth.v2.OAuthApi;
import org.jclouds.oauth.v2.OAuthApiMetadata;
import org.jclouds.oauth.v2.OAuthTestUtils;
+import org.jclouds.oauth.v2.config.OAuthScopes;
+import org.jclouds.oauth.v2.config.OAuthScopes.SingleScope;
import org.jclouds.oauth.v2.domain.Header;
import org.jclouds.oauth.v2.domain.Token;
import org.jclouds.oauth.v2.domain.TokenRequest;
@@ -46,6 +48,7 @@ import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.io.BaseEncoding;
+import com.google.inject.Binder;
import com.google.inject.Module;
import com.squareup.okhttp.mockwebserver.MockResponse;
import com.squareup.okhttp.mockwebserver.MockWebServer;
@@ -53,19 +56,19 @@ import com.squareup.okhttp.mockwebserver.RecordedRequest;
@Test(groups = "unit", testName = "OAuthApiMockTest")
public class OAuthApiMockTest {
+ private static final String SCOPE = "https://www.googleapis.com/auth/prediction";
private static final String header = "{\"alg\":\"RS256\",\"typ\":\"JWT\"}";
private static final String claims = "{\"iss\":\"761326798069-r5mljlln1rd4lrbhg75efgigp36m78j5@developer" +
- ".gserviceaccount.com\"," +
- "\"scope\":\"https://www.googleapis.com/auth/prediction\",\"aud\":\"https://accounts.google" +
+ ".gserviceaccount.com\",\"scope\":\"" + SCOPE + "\",\"aud\":\"https://accounts.google" +
".com/o/oauth2/token\",\"exp\":1328573381,\"iat\":1328569781}";
private static final Token TOKEN = Token.create("1/8xbJqaOZXSUZbHLl5EOtu1pxz3fmmetKx9W8CV4t79M", "Bearer", 3600);
private static final Map<String, Object> CLAIMS = ImmutableMap.<String, Object>builder()
.put("iss", "761326798069-r5mljlln1rd4lrbhg75efgigp36m78j5@developer.gserviceaccount.com")
- .put("scope", "https://www.googleapis.com/auth/prediction")
+ .put("scope", SCOPE)
.put("aud", "https://accounts.google.com/o/oauth2/token")
.put(EXPIRATION_TIME, 1328573381)
.put(ISSUED_AT, 1328569781).build();
@@ -113,7 +116,11 @@ public class OAuthApiMockTest {
.credentials("foo", toStringAndClose(OAuthTestUtils.class.getResourceAsStream("/testpk.pem")))
.endpoint(url.toString())
.overrides(overrides)
- .modules(ImmutableSet.<Module>of(new ExecutorServiceModule(sameThreadExecutor())))
+ .modules(ImmutableSet.of(new ExecutorServiceModule(sameThreadExecutor()), new Module() {
+ @Override public void configure(Binder binder) {
+ binder.bind(OAuthScopes.class).toInstance(SingleScope.create(SCOPE));
+ }
+ }))
.buildApi(OAuthApi.class);
}
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/oauth/src/test/java/org/jclouds/oauth/v2/internal/BaseOAuthApiLiveTest.java
----------------------------------------------------------------------
diff --git a/oauth/src/test/java/org/jclouds/oauth/v2/internal/BaseOAuthApiLiveTest.java b/oauth/src/test/java/org/jclouds/oauth/v2/internal/BaseOAuthApiLiveTest.java
index 0a50dfe..2421d16 100644
--- a/oauth/src/test/java/org/jclouds/oauth/v2/internal/BaseOAuthApiLiveTest.java
+++ b/oauth/src/test/java/org/jclouds/oauth/v2/internal/BaseOAuthApiLiveTest.java
@@ -20,36 +20,44 @@ import static com.google.common.base.Preconditions.checkNotNull;
import static org.jclouds.oauth.v2.OAuthTestUtils.setCredential;
import static org.jclouds.oauth.v2.config.OAuthProperties.AUDIENCE;
import static org.jclouds.oauth.v2.config.OAuthProperties.JWS_ALG;
+import static org.jclouds.oauth.v2.config.OAuthScopes.SingleScope;
import java.util.Properties;
-import java.util.concurrent.TimeUnit;
import org.jclouds.apis.BaseApiLiveTest;
import org.jclouds.oauth.v2.OAuthApi;
+import org.jclouds.oauth.v2.config.OAuthScopes;
import org.testng.annotations.Test;
+import com.google.common.collect.ImmutableList;
+import com.google.inject.Binder;
+import com.google.inject.Module;
@Test(groups = "live")
public class BaseOAuthApiLiveTest extends BaseApiLiveTest<OAuthApi> {
+ protected String scope;
+
public BaseOAuthApiLiveTest() {
provider = "oauth";
}
- @Override
- protected Properties setupProperties() {
+ @Override protected Properties setupProperties() {
Properties props = super.setupProperties();
setCredential(props, "oauth.credential");
checkNotNull(setIfTestSystemPropertyPresent(props, "oauth.endpoint"), "test.oauth.endpoint must be set");
checkNotNull(setIfTestSystemPropertyPresent(props, AUDIENCE), "test.jclouds.oauth.audience must be set");
- setIfTestSystemPropertyPresent(props, "jclouds.oauth.scopes");
+ scope = setIfTestSystemPropertyPresent(props, "jclouds.oauth.scope");
setIfTestSystemPropertyPresent(props, JWS_ALG);
return props;
}
- protected long nowInSeconds() {
- return TimeUnit.SECONDS.convert(System.currentTimeMillis(), TimeUnit.MILLISECONDS);
+ @Override protected Iterable<Module> setupModules() {
+ return ImmutableList.<Module>builder().add(new Module() {
+ @Override public void configure(Binder binder) {
+ binder.bind(OAuthScopes.class).toInstance(SingleScope.create(scope));
+ }
+ }).addAll(super.setupModules()).build();
}
-
}
[2/3] jclouds-labs-google git commit: * Change OAuthScopes into an
interface as opposed to boilerplating annotations. * Fixed errors because of
boilerplating annotations.
Posted by ad...@apache.org.
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/DiskTypeApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/DiskTypeApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/DiskTypeApi.java
index b688ae4..a0a00be 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/DiskTypeApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/DiskTypeApi.java
@@ -17,7 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
import java.util.Iterator;
@@ -36,7 +35,6 @@ import org.jclouds.googlecomputeengine.domain.ListPage;
import org.jclouds.googlecomputeengine.internal.BaseCallerArg0ToIteratorOfListPage;
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.RequestFilters;
@@ -49,7 +47,6 @@ import com.google.common.base.Function;
@RequestFilters(OAuthAuthenticationFilter.class)
@Path("/diskTypes")
@Consumes(APPLICATION_JSON)
-@OAuthScopes(COMPUTE_READONLY_SCOPE)
public interface DiskTypeApi {
/** Returns a disk type by name or null if not found. */
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/FirewallApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/FirewallApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/FirewallApi.java
index 673ec3f..9c25376 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/FirewallApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/FirewallApi.java
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import java.net.URI;
import java.util.Iterator;
@@ -46,7 +44,6 @@ import org.jclouds.googlecomputeengine.internal.PATCH;
import org.jclouds.googlecomputeengine.options.FirewallOptions;
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.BinderParam;
import org.jclouds.rest.annotations.Fallback;
@@ -69,7 +66,6 @@ public interface FirewallApi {
@Named("Firewalls:get")
@GET
@Path("/{firewall}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Firewall get(@PathParam("firewall") String firewall);
@@ -86,7 +82,6 @@ public interface FirewallApi {
@Named("Firewalls:insert")
@POST
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(FirewallBinder.class)
Operation createInNetwork(@PayloadParam("name") String name,
@PayloadParam("network") URI network,
@@ -104,7 +99,6 @@ public interface FirewallApi {
@PUT
@Produces(APPLICATION_JSON)
@Path("/{firewall}")
- @OAuthScopes(COMPUTE_SCOPE)
Operation update(@PathParam("firewall") String firewall,
@BinderParam(BindToJsonPayload.class) FirewallOptions firewallOptions);
@@ -120,7 +114,6 @@ public interface FirewallApi {
@PATCH
@Produces(APPLICATION_JSON)
@Path("/{firewall}")
- @OAuthScopes(COMPUTE_SCOPE)
Operation patch(@PathParam("firewall") String firewall,
@BinderParam(BindToJsonPayload.class) FirewallOptions firewallOptions);
@@ -128,7 +121,6 @@ public interface FirewallApi {
@Named("Firewalls:delete")
@DELETE
@Path("/{firewall}")
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
Operation delete(@PathParam("firewall") String firewall);
@@ -143,20 +135,17 @@ public interface FirewallApi {
*/
@Named("Firewalls:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<Firewall> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@Named("Firewalls:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(FirewallPages.class)
Iterator<ListPage<Firewall>> list();
/** @see #listPage(String, ListOptions) */
@Named("Firewalls:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(FirewallPages.class)
Iterator<ListPage<Firewall>> list(ListOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/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 1991226..90a591b 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
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import java.net.URI;
import java.util.Iterator;
@@ -44,7 +42,6 @@ import org.jclouds.googlecomputeengine.internal.BaseCallerArg0ToIteratorOfListPa
import org.jclouds.googlecomputeengine.options.ForwardingRuleCreationOptions;
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.rest.annotations.Fallback;
import org.jclouds.rest.annotations.MapBinder;
@@ -66,7 +63,6 @@ public interface ForwardingRuleApi {
@Named("ForwardingRules:get")
@GET
@Path("/{forwardingRule}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
ForwardingRule get(@PathParam("forwardingRule") String forwardingRule);
@@ -81,7 +77,6 @@ public interface ForwardingRuleApi {
@Named("ForwardingRules:insert")
@POST
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(ForwardingRuleCreationBinder.class)
Operation create(@PayloadParam("name") String forwardingRuleName,
@PayloadParam("options") ForwardingRuleCreationOptions options);
@@ -91,7 +86,6 @@ public interface ForwardingRuleApi {
@Named("ForwardingRules:delete")
@DELETE
@Path("/{forwardingRule}")
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Operation delete(@PathParam("forwardingRule") String forwardingRule);
@@ -109,7 +103,6 @@ public interface ForwardingRuleApi {
@Named("ForwardingRules:setTarget")
@POST
@Path("/{forwardingRule}/setTarget")
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@MapBinder(BindToJsonPayload.class)
@Nullable
@@ -126,20 +119,17 @@ public interface ForwardingRuleApi {
*/
@Named("ForwardingRules:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<ForwardingRule> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@Named("ForwardingRules:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(ForwardingRulePages.class)
Iterator<ListPage<ForwardingRule>> list();
/** @see #listPage(String, ListOptions) */
@Named("ForwardingRules:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(ForwardingRulePages.class)
Iterator<ListPage<ForwardingRule>> list(ListOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApi.java
index 1dc88c5..767f6a3 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApi.java
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import java.util.Iterator;
@@ -44,7 +42,6 @@ import org.jclouds.googlecomputeengine.internal.BaseToIteratorOfListPage;
import org.jclouds.googlecomputeengine.options.HttpHealthCheckCreationOptions;
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.rest.annotations.Fallback;
import org.jclouds.rest.annotations.MapBinder;
@@ -67,7 +64,6 @@ public interface HttpHealthCheckApi {
@Named("HttpHealthChecks:get")
@GET
@Path("/{httpHealthCheck}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
HttpHealthCheck get(@PathParam("httpHealthCheck") String httpHealthCheck);
@@ -82,7 +78,6 @@ public interface HttpHealthCheckApi {
@Named("HttpHealthChecks:insert")
@POST
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(BindToJsonPayload.class)
Operation insert(@PayloadParam("name") String httpHealthCheckName);
@@ -96,7 +91,6 @@ public interface HttpHealthCheckApi {
@Named("HttpHealthChecks:insert")
@POST
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(HttpHealthCheckCreationBinder.class)
Operation insert(@PayloadParam("name") String name, @PayloadParam("options") HttpHealthCheckCreationOptions options);
@@ -104,7 +98,6 @@ public interface HttpHealthCheckApi {
@Named("HttpHealthChecks:delete")
@DELETE
@Path("/{httpHealthCheck}")
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Operation delete(@PathParam("httpHealthCheck") String httpHealthCheck);
@@ -121,7 +114,6 @@ public interface HttpHealthCheckApi {
@Named("HttpHealthChecks:patch")
@PATCH
@Path("/{httpHealthCheck}")
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(HttpHealthCheckCreationBinder.class)
@Nullable
Operation patch(@PathParam("httpHealthCheck") @PayloadParam("name") String name,
@@ -140,7 +132,6 @@ public interface HttpHealthCheckApi {
@PUT
@Path("/{httpHealthCheck}")
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(HttpHealthCheckCreationBinder.class)
Operation update(@PathParam("httpHealthCheck") @PayloadParam("name") String name,
@PayloadParam("options") HttpHealthCheckCreationOptions options);
@@ -156,20 +147,17 @@ public interface HttpHealthCheckApi {
*/
@Named("HttpHealthChecks:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<HttpHealthCheck> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@Named("HttpHealthChecks:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(HttpHealthCheckPages.class)
Iterator<ListPage<HttpHealthCheck>> list();
/** @see #listPage(String, ListOptions) */
@Named("HttpHealthChecks:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(HttpHealthCheckPages.class)
Iterator<ListPage<HttpHealthCheck>> list(ListOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ImageApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ImageApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ImageApi.java
index 996f9fc..e4faa6f 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ImageApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ImageApi.java
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import java.net.URI;
import java.util.Iterator;
@@ -44,7 +42,6 @@ import org.jclouds.googlecomputeengine.internal.BaseArg0ToIteratorOfListPage;
import org.jclouds.googlecomputeengine.internal.BaseToIteratorOfListPage;
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.Endpoint;
import org.jclouds.rest.annotations.EndpointParam;
@@ -66,7 +63,6 @@ public interface ImageApi {
/** Returns an image by self-link or null if not found. */
@Named("Images:get")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Image get(@EndpointParam URI selfLink);
@@ -76,7 +72,6 @@ public interface ImageApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/global/images/{image}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Image get(@PathParam("image") String image);
@@ -86,7 +81,6 @@ public interface ImageApi {
@DELETE
@Endpoint(CurrentProject.class)
@Path("/global/images/{image}")
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Operation delete(@PathParam("image") String image);
@@ -104,7 +98,6 @@ public interface ImageApi {
@Endpoint(CurrentProject.class)
@Path("/global/images")
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(BindToJsonPayload.class)
Operation createFromDisk(@PayloadParam("name") String image, @PayloadParam("sourceDisk") String sourceDisk);
@@ -121,7 +114,6 @@ public interface ImageApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/global/images")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<Image> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@@ -129,7 +121,6 @@ public interface ImageApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/global/images")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(ImagePages.class)
Iterator<ListPage<Image>> list();
@@ -138,7 +129,6 @@ public interface ImageApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/global/images")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(ImagePages.class)
Iterator<ListPage<Image>> list(ListOptions options);
@@ -171,7 +161,6 @@ public interface ImageApi {
@Named("Images:list")
@GET
@Path("/projects/{project}/global/images")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<Image> listPageInProject(@PathParam("project") String projectName,
@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
@@ -181,7 +170,6 @@ public interface ImageApi {
@Named("Images:list")
@GET
@Path("/projects/{project}/global/images")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(ImagePagesInProject.class)
Iterator<ListPage<Image>> listInProject(@PathParam("project") String projectName);
@@ -191,7 +179,6 @@ public interface ImageApi {
@Named("Images:list")
@GET
@Path("/projects/{project}/global/images")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(ImagePagesInProject.class)
Iterator<ListPage<Image>> listInProject(@PathParam("project") String projectName, ListOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java
index 9e6dfd2..05bc23a 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.jclouds.googlecomputeengine.domain.Instance.NetworkInterface.AccessConfig;
import static org.jclouds.googlecomputeengine.domain.Instance.SerialPortOutput;
@@ -46,7 +44,6 @@ import org.jclouds.googlecomputeengine.internal.BaseCallerArg0ToIteratorOfListPa
import org.jclouds.googlecomputeengine.options.AttachDiskOptions;
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.BinderParam;
import org.jclouds.rest.annotations.Fallback;
@@ -69,7 +66,6 @@ public interface InstanceApi {
@Named("Instances:get")
@GET
@Path("/{instance}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Instance get(@PathParam("instance") String instance);
@@ -84,14 +80,12 @@ public interface InstanceApi {
@Named("Instances:insert")
@POST
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
Operation create(@BinderParam(BindToJsonPayload.class) NewInstance template);
/** Deletes an instance by name and returns the operation in progress, or null if not found. */
@Named("Instances:delete")
@DELETE
@Path("/{instance}")
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Operation delete(@PathParam("instance") String instance);
@@ -109,7 +103,6 @@ public interface InstanceApi {
@POST
@Produces(APPLICATION_JSON)
@Path("/{instance}/addAccessConfig")
- @OAuthScopes(COMPUTE_SCOPE)
Operation addAccessConfigToNic(@PathParam("instance") String instance,
@BinderParam(BindToJsonPayload.class)
AccessConfig accessConfig,
@@ -127,7 +120,6 @@ public interface InstanceApi {
@Named("Instances:deleteAccessConfig")
@DELETE
@Path("/{instance}/deleteAccessConfig")
- @OAuthScopes(COMPUTE_SCOPE)
Operation deleteAccessConfigFromNic(@PathParam("instance") String instance,
@QueryParam("access_config") String accessConfigName,
@QueryParam("network_interface") String networkInterfaceName);
@@ -141,7 +133,6 @@ public interface InstanceApi {
@Named("Instances:serialPort")
@GET
@Path("/{instance}/serialPort")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
SerialPortOutput getSerialPortOutput(@PathParam("instance") String instance);
/**
@@ -154,7 +145,6 @@ public interface InstanceApi {
@Named("Instances:reset")
@POST
@Path("/{instance}/reset")
- @OAuthScopes(COMPUTE_SCOPE)
Operation reset(@PathParam("instance") String instance);
/**
@@ -170,7 +160,6 @@ public interface InstanceApi {
@POST
@Produces(APPLICATION_JSON)
@Path("/{instance}/attachDisk")
- @OAuthScopes(COMPUTE_SCOPE)
Operation attachDisk(@PathParam("instance") String instance,
@BinderParam(BindToJsonPayload.class) AttachDiskOptions attachDiskOptions);
@@ -186,7 +175,6 @@ public interface InstanceApi {
@Named("Instances:detachDisk")
@POST
@Path("/{instance}/detachDisk")
- @OAuthScopes(COMPUTE_SCOPE)
Operation detachDisk(@PathParam("instance") String instance, @QueryParam("deviceName") String deviceName);
/**
@@ -209,8 +197,6 @@ public interface InstanceApi {
@Named("Instances:setMetadata")
@POST
@Path("/{instance}/setMetadata")
- @OAuthScopes(COMPUTE_SCOPE)
- @Produces(APPLICATION_JSON)
Operation setMetadata(@PathParam("instance") String instance,
@BinderParam(BindToJsonPayload.class) Metadata metadata);
@@ -226,7 +212,6 @@ public interface InstanceApi {
@Named("Instances:setTags")
@POST
@Path("/{instance}/setTags")
- @OAuthScopes(COMPUTE_SCOPE)
@Produces(APPLICATION_JSON)
@MapBinder(BindToJsonPayload.class)
Operation setTags(@PathParam("instance") String instance,
@@ -244,20 +229,17 @@ public interface InstanceApi {
*/
@Named("Instances:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<Instance> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@Named("Instances:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(InstancePages.class)
Iterator<ListPage<Instance>> list();
/** @see #listPage(String, ListOptions) */
@Named("Instances:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(InstancePages.class)
Iterator<ListPage<Instance>> list(ListOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/MachineTypeApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/MachineTypeApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/MachineTypeApi.java
index f2330b2..543c15f 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/MachineTypeApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/MachineTypeApi.java
@@ -17,7 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
import java.util.Iterator;
@@ -36,7 +35,6 @@ import org.jclouds.googlecomputeengine.domain.MachineType;
import org.jclouds.googlecomputeengine.internal.BaseCallerArg0ToIteratorOfListPage;
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.RequestFilters;
@@ -55,7 +53,6 @@ public interface MachineTypeApi {
@Named("MachineTypes:get")
@GET
@Path("/{machineType}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
MachineType get(@PathParam("machineType") String machineType);
@@ -70,20 +67,17 @@ public interface MachineTypeApi {
*/
@Named("MachineTypes:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<MachineType> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@Named("MachineTypes:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(MachineTypePages.class)
Iterator<ListPage<MachineType>> list();
/** @see #listPage(String, ListOptions) */
@Named("MachineTypes:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(MachineTypePages.class)
Iterator<ListPage<MachineType>> list(ListOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/NetworkApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/NetworkApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/NetworkApi.java
index 85a96bf..7ef7e0e 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/NetworkApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/NetworkApi.java
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import java.util.Iterator;
@@ -41,7 +39,6 @@ import org.jclouds.googlecomputeengine.domain.Operation;
import org.jclouds.googlecomputeengine.internal.BaseToIteratorOfListPage;
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;
@@ -63,7 +60,6 @@ public interface NetworkApi {
@Named("Networks:get")
@GET
@Path("/{network}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
Network get(@PathParam("network") String networkName);
@@ -78,7 +74,6 @@ public interface NetworkApi {
@Named("Networks:insert")
@POST
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(BindToJsonPayload.class)
Operation createInIPv4Range(@PayloadParam("name") String networkName,
@PayloadParam("IPv4Range") String IPv4Range);
@@ -95,7 +90,6 @@ public interface NetworkApi {
@Named("Networks:insert")
@POST
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(BindToJsonPayload.class)
Operation createInIPv4RangeWithGateway(@PayloadParam("name") String networkName,
@PayloadParam("IPv4Range") String IPv4Range,
@@ -105,7 +99,6 @@ public interface NetworkApi {
@Named("Networks:delete")
@DELETE
@Path("/{network}")
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
Operation delete(@PathParam("network") String networkName);
@@ -120,20 +113,17 @@ public interface NetworkApi {
*/
@Named("Networks:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<Network> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@Named("Networks:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(NetworkPages.class)
Iterator<ListPage<Network>> list();
/** @see #listPage(String, ListOptions) */
@Named("Networks:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(NetworkPages.class)
Iterator<ListPage<Network>> list(ListOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/OperationApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/OperationApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/OperationApi.java
index 734bd06..938fd85 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/OperationApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/OperationApi.java
@@ -18,8 +18,6 @@ package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import static org.jclouds.Fallbacks.VoidOnNotFoundOr404;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import java.net.URI;
import java.util.Iterator;
@@ -42,7 +40,6 @@ import org.jclouds.googlecomputeengine.internal.BaseArg0ToIteratorOfListPage;
import org.jclouds.googlecomputeengine.internal.BaseToIteratorOfListPage;
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.Endpoint;
import org.jclouds.rest.annotations.EndpointParam;
@@ -61,7 +58,6 @@ public interface OperationApi {
/** Returns an operation by self-link or null if not found. */
@Named("Operations:get")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Operation get(@EndpointParam URI operation);
@@ -69,7 +65,6 @@ public interface OperationApi {
/** Deletes an operation by name. */
@Named("Operations:delete")
@DELETE
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(VoidOnNotFoundOr404.class)
void delete(@EndpointParam URI operation);
@@ -86,7 +81,6 @@ public interface OperationApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/global/operations")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<Operation> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@@ -94,7 +88,6 @@ public interface OperationApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/global/operations")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(OperationPages.class)
Iterator<ListPage<Operation>> list();
@@ -103,7 +96,6 @@ public interface OperationApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/global/operations")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(OperationPages.class)
Iterator<ListPage<Operation>> list(ListOptions options);
@@ -137,7 +129,6 @@ public interface OperationApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/regions/{region}/operations")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<Operation> listPageInRegion(@PathParam("region") String region,
@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
@@ -146,7 +137,6 @@ public interface OperationApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/regions/{region}/operations")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(OperationPagesInRegion.class)
Iterator<ListPage<Operation>> listInRegion(@PathParam("region") String region);
@@ -155,7 +145,6 @@ public interface OperationApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/regions/{region}/operations")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(OperationPagesInRegion.class)
Iterator<ListPage<Operation>> listInRegion(@PathParam("region") String region, ListOptions options);
@@ -191,7 +180,6 @@ public interface OperationApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/zones/{zone}/operations")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<Operation> listPageInZone(@PathParam("zone") String zone,
@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
@@ -200,7 +188,6 @@ public interface OperationApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/zones/{zone}/operations")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(OperationPagesInZone.class)
Iterator<ListPage<Operation>> listInZone(@PathParam("zone") String zone);
@@ -209,7 +196,6 @@ public interface OperationApi {
@GET
@Endpoint(CurrentProject.class)
@Path("/zones/{zone}/operations")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(OperationPagesInZone.class)
Iterator<ListPage<Operation>> listInZone(@PathParam("zone") String zone, ListOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ProjectApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ProjectApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ProjectApi.java
index b6242c6..86cca47 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ProjectApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ProjectApi.java
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import javax.inject.Named;
import javax.ws.rs.Consumes;
@@ -31,7 +29,6 @@ import org.jclouds.googlecomputeengine.GoogleComputeEngineFallbacks.NullOn400or4
import org.jclouds.googlecomputeengine.domain.Metadata;
import org.jclouds.googlecomputeengine.domain.Operation;
import org.jclouds.googlecomputeengine.domain.Project;
-import org.jclouds.oauth.v2.config.OAuthScopes;
import org.jclouds.oauth.v2.filters.OAuthAuthenticationFilter;
import org.jclouds.rest.annotations.BinderParam;
import org.jclouds.rest.annotations.Fallback;
@@ -47,7 +44,6 @@ public interface ProjectApi {
/** Get the current project. */
@Named("Projects:get")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOn400or404.class)
Project get();
@@ -69,7 +65,6 @@ public interface ProjectApi {
@Named("Projects:setCommonInstanceMetadata")
@POST
@Path("/setCommonInstanceMetadata")
- @OAuthScopes(COMPUTE_SCOPE)
@Produces(APPLICATION_JSON)
Operation setCommonInstanceMetadata(@BinderParam(BindToJsonPayload.class) Metadata metadata);
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/RegionApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/RegionApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/RegionApi.java
index debf050..658ec86 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/RegionApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/RegionApi.java
@@ -17,7 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
import java.util.Iterator;
@@ -36,7 +35,6 @@ import org.jclouds.googlecomputeengine.domain.Region;
import org.jclouds.googlecomputeengine.internal.BaseToIteratorOfListPage;
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.RequestFilters;
@@ -49,7 +47,6 @@ import com.google.common.base.Function;
@RequestFilters(OAuthAuthenticationFilter.class)
@Path("/regions")
@Consumes(APPLICATION_JSON)
-@OAuthScopes(COMPUTE_READONLY_SCOPE)
public interface RegionApi {
/** Returns a region by name or null if not found. */
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/RouteApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/RouteApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/RouteApi.java
index d1f1938..aedbc1b 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/RouteApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/RouteApi.java
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import java.net.URI;
import java.util.Iterator;
@@ -44,7 +42,6 @@ import org.jclouds.googlecomputeengine.internal.BaseToIteratorOfListPage;
import org.jclouds.googlecomputeengine.options.ListOptions;
import org.jclouds.googlecomputeengine.options.RouteOptions;
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;
@@ -65,16 +62,13 @@ public interface RouteApi {
@Named("Routes:get")
@GET
@Path("/{route}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
Route get(@PathParam("route") String routeName);
/** Deletes a route by name and returns the operation in progress, or null if not found. */
@Named("Routes:delete")
@DELETE
- @Consumes(APPLICATION_JSON)
@Path("/{route}")
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Operation delete(@PathParam("route") String routeName);
@@ -90,9 +84,7 @@ public interface RouteApi {
*/
@Named("Routes:insert")
@POST
- @Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(RouteBinder.class)
Operation createInNetwork(@PayloadParam("name") String name,
@PayloadParam("network") URI network,
@@ -109,20 +101,17 @@ public interface RouteApi {
*/
@Named("Routes:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<Route> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@Named("Routes:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(RoutePages.class)
Iterator<ListPage<Route>> list();
/** @see #listPage(String, ListOptions) */
@Named("Routes:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(RoutePages.class)
Iterator<ListPage<Route>> list(ListOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/SnapshotApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/SnapshotApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/SnapshotApi.java
index 4b65417..9af65a6 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/SnapshotApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/SnapshotApi.java
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import java.util.Iterator;
@@ -39,7 +37,6 @@ import org.jclouds.googlecomputeengine.domain.Snapshot;
import org.jclouds.googlecomputeengine.internal.BaseToIteratorOfListPage;
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.RequestFilters;
@@ -58,7 +55,6 @@ public interface SnapshotApi {
@Named("Snapshots:get")
@GET
@Path("/{snapshot}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Snapshot get(@PathParam("snapshot") String snapshot);
@@ -67,7 +63,6 @@ public interface SnapshotApi {
@Named("Snapshots:delete")
@DELETE
@Path("/{snapshot}")
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Operation delete(@PathParam("snapshot") String snapshot);
@@ -83,20 +78,17 @@ public interface SnapshotApi {
*/
@Named("Snapshots:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<Snapshot> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@Named("Snapshots:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(SnapshotPages.class)
Iterator<ListPage<Snapshot>> list();
/** @see #listPage(String, ListOptions) */
@Named("Snapshots:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(SnapshotPages.class)
Iterator<ListPage<Snapshot>> list(ListOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/TargetPoolApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/TargetPoolApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/TargetPoolApi.java
index ff15fab..534d769 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/TargetPoolApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/TargetPoolApi.java
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import java.net.URI;
import java.util.Iterator;
@@ -47,7 +45,6 @@ import org.jclouds.googlecomputeengine.internal.BaseCallerArg0ToIteratorOfListPa
import org.jclouds.googlecomputeengine.options.ListOptions;
import org.jclouds.googlecomputeengine.options.TargetPoolCreationOptions;
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.Fallback;
import org.jclouds.rest.annotations.MapBinder;
@@ -69,7 +66,6 @@ public interface TargetPoolApi {
@Named("TargetPools:get")
@GET
@Path("/{targetPool}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
TargetPool get(@PathParam("targetPool") String targetPool);
@@ -85,8 +81,6 @@ public interface TargetPoolApi {
@Named("TargetPools:insert")
@POST
@Produces(APPLICATION_JSON)
- @Path("")
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(TargetPoolCreationBinder.class)
Operation create(@PayloadParam("name") String name, @PayloadParam("options") TargetPoolCreationOptions options);
@@ -94,7 +88,6 @@ public interface TargetPoolApi {
@Named("TargetPools:delete")
@DELETE
@Path("/{targetPool}")
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Operation delete(@PathParam("targetPool") String targetPool);
@@ -111,7 +104,6 @@ public interface TargetPoolApi {
@Named("TargetPools:addInstance")
@POST
@Path("/{targetPool}/addInstance")
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(TargetPoolChangeInstancesBinder.class)
@Nullable
Operation addInstance(@PathParam("targetPool") String targetPool, @PayloadParam("instances") List<URI> instances);
@@ -128,7 +120,6 @@ public interface TargetPoolApi {
@Named("TargetPools:removeInstance")
@POST
@Path("/{targetPool}/removeInstance")
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(TargetPoolChangeInstancesBinder.class)
@Nullable
Operation removeInstance(@PathParam("targetPool") String targetPool, @PayloadParam("instances") List<URI> instances);
@@ -145,7 +136,6 @@ public interface TargetPoolApi {
@Named("TargetPools:addHealthCheck")
@POST
@Path("/{targetPool}/addHealthCheck")
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(TargetPoolChangeHealthChecksBinder.class)
@Nullable
Operation addHealthCheck(@PathParam("targetPool") String targetPool, @PayloadParam("healthChecks") List<URI> healthChecks);
@@ -163,7 +153,6 @@ public interface TargetPoolApi {
@Named("TargetPools:removeHealthChek")
@POST
@Path("/{targetPool}/removeHealthCheck")
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(TargetPoolChangeHealthChecksBinder.class)
@Nullable
Operation removeHealthCheck(@PathParam("targetPool") String targetPool, @PayloadParam("healthChecks") List<URI> healthChecks);
@@ -184,7 +173,6 @@ public interface TargetPoolApi {
@Named("TargetPools:setBackup")
@POST
@Path("/{targetPool}/setBackup")
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(BindToJsonPayload.class)
@Nullable
Operation setBackup(@PathParam("targetPool") String targetPool, @PayloadParam("target") URI target);
@@ -201,7 +189,6 @@ public interface TargetPoolApi {
@Named("TargetPools:setBackup")
@POST
@Path("/{targetPool}/setBackup")
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(BindToJsonPayload.class)
@Nullable
Operation setBackup(@PathParam("targetPool") String targetPool, @QueryParam("failoverRatio") Float failoverRatio, @PayloadParam("target") URI target);
@@ -217,20 +204,17 @@ public interface TargetPoolApi {
*/
@Named("TargetPools:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<TargetPool> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@Named("TargetPools:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(TargetPoolPages.class)
Iterator<ListPage<TargetPool>> list();
/** @see #listPage(String, ListOptions) */
@Named("TargetPools:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(TargetPoolPages.class)
Iterator<ListPage<TargetPool>> list(ListOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ZoneApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ZoneApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ZoneApi.java
index 359518f..e06efa6 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ZoneApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/ZoneApi.java
@@ -17,7 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
import java.util.Iterator;
@@ -36,7 +35,6 @@ import org.jclouds.googlecomputeengine.domain.Zone;
import org.jclouds.googlecomputeengine.internal.BaseToIteratorOfListPage;
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.RequestFilters;
@@ -49,7 +47,6 @@ import com.google.common.base.Function;
@RequestFilters(OAuthAuthenticationFilter.class)
@Path("/zones")
@Consumes(APPLICATION_JSON)
-@OAuthScopes(COMPUTE_READONLY_SCOPE)
public interface ZoneApi {
/** Returns a zone by name or null if not found. */
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/GoogleComputeEngineAuthenticatedRestContextLiveTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/GoogleComputeEngineAuthenticatedRestContextLiveTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/GoogleComputeEngineAuthenticatedRestContextLiveTest.java
index 0d48e13..b6ceeee 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/GoogleComputeEngineAuthenticatedRestContextLiveTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/GoogleComputeEngineAuthenticatedRestContextLiveTest.java
@@ -18,7 +18,6 @@ package org.jclouds.googlecomputeengine;
import java.util.Properties;
-import org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes;
import org.jclouds.googlecomputeengine.internal.TestProperties;
import org.jclouds.oauth.v2.internal.BaseOAuthAuthenticatedApiLiveTest;
import org.testng.annotations.Test;
@@ -32,7 +31,7 @@ public class GoogleComputeEngineAuthenticatedRestContextLiveTest extends BaseOAu
@Override
public String getScopes() {
- return GoogleComputeEngineScopes.COMPUTE_SCOPE;
+ return "https://www.googleapis.com/auth/compute";
}
@Override protected Properties setupProperties() {
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/AddressApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/AddressApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/AddressApiExpectTest.java
index c29bfb1..5feeef1 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/AddressApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/AddressApiExpectTest.java
@@ -16,8 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.AssertJUnit.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskApiExpectTest.java
index b7d4545..6fd7840 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskApiExpectTest.java
@@ -16,8 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.AssertJUnit.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiExpectTest.java
index d312ee4..37ece62 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiExpectTest.java
@@ -16,7 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
import static org.jclouds.googlecomputeengine.options.ListOptions.Builder.maxResults;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/FirewallApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/FirewallApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/FirewallApiExpectTest.java
index f7f2b16..96dd7b2 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/FirewallApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/FirewallApiExpectTest.java
@@ -19,8 +19,6 @@ package org.jclouds.googlecomputeengine.features;
import static com.google.common.base.Joiner.on;
import static com.google.common.collect.Iterables.transform;
import static java.lang.String.format;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.jclouds.io.Payloads.newStringPayload;
import static org.jclouds.util.Strings2.toStringAndClose;
import static org.testng.Assert.assertEquals;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiExpectTest.java
index 64fd2c8..d3c5402 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiExpectTest.java
@@ -16,8 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.AssertJUnit.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiExpectTest.java
index 68f7c2b..494230d 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiExpectTest.java
@@ -16,8 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.AssertJUnit.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiExpectTest.java
index cb2a48b..cb74767 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiExpectTest.java
@@ -16,8 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.AssertJUnit.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java
index b80eed6..ce353e3 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java
@@ -16,8 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.jclouds.googlecomputeengine.features.ProjectApiExpectTest.GET_PROJECT_REQUEST;
import static org.jclouds.googlecomputeengine.features.ProjectApiExpectTest.GET_PROJECT_RESPONSE;
import static org.testng.Assert.assertEquals;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiExpectTest.java
index 7831a69..01be4c3 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiExpectTest.java
@@ -16,7 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiExpectTest.java
index 38fd8e9..a4996bc 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiExpectTest.java
@@ -16,8 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.AssertJUnit.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiExpectTest.java
index d220904..5d3474e 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiExpectTest.java
@@ -16,8 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.jclouds.googlecomputeengine.options.ListOptions.Builder.filter;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ProjectApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ProjectApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ProjectApiExpectTest.java
index 0fd86e2..fd945e8 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ProjectApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ProjectApiExpectTest.java
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/RegionApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/RegionApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/RegionApiExpectTest.java
index 1115afb..86273da 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/RegionApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/RegionApiExpectTest.java
@@ -16,7 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/RouteApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/RouteApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/RouteApiExpectTest.java
index 4bb5dbe..abeeb5f 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/RouteApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/RouteApiExpectTest.java
@@ -16,8 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.AssertJUnit.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/SnapshotApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/SnapshotApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/SnapshotApiExpectTest.java
index ed5f13d..2465809 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/SnapshotApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/SnapshotApiExpectTest.java
@@ -16,7 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiExpectTest.java
index 7a4bbbc..08424fd 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiExpectTest.java
@@ -16,8 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.AssertJUnit.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ZoneApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ZoneApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ZoneApiExpectTest.java
index f6521a8..43f1b00 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ZoneApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ZoneApiExpectTest.java
@@ -16,7 +16,6 @@
*/
package org.jclouds.googlecomputeengine.features;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNull;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/functions/internal/ToIteratorOfListPageExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/functions/internal/ToIteratorOfListPageExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/functions/internal/ToIteratorOfListPageExpectTest.java
deleted file mode 100644
index f3f9eb5..0000000
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/functions/internal/ToIteratorOfListPageExpectTest.java
+++ /dev/null
@@ -1,185 +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.functions.internal;
-
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.options.ListOptions.Builder.maxResults;
-import static org.testng.Assert.assertEquals;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.jclouds.googlecomputeengine.GoogleComputeEngineApi;
-import org.jclouds.googlecomputeengine.config.GoogleComputeEngineParserModule;
-import org.jclouds.googlecomputeengine.domain.Address;
-import org.jclouds.googlecomputeengine.domain.Image;
-import org.jclouds.googlecomputeengine.domain.Instance;
-import org.jclouds.googlecomputeengine.domain.ListPage;
-import org.jclouds.googlecomputeengine.features.AddressApi;
-import org.jclouds.googlecomputeengine.features.ImageApi;
-import org.jclouds.googlecomputeengine.features.InstanceApi;
-import org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineExpectTest;
-import org.jclouds.googlecomputeengine.parse.ParseAddressTest;
-import org.jclouds.googlecomputeengine.parse.ParseImageTest;
-import org.jclouds.googlecomputeengine.parse.ParseInstanceTest;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.jclouds.json.Json;
-import org.jclouds.json.config.GsonModule;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.inject.Guice;
-
-@Test(groups = "unit", testName = "ToIteratorOfListPageTest")
-public class ToIteratorOfListPageExpectTest extends BaseGoogleComputeEngineExpectTest<GoogleComputeEngineApi> {
-
- private final Json json = Guice.createInjector(new GsonModule(), new GoogleComputeEngineParserModule())
- .getInstance(Json.class);
-
- public void globalScope() {
- HttpRequest list = HttpRequest
- .builder()
- .method("GET")
- .endpoint(BASE_URL + "/party/global/images")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
- .payload(payloadFromResource("/image_list_single_page.json")).build();
-
- ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, list, operationResponse).images();
-
- Iterator<ListPage<Image>> images = imageApi.list();
-
- assertEquals(images.next().size(), 3);
- }
-
- public void multiplePagesProjectScoped() {
- HttpRequest list1 = HttpRequest
- .builder()
- .method("GET")
- .endpoint(BASE_URL + "/party/global/images?maxResults=1")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpRequest list2 = list1.toBuilder()
- .endpoint(BASE_URL + "/party/global/images?pageToken=token1&maxResults=1").build();
-
- HttpRequest list3 = list1.toBuilder()
- .endpoint(BASE_URL + "/party/global/images?pageToken=token2&maxResults=1").build();
-
- List<Image> items = ImmutableList.of(new ParseImageTest().expected());
-
- HttpResponse list1Response = HttpResponse.builder().statusCode(200)
- .payload(json.toJson(ListPage.create(items, "token1"))).build();
-
- HttpResponse list2Response = HttpResponse.builder().statusCode(200)
- .payload(json.toJson(ListPage.create(items, "token2"))).build();
-
- HttpResponse list3Response = HttpResponse.builder().statusCode(200)
- .payload(json.toJson(ListPage.create(items, null))).build();
-
- ImageApi imageApi = orderedRequestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, list1, list1Response, list2, list2Response, list3, list3Response).images();
-
- Iterator<ListPage<Image>> images = imageApi.list(maxResults(1));
-
- int imageCounter = 0;
- while (images.hasNext()) {
- imageCounter += images.next().size();
- }
- assertEquals(imageCounter, 3);
- }
-
- public void multiplePagesRegionScoped() {
- HttpRequest list1 = HttpRequest
- .builder()
- .method("GET")
- .endpoint(BASE_URL + "/party/regions/us-central1/addresses?maxResults=1")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpRequest list2 = list1.toBuilder()
- .endpoint(BASE_URL + "/party/regions/us-central1/addresses?pageToken=token1&maxResults=1").build();
-
- HttpRequest list3 = list1.toBuilder()
- .endpoint(BASE_URL + "/party/regions/us-central1/addresses?pageToken=token2&maxResults=1").build();
-
- List<Address> items = ImmutableList.of(new ParseAddressTest().expected());
-
- HttpResponse list1Response = HttpResponse.builder().statusCode(200)
- .payload(json.toJson(ListPage.create(items, "token1"))).build();
-
- HttpResponse list2Response = HttpResponse.builder().statusCode(200)
- .payload(json.toJson(ListPage.create(items, "token2"))).build();
-
- HttpResponse list3Response = HttpResponse.builder().statusCode(200)
- .payload(json.toJson(ListPage.create(items, null))).build();
-
- AddressApi addressApi = orderedRequestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, list1, list1Response, list2, list2Response, list3, list3Response)
- .addressesInRegion("us-central1");
-
- Iterator<ListPage<Address>> addresses = addressApi.list(maxResults(1));
-
- int addressCounter = 0;
- while (addresses.hasNext()) {
- addressCounter += addresses.next().size();
- }
- assertEquals(addressCounter, 3);
- }
-
- public void multiplePagesZoneScoped() {
- HttpRequest list1 = HttpRequest
- .builder()
- .method("GET")
- .endpoint(BASE_URL + "/party/zones/us-central1-a/instances?maxResults=1")
- .addHeader("Accept", "application/json")
- .addHeader("Authorization", "Bearer " + TOKEN).build();
-
- HttpRequest list2 = list1.toBuilder()
- .endpoint(BASE_URL + "/party/zones/us-central1-a/instances?pageToken=token1&maxResults=1").build();
-
- HttpRequest list3 = list1.toBuilder()
- .endpoint(BASE_URL + "/party/zones/us-central1-a/instances?pageToken=token2&maxResults=1").build();
-
- List<Instance> items = ImmutableList.of(new ParseInstanceTest().expected());
-
- HttpResponse list1Response = HttpResponse.builder().statusCode(200)
- .payload(json.toJson(ListPage.create(items, "token1"))).build();
-
- HttpResponse list2Response = HttpResponse.builder().statusCode(200)
- .payload(json.toJson(ListPage.create(items, "token2"))).build();
-
- HttpResponse list3Response = HttpResponse.builder().statusCode(200)
- .payload(json.toJson(ListPage.create(items, null))).build();
-
- InstanceApi instanceApi = orderedRequestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
- TOKEN_RESPONSE, list1, list1Response, list2, list2Response, list3, list3Response)
- .instancesInZone("us-central1-a");
-
- Iterator<ListPage<Instance>> instances = instanceApi.list(maxResults(1));
-
- int instanceCounter = 0;
- while (instances.hasNext()) {
- instanceCounter += instances.next().size();
- }
- assertEquals(instanceCounter, 3);
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineExpectTest.java
index 220f5f0..3deb22a 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineExpectTest.java
@@ -40,6 +40,8 @@ import com.google.common.base.Joiner;
import com.google.inject.Module;
public class BaseGoogleComputeEngineExpectTest<T> extends BaseRestApiExpectTest<T> {
+ protected static final String COMPUTE_SCOPE = "https://www.googleapis.com/auth/compute";
+ protected static final String COMPUTE_READONLY_SCOPE = "https://www.googleapis.com/auth/compute.readonly";
protected static final String BASE_URL = "https://www.googleapis.com/compute/v1/projects";
private static final String header = "{\"alg\":\"none\",\"typ\":\"JWT\"}";
[3/3] jclouds-labs-google git commit: * Change OAuthScopes into an
interface as opposed to boilerplating annotations. * Fixed errors because of
boilerplating annotations.
Posted by ad...@apache.org.
* Change OAuthScopes into an interface as opposed to boilerplating annotations.
* Fixed errors because of boilerplating annotations.
Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/commit/62766701
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/tree/62766701
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/diff/62766701
Branch: refs/heads/master
Commit: 6276670189d9d0d7d7cc047cf884f7a5cd46ca7c
Parents: 6c839f1
Author: Adrian Cole <ac...@twitter.com>
Authored: Tue Nov 11 20:15:56 2014 -0800
Committer: Adrian Cole <ac...@twitter.com>
Committed: Wed Nov 12 20:29:16 2014 -0800
----------------------------------------------------------------------
.../blobstore/GCSBlobStore.java | 2 +-
.../config/GoogleCloudStorageHttpApiModule.java | 9 +-
.../config/GoogleCloudStorageOAuthScopes.java | 54 ++++++
.../features/BucketAccessControlsApi.java | 25 +--
.../googlecloudstorage/features/BucketApi.java | 48 +----
.../DefaultObjectAccessControlsApi.java | 32 +---
.../features/ObjectAccessControlsApi.java | 60 ++----
.../googlecloudstorage/features/ObjectApi.java | 77 +++-----
.../features/ResumableUploadApi.java | 16 +-
.../reference/GoogleCloudStorageConstants.java | 17 --
...StorageAuthenticatedRestContextLiveTest.java | 3 +-
.../BucketAccessControlsApiExpectTest.java | 3 +-
.../features/BucketApiExpectTest.java | 21 +--
.../features/BucketApiLiveTest.java | 2 +-
...efaultObjectAccessControlsApiExpectTest.java | 3 +-
.../ObjectAccessControlsApiExpectTest.java | 3 +-
.../BaseGoogleCloudStorageExpectTest.java | 14 +-
.../compute/functions/Resources.java | 9 +-
.../GoogleComputeEngineHttpApiModule.java | 9 +-
.../config/GoogleComputeEngineScopes.java | 28 ---
.../features/AddressApi.java | 9 -
.../features/AggregatedListApi.java | 3 -
.../googlecomputeengine/features/DiskApi.java | 11 --
.../features/DiskTypeApi.java | 3 -
.../features/FirewallApi.java | 11 --
.../features/ForwardingRuleApi.java | 10 -
.../features/HttpHealthCheckApi.java | 12 --
.../googlecomputeengine/features/ImageApi.java | 13 --
.../features/InstanceApi.java | 18 --
.../features/MachineTypeApi.java | 6 -
.../features/NetworkApi.java | 10 -
.../features/OperationApi.java | 14 --
.../features/ProjectApi.java | 5 -
.../googlecomputeengine/features/RegionApi.java | 3 -
.../googlecomputeengine/features/RouteApi.java | 11 --
.../features/SnapshotApi.java | 8 -
.../features/TargetPoolApi.java | 16 --
.../googlecomputeengine/features/ZoneApi.java | 3 -
...eEngineAuthenticatedRestContextLiveTest.java | 3 +-
.../features/AddressApiExpectTest.java | 2 -
.../features/DiskApiExpectTest.java | 2 -
.../features/DiskTypeApiExpectTest.java | 1 -
.../features/FirewallApiExpectTest.java | 2 -
.../features/ForwardingRuleApiExpectTest.java | 2 -
.../features/HttpHealthCheckApiExpectTest.java | 2 -
.../features/ImageApiExpectTest.java | 2 -
.../features/InstanceApiExpectTest.java | 2 -
.../features/MachineTypeApiExpectTest.java | 1 -
.../features/NetworkApiExpectTest.java | 2 -
.../features/OperationApiExpectTest.java | 2 -
.../features/ProjectApiExpectTest.java | 2 -
.../features/RegionApiExpectTest.java | 1 -
.../features/RouteApiExpectTest.java | 2 -
.../features/SnapshotApiExpectTest.java | 1 -
.../features/TargetPoolApiExpectTest.java | 2 -
.../features/ZoneApiExpectTest.java | 1 -
.../ToIteratorOfListPageExpectTest.java | 185 -------------------
.../BaseGoogleComputeEngineExpectTest.java | 2 +
.../ToIteratorOfListPageExpectTest.java | 183 ++++++++++++++++++
oauth/README | 2 +-
oauth/pom.xml | 4 +-
.../oauth/v2/config/OAuthHttpApiModule.java | 5 +-
.../jclouds/oauth/v2/config/OAuthModule.java | 7 +-
.../jclouds/oauth/v2/config/OAuthScopes.java | 63 +++++--
.../oauth/v2/functions/BuildTokenRequest.java | 25 +--
.../oauth/v2/binders/TokenBinderTest.java | 29 ++-
.../oauth/v2/features/OAuthApiLiveTest.java | 5 +-
.../oauth/v2/features/OAuthApiMockTest.java | 15 +-
.../oauth/v2/internal/BaseOAuthApiLiveTest.java | 22 ++-
69 files changed, 442 insertions(+), 738 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GCSBlobStore.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GCSBlobStore.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GCSBlobStore.java
index fd8cfdb..7140bdf 100644
--- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GCSBlobStore.java
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/blobstore/GCSBlobStore.java
@@ -177,7 +177,7 @@ public final class GCSBlobStore extends BaseBlobStore {
public boolean blobExists(String container, String name) {
try {
String urlName = name.contains("/") ? URLEncoder.encode(name, Charsets.UTF_8.toString()) : name;
- return api.getObjectApi().objectExist(container, urlName);
+ return api.getObjectApi().objectExists(container, urlName);
} catch (UnsupportedEncodingException e) {
throw Throwables.propagate(e);
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageHttpApiModule.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageHttpApiModule.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageHttpApiModule.java
index 56f6ac6..db7aba8 100644
--- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageHttpApiModule.java
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageHttpApiModule.java
@@ -33,6 +33,7 @@ import org.jclouds.http.annotation.ClientError;
import org.jclouds.http.annotation.Redirection;
import org.jclouds.http.annotation.ServerError;
import org.jclouds.location.Provider;
+import org.jclouds.oauth.v2.config.OAuthScopes;
import org.jclouds.rest.AuthorizationException;
import org.jclouds.rest.ConfiguresHttpApi;
import org.jclouds.rest.config.HttpApiModule;
@@ -44,12 +45,12 @@ import com.google.common.base.Supplier;
import com.google.common.collect.Iterables;
import com.google.inject.Provides;
-/**
- * Configures the GoogleCloud connection.
- */
@ConfiguresHttpApi
public class GoogleCloudStorageHttpApiModule extends HttpApiModule<GoogleCloudStorageApi> {
- public GoogleCloudStorageHttpApiModule() {
+
+ @Override public void configure(){
+ super.configure();
+ bind(OAuthScopes.class).toInstance(GoogleCloudStorageOAuthScopes.create());
}
@Override
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageOAuthScopes.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageOAuthScopes.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageOAuthScopes.java
new file mode 100644
index 0000000..8537e8b
--- /dev/null
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/config/GoogleCloudStorageOAuthScopes.java
@@ -0,0 +1,54 @@
+/*
+ * 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.googlecloudstorage.config;
+
+import java.util.List;
+
+import org.jclouds.http.HttpRequest;
+import org.jclouds.oauth.v2.config.OAuthScopes;
+
+import com.google.auto.value.AutoValue;
+import com.google.common.collect.ImmutableList;
+
+@AutoValue public abstract class GoogleCloudStorageOAuthScopes implements OAuthScopes {
+ abstract OAuthScopes readOrWriteScopes();
+
+ /** Full control is read/write + acls */
+ abstract List<String> fullControlScopes();
+
+ public static GoogleCloudStorageOAuthScopes create() {
+ return new AutoValue_GoogleCloudStorageOAuthScopes( //
+ OAuthScopes.ReadOrWriteScopes.create( //
+ "https://www.googleapis.com/auth/devstorage.read_only", //
+ "https://www.googleapis.com/auth/devstorage.read_write"), //
+ ImmutableList.of("https://www.googleapis.com/auth/devstorage.full_control") //
+ );
+ }
+
+ /** If the path contains or ends with {@code /acl} or {@code /defaultObjectAcl}, it needs full-control. */
+ @Override public List<String> forRequest(HttpRequest input) {
+ String path = input.getEndpoint().getPath();
+ if (path.endsWith("/acl") || path.endsWith("/defaultObjectAcl") //
+ || path.contains("/acl/") || path.contains("/defaultObjectAcl/")) {
+ return fullControlScopes();
+ }
+ return readOrWriteScopes().forRequest(input);
+ }
+
+ GoogleCloudStorageOAuthScopes() {
+ }
+}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApi.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApi.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApi.java
index 3d428da..a805c7d 100644
--- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApi.java
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApi.java
@@ -16,7 +16,7 @@
*/
package org.jclouds.googlecloudstorage.features;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE;
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import java.util.List;
@@ -29,14 +29,12 @@ import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
import org.jclouds.Fallbacks.NullOnNotFoundOr404;
import org.jclouds.googlecloudstorage.domain.BucketAccessControls;
import org.jclouds.googlecloudstorage.domain.templates.BucketAccessControlsTemplate;
import org.jclouds.http.HttpResponse;
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.BinderParam;
import org.jclouds.rest.annotations.Fallback;
@@ -54,6 +52,7 @@ import org.jclouds.rest.binders.BindToJsonPayload;
@SkipEncoding({ '/', '=' })
@RequestFilters(OAuthAuthenticationFilter.class)
+@Consumes(APPLICATION_JSON)
public interface BucketAccessControlsApi {
/**
@@ -70,9 +69,7 @@ public interface BucketAccessControlsApi {
@Named("BucketAccessControls:get")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b/{bucket}/acl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
BucketAccessControls getBucketAccessControls(@PathParam("bucket") String bucketName,
@@ -92,9 +89,7 @@ public interface BucketAccessControlsApi {
@Named("BucketAccessControls:insert")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b/{bucket}/acl")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
BucketAccessControls createBucketAccessControls(@PathParam("bucket") String bucketName,
@BinderParam(BindToJsonPayload.class) BucketAccessControlsTemplate template);
@@ -108,9 +103,7 @@ public interface BucketAccessControlsApi {
@Named("BucketAccessControls:delete")
@DELETE
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b/{bucket}/acl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
HttpResponse deleteBucketAccessControls(@PathParam("bucket") String bucketName, @PathParam("entity") String entity);
@@ -126,10 +119,8 @@ public interface BucketAccessControlsApi {
@Named("BucketAccessControls:list")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/acl")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
@SelectJson("items")
@@ -147,13 +138,10 @@ public interface BucketAccessControlsApi {
*
* @return If successful, this method returns a {@link BucketAccessControlsTemplate} resource in the response body
*/
-
@Named("BucketAccessControls:update")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/acl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
BucketAccessControls updateBucketAccessControls(@PathParam("bucket") String bucketName,
@PathParam("entity") String entity,
@@ -173,13 +161,10 @@ public interface BucketAccessControlsApi {
*
* @return If successful, this method returns a BucketAccessControls resource in the response body
*/
-
@Named("BucketAccessControls:patch")
@PATCH
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/acl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
BucketAccessControls patchBucketAccessControls(@PathParam("bucket") String bucketName,
@PathParam("entity") String entity,
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketApi.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketApi.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketApi.java
index a6dd146..cdca05c 100644
--- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketApi.java
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/BucketApi.java
@@ -16,8 +16,7 @@
*/
package org.jclouds.googlecloudstorage.features;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_READONLY_SCOPE;
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import javax.inject.Named;
import javax.ws.rs.Consumes;
@@ -29,7 +28,6 @@ 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.FalseOnNotFoundOr404;
import org.jclouds.Fallbacks.NullOnNotFoundOr404;
@@ -46,7 +44,6 @@ import org.jclouds.googlecloudstorage.options.InsertBucketOptions;
import org.jclouds.googlecloudstorage.options.ListOptions;
import org.jclouds.googlecloudstorage.options.UpdateBucketOptions;
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.BinderParam;
import org.jclouds.rest.annotations.Fallback;
@@ -63,6 +60,7 @@ import org.jclouds.rest.binders.BindToJsonPayload;
@SkipEncoding({ '/', '=' })
@RequestFilters(OAuthAuthenticationFilter.class)
+@Consumes(APPLICATION_JSON)
public interface BucketApi {
/**
@@ -75,9 +73,7 @@ public interface BucketApi {
*/
@Named("Bucket:get")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b/{bucket}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(FalseOnNotFoundOr404.class)
boolean bucketExist(@PathParam("bucket") String bucketName);
@@ -91,10 +87,8 @@ public interface BucketApi {
*/
@Named("Bucket:get")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}")
- @OAuthScopes(STORAGE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Bucket getBucket(@PathParam("bucket") String bucketName);
@@ -111,10 +105,8 @@ public interface BucketApi {
*/
@Named("Bucket:get")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}")
- @OAuthScopes(STORAGE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Bucket getBucket(@PathParam("bucket") String bucketName, GetBucketOptions options);
@@ -131,9 +123,7 @@ public interface BucketApi {
*/
@Named("Bucket:insert")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnBucketAlreadyExists.class)
Bucket createBucket(@QueryParam("project") String projectId, @BinderParam(BindToJsonPayload.class) BucketTemplate bucketTemplate);
@@ -152,9 +142,7 @@ public interface BucketApi {
*/
@Named("Bucket:insert")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnKeyAlreadyExists.class)
Bucket createBucket(@QueryParam("project") String projectId,
@BinderParam(BindToJsonPayload.class) BucketTemplate bucketTemplate, InsertBucketOptions options);
@@ -167,10 +155,8 @@ public interface BucketApi {
*/
@Named("Bucket:delete")
@DELETE
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b/{bucket}")
@Fallback(TrueOnNotFoundOr404.class)
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
boolean deleteBucket(@PathParam("bucket") String bucketName);
/**
@@ -183,10 +169,8 @@ public interface BucketApi {
*/
@Named("Bucket:delete")
@DELETE
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b/{bucket}")
@Fallback(TrueOnNotFoundOr404.class)
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
boolean deleteBucket(@PathParam("bucket") String bucketName, DeleteBucketOptions options);
/**
@@ -199,10 +183,8 @@ public interface BucketApi {
*/
@Named("Bucket:list")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(EmptyListPageOnNotFoundOr404.class)
ListPage<Bucket> listBucket(@QueryParam("project") String projectId);
@@ -216,10 +198,8 @@ public interface BucketApi {
*/
@Named("Bucket:list")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(EmptyListPageOnNotFoundOr404.class)
ListPage<Bucket> listBucket(@QueryParam("project") String projectId, ListOptions options);
@@ -235,10 +215,8 @@ public interface BucketApi {
*/
@Named("Bucket:update")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
Bucket updateBucket(@PathParam("bucket") String bucketName,
@BinderParam(BindToJsonPayload.class) BucketTemplate bucketTemplate);
@@ -257,10 +235,8 @@ public interface BucketApi {
*/
@Named("Bucket:update")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
Bucket updateBucket(@PathParam("bucket") String bucketName,
@BinderParam(BindToJsonPayload.class) BucketTemplate bucketTemplate, UpdateBucketOptions options);
@@ -279,10 +255,8 @@ public interface BucketApi {
*/
@Named("Bucket:patch")
@PATCH
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
Bucket patchBucket(@PathParam("bucket") String bucketName,
@BinderParam(BindToJsonPayload.class) BucketTemplate bucketTemplate);
@@ -303,10 +277,8 @@ public interface BucketApi {
*/
@Named("Bucket:patch")
@PATCH
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
Bucket patchBucket(@PathParam("bucket") String bucketName,
@BinderParam(BindToJsonPayload.class) BucketTemplate bucketTemplate, UpdateBucketOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java
index 9fda891..6106358 100644
--- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApi.java
@@ -16,7 +16,7 @@
*/
package org.jclouds.googlecloudstorage.features;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE;
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import java.util.List;
@@ -30,7 +30,6 @@ 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.NullOnNotFoundOr404;
import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
@@ -38,7 +37,6 @@ import org.jclouds.googlecloudstorage.domain.ObjectAccessControls;
import org.jclouds.googlecloudstorage.domain.templates.ObjectAccessControlsTemplate;
import org.jclouds.http.HttpResponse;
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.BinderParam;
import org.jclouds.rest.annotations.Fallback;
@@ -56,6 +54,7 @@ import org.jclouds.rest.binders.BindToJsonPayload;
@SkipEncoding({ '/', '=' })
@RequestFilters(OAuthAuthenticationFilter.class)
+@Consumes(APPLICATION_JSON)
public interface DefaultObjectAccessControlsApi {
/**
@@ -69,12 +68,9 @@ public interface DefaultObjectAccessControlsApi {
*
* @return an DefaultObjectAccessControls resource
*/
-
@Named("DefaultObjectAccessControls:get")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b/{bucket}/defaultObjectAcl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
ObjectAccessControls getDefaultObjectAccessControls(@PathParam("bucket") String bucketName,
@@ -89,13 +85,10 @@ public interface DefaultObjectAccessControlsApi {
*
* @return If successful, this method returns a DefaultObjectAccessControls resource
*/
-
@Named("DefaultObjectAccessControls:insert")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/defaultObjectAcl")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
ObjectAccessControls createDefaultObjectAccessControls(@PathParam("bucket") String bucketName,
@BinderParam(BindToJsonPayload.class) ObjectAccessControlsTemplate template);
@@ -112,9 +105,7 @@ public interface DefaultObjectAccessControlsApi {
*/
@Named("DefaultObjectAccessControls:delete")
@DELETE
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b/{bucket}/defaultObjectAcl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
HttpResponse deleteDefaultObjectAccessControls(@PathParam("bucket") String bucketName,
@@ -129,13 +120,10 @@ public interface DefaultObjectAccessControlsApi {
* @return ListObjectAccessControls resource
*
*/
-
@Named("DefaultObjectAccessControls:list")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/defaultObjectAcl")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
@SelectJson("items")
@@ -152,10 +140,8 @@ public interface DefaultObjectAccessControlsApi {
*/
@Named("DefaultObjectAccessControls:update")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/defaultObjectAcl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
ObjectAccessControls updateDefaultObjectAccessControls(@PathParam("bucket") String bucketName,
@PathParam("entity") String entity,
@@ -169,10 +155,8 @@ public interface DefaultObjectAccessControlsApi {
*/
@Named("DefaultObjectAccessControls:update")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/defaultObjectAcl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
ObjectAccessControls updateDefaultObjectAccessControls(@PathParam("bucket") String bucketName,
@PathParam("entity") String entity,
@@ -187,10 +171,8 @@ public interface DefaultObjectAccessControlsApi {
*/
@Named("DefaultObjectAccessControls:patch")
@PATCH
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/defaultObjectAcl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
ObjectAccessControls patchDefaultObjectAccessControls(@PathParam("bucket") String bucketName,
@PathParam("entity") String entity,
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApi.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApi.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApi.java
index 5b0e0a9..92299f1 100644
--- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApi.java
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApi.java
@@ -16,7 +16,7 @@
*/
package org.jclouds.googlecloudstorage.features;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE;
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import java.util.List;
@@ -30,13 +30,11 @@ 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.NullOnNotFoundOr404;
import org.jclouds.googlecloudstorage.domain.ObjectAccessControls;
import org.jclouds.googlecloudstorage.domain.templates.ObjectAccessControlsTemplate;
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.BinderParam;
import org.jclouds.rest.annotations.Fallback;
@@ -51,9 +49,9 @@ import org.jclouds.rest.binders.BindToJsonPayload;
*
* @see <a href = " https://developers.google.com/storage/docs/json_api/v1/objectAccessControls "/>
*/
-
@SkipEncoding({ '/', '=' })
@RequestFilters(OAuthAuthenticator.class)
+@Consumes(APPLICATION_JSON)
public interface ObjectAccessControlsApi {
/**
@@ -72,9 +70,7 @@ public interface ObjectAccessControlsApi {
@Named("ObjectAccessControls:get")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b/{bucket}/o/{object}/acl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
ObjectAccessControls getObjectAccessControls(@PathParam("bucket") String bucketName,
@@ -97,9 +93,7 @@ public interface ObjectAccessControlsApi {
*/
@Named("ObjectAccessControls:get")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b/{bucket}/o/{object}/acl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
ObjectAccessControls getObjectAccessControls(@PathParam("bucket") String bucketName,
@@ -119,10 +113,8 @@ public interface ObjectAccessControlsApi {
*/
@Named("ObjectAccessControls:insert")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/o/{object}/acl")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
ObjectAccessControls createObjectAccessControls(@PathParam("bucket") String bucketName,
@PathParam("object") String objectName,
@BinderParam(BindToJsonPayload.class) ObjectAccessControlsTemplate template);
@@ -142,10 +134,8 @@ public interface ObjectAccessControlsApi {
*/
@Named("ObjectAccessControls:insert")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/o/{object}/acl")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
ObjectAccessControls createObjectAccessControls(@PathParam("bucket") String bucketName,
@PathParam("object") String objectName,
@BinderParam(BindToJsonPayload.class) ObjectAccessControlsTemplate template,
@@ -162,12 +152,9 @@ public interface ObjectAccessControlsApi {
* The entity holding the permission. Can be user-userId, user-emailAddress, group-groupId,
* group-emailAddress, allUsers, or allAuthenticatedUsers
*/
-
@Named("ObjectAccessControls:delete")
@DELETE
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b/{bucket}/o/{object}/acl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
void deleteObjectAccessControls(@PathParam("bucket") String bucketName, @PathParam("object") String objectName,
@PathParam("entity") String entity);
@@ -186,9 +173,7 @@ public interface ObjectAccessControlsApi {
*/
@Named("ObjectAccessControls:delete")
@DELETE
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/b/{bucket}/o/{object}/acl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
void deleteObjectAccessControls(@PathParam("bucket") String bucketName, @PathParam("object") String objectName,
@PathParam("entity") String entity, @QueryParam("generation") Long generation);
@@ -202,12 +187,10 @@ public interface ObjectAccessControlsApi {
*/
@Named("ObjectAccessControls:list")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/o/{object}/acl")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
- @Fallback(NullOnNotFoundOr404.class)
@SelectJson("items")
+ @Fallback(NullOnNotFoundOr404.class)
@Nullable
List<ObjectAccessControls> listObjectAccessControls(@PathParam("bucket") String bucketName,
@PathParam("object") String objectName);
@@ -225,12 +208,10 @@ public interface ObjectAccessControlsApi {
*/
@Named("ObjectAccessControls:list")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/o/{object}/acl")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
- @Fallback(NullOnNotFoundOr404.class)
@SelectJson("items")
+ @Fallback(NullOnNotFoundOr404.class)
@Nullable
List<ObjectAccessControls> listObjectAccessControls(@PathParam("bucket") String bucketName,
@PathParam("object") String objectName, @QueryParam("generation") Long generation);
@@ -253,12 +234,8 @@ public interface ObjectAccessControlsApi {
@Named("ObjectAccessControls:update")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/o/{object}/acl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
ObjectAccessControls updateObjectAccessControls(@PathParam("bucket") String bucketName,
@PathParam("object") String objectName, @PathParam("entity") String entity,
@BinderParam(BindToJsonPayload.class) ObjectAccessControlsTemplate template);
@@ -280,14 +257,10 @@ public interface ObjectAccessControlsApi {
*
* @return {@link ObjectAccessControls }
*/
-
@Named("ObjectAccessControls:update")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/o/{object}/acl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
- @Fallback(NullOnNotFoundOr404.class)
ObjectAccessControls updateObjectAccessControls(@PathParam("bucket") String bucketName,
@PathParam("object") String objectName, @PathParam("entity") String entity,
@BinderParam(BindToJsonPayload.class) ObjectAccessControlsTemplate template,
@@ -308,14 +281,10 @@ public interface ObjectAccessControlsApi {
*
* @return an {@link ObjectAccessControls }
*/
-
@Named("ObjectAccessControls:patch")
@PATCH
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/o/{object}/acl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
- @Fallback(NullOnNotFoundOr404.class)
ObjectAccessControls patchObjectAccessControls(@PathParam("bucket") String bucketName,
@PathParam("object") String objectName, @PathParam("entity") String entity,
@BinderParam(BindToJsonPayload.class) ObjectAccessControlsTemplate template);
@@ -337,17 +306,12 @@ public interface ObjectAccessControlsApi {
*
* @return {@link ObjectAccessControls }
*/
-
@Named("ObjectAccessControls:patch")
@PATCH
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("/b/{bucket}/o/{object}/acl/{entity}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
- @Fallback(NullOnNotFoundOr404.class)
ObjectAccessControls patchObjectAccessControls(@PathParam("bucket") String bucketName,
@PathParam("object") String objectName, @PathParam("entity") String entity,
@BinderParam(BindToJsonPayload.class) ObjectAccessControlsTemplate template,
@QueryParam("generation") Long generation);
-
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
index e058647..00407b5 100644
--- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ObjectApi.java
@@ -16,8 +16,7 @@
*/
package org.jclouds.googlecloudstorage.features;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_WRITEONLY_SCOPE;
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import javax.inject.Named;
import javax.ws.rs.Consumes;
@@ -29,7 +28,6 @@ import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
import org.jclouds.Fallbacks.NullOnNotFoundOr404;
@@ -52,7 +50,6 @@ import org.jclouds.googlecloudstorage.parser.ParseToPayloadEnclosing;
import org.jclouds.io.Payload;
import org.jclouds.io.PayloadEnclosing;
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.BinderParam;
import org.jclouds.rest.annotations.Fallback;
@@ -70,7 +67,6 @@ import org.jclouds.rest.binders.BindToJsonPayload;
*
* @see <a href="https://developers.google.com/storage/docs/json_api/v1/objects"/>
*/
-
@SkipEncoding({ '/', '=' })
@RequestFilters(OAuthAuthenticator.class)
public interface ObjectApi {
@@ -87,12 +83,10 @@ public interface ObjectApi {
*/
@Named("Object:Exist")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
@Path("storage/v1/b/{bucket}/o/{object}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(FalseOnNotFoundOr404.class)
@Nullable
- boolean objectExist(@PathParam("bucket") String bucketName, @PathParam("object") String objectName);
+ boolean objectExists(@PathParam("bucket") String bucketName, @PathParam("object") String objectName);
/**
* Retrieve an object metadata
@@ -106,10 +100,8 @@ public interface ObjectApi {
*/
@Named("Object:get")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
@Path("storage/v1/b/{bucket}/o/{object}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
+ @Consumes(APPLICATION_JSON)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
GCSObject getObject(@PathParam("bucket") String bucketName, @PathParam("object") String objectName);
@@ -128,10 +120,8 @@ public interface ObjectApi {
*/
@Named("Object:get")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
@Path("storage/v1/b/{bucket}/o/{object}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
+ @Consumes(APPLICATION_JSON)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
GCSObject getObject(@PathParam("bucket") String bucketName, @PathParam("object") String objectName,
@@ -151,7 +141,6 @@ public interface ObjectApi {
@GET
@QueryParams(keys = "alt", values = "media")
@Path("storage/v1/b/{bucket}/o/{object}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@ResponseParser(ParseToPayloadEnclosing.class)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
@@ -172,11 +161,8 @@ public interface ObjectApi {
@Named("Object:get")
@GET
@QueryParams(keys = "alt", values = "media")
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
@Path("storage/v1/b/{bucket}/o/{object}")
@ResponseParser(ParseToPayloadEnclosing.class)
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable PayloadEnclosing download(@PathParam("bucket") String bucketName, @PathParam("object") String objectName,
GetObjectOptions options);
@@ -196,9 +182,8 @@ public interface ObjectApi {
@Named("Object:simpleUpload")
@POST
@QueryParams(keys = "uploadType", values = "media")
- @Consumes(MediaType.APPLICATION_JSON)
+ @Consumes(APPLICATION_JSON)
@Path("/upload/storage/v1/b/{bucket}/o")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@MapBinder(UploadBinder.class)
GCSObject simpleUpload(@PathParam("bucket") String bucketName, @HeaderParam("Content-Type") String contentType,
@HeaderParam("Content-Length") Long contentLength, @PayloadParam("payload") Payload payload,
@@ -214,11 +199,9 @@ public interface ObjectApi {
*/
@Named("Object:delete")
@DELETE
- @Consumes(MediaType.APPLICATION_JSON)
@Path("storage/v1/b/{bucket}/o/{object}")
@Fallback(TrueOnNotFoundOr404.class)
- @OAuthScopes(STORAGE_WRITEONLY_SCOPE)
- boolean deleteObject(@PathParam("bucket") String bucketName, @PathParam("object") String objectName);
+ boolean deleteObject(@PathParam("bucket") String bucketName, @PathParam("object") String objectName);
/**
* Deletes an object and its metadata. Deletions are permanent if versioning is not enabled for the bucket, or if the
@@ -233,10 +216,8 @@ public interface ObjectApi {
*/
@Named("Object:delete")
@DELETE
- @Consumes(MediaType.APPLICATION_JSON)
@Path("storage/v1/b/{bucket}/o/{object}")
@Fallback(TrueOnNotFoundOr404.class)
- @OAuthScopes(STORAGE_WRITEONLY_SCOPE)
boolean deleteObject(@PathParam("bucket") String bucketName, @PathParam("object") String objectName,
DeleteObjectOptions options);
@@ -250,10 +231,8 @@ public interface ObjectApi {
*/
@Named("Object:list")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(APPLICATION_JSON)
@Path("storage/v1/b/{bucket}/o")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(EmptyListPageOnNotFoundOr404.class)
ListPage<GCSObject> listObjects(@PathParam("bucket") String bucketName);
@@ -268,12 +247,9 @@ public interface ObjectApi {
*/
@Named("Object:list")
@GET
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(APPLICATION_JSON)
@Path("storage/v1/b/{bucket}/o")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
+ @Fallback(EmptyListPageOnNotFoundOr404.class)
ListPage<GCSObject> listObjects(@PathParam("bucket") String bucketName, ListObjectOptions options);
/**
@@ -290,10 +266,9 @@ public interface ObjectApi {
*/
@Named("Object:update")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("storage/v1/b/{bucket}/o/{object}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
GCSObject updateObject(@PathParam("bucket") String bucketName, @PathParam("object") String objectName,
@BinderParam(BindToJsonPayload.class) ObjectTemplate objectTemplate);
@@ -314,10 +289,9 @@ public interface ObjectApi {
*/
@Named("Object:update")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("storage/v1/b/{bucket}/o/{object}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
GCSObject updateObject(@PathParam("bucket") String bucketName, @PathParam("object") String objectName,
@BinderParam(BindToJsonPayload.class) ObjectTemplate objectTemplate, UpdateObjectOptions options);
@@ -336,10 +310,9 @@ public interface ObjectApi {
*/
@Named("Object:patch")
@PATCH
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("storage/v1/b/{bucket}/o/{object}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
GCSObject patchObject(@PathParam("bucket") String bucketName, @PathParam("object") String objectName,
@BinderParam(BindToJsonPayload.class) ObjectTemplate objectTemplate);
@@ -360,10 +333,9 @@ public interface ObjectApi {
*/
@Named("Object:patch")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
- @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(APPLICATION_JSON)
+ @Produces(APPLICATION_JSON)
@Path("storage/v1/b/{bucket}/o/{object}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
GCSObject patchObject(@PathParam("bucket") String bucketName, @PathParam("object") String objectName,
@BinderParam(BindToJsonPayload.class) ObjectTemplate objectTemplate, UpdateObjectOptions options);
@@ -382,9 +354,8 @@ public interface ObjectApi {
*/
@Named("Object:compose")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
+ @Consumes(APPLICATION_JSON)
@Path("storage/v1/b/{destinationBucket}/o/{destinationObject}/compose")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
GCSObject composeObjects(@PathParam("destinationBucket") String destinationBucket,
@PathParam("destinationObject") String destinationObject,
@BinderParam(BindToJsonPayload.class) ComposeObjectTemplate composeObjectTemplate);
@@ -405,9 +376,8 @@ public interface ObjectApi {
*/
@Named("Object:compose")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
+ @Consumes(APPLICATION_JSON)
@Path("storage/v1/b/{destinationBucket}/o/{destinationObject}/compose")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
GCSObject composeObjects(@PathParam("destinationBucket") String destinationBucket,
@PathParam("destinationObject") String destinationObject,
@BinderParam(BindToJsonPayload.class) ComposeObjectTemplate composeObjectTemplate,
@@ -429,9 +399,8 @@ public interface ObjectApi {
*/
@Named("Object:copy")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
+ @Consumes(APPLICATION_JSON)
@Path("/storage/v1/b/{sourceBucket}/o/{sourceObject}/copyTo/b/{destinationBucket}/o/{destinationObject}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
GCSObject copyObject(@PathParam("destinationBucket") String destinationBucket,
@PathParam("destinationObject") String destinationObject, @PathParam("sourceBucket") String sourceBucket,
@PathParam("sourceObject") String sourceObject);
@@ -454,9 +423,8 @@ public interface ObjectApi {
*/
@Named("Object:copy")
@POST
- @Consumes(MediaType.APPLICATION_JSON)
+ @Consumes(APPLICATION_JSON)
@Path("/storage/v1/b/{sourceBucket}/o/{sourceObject}/copyTo/b/{destinationBucket}/o/{destinationObject}")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
GCSObject copyObject(@PathParam("destinationBucket") String destinationBucket,
@PathParam("destinationObject") String destinationObject, @PathParam("sourceBucket") String sourceBucket,
@PathParam("sourceObject") String sourceObject, CopyObjectOptions options);
@@ -476,9 +444,8 @@ public interface ObjectApi {
@Named("Object:multipartUpload")
@POST
@QueryParams(keys = "uploadType", values = "multipart")
- @Consumes(MediaType.APPLICATION_JSON)
+ @Consumes(APPLICATION_JSON)
@Path("/upload/storage/v1/b/{bucket}/o")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@MapBinder(MultipartUploadBinder.class)
GCSObject multipartUpload(@PathParam("bucket") String bucketName,
@PayloadParam("template") ObjectTemplate objectTemplate,
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ResumableUploadApi.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ResumableUploadApi.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ResumableUploadApi.java
index 3f68e30..eae3de6 100644
--- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ResumableUploadApi.java
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/features/ResumableUploadApi.java
@@ -16,7 +16,7 @@
*/
package org.jclouds.googlecloudstorage.features;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE;
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import javax.inject.Named;
import javax.ws.rs.Consumes;
@@ -27,7 +27,6 @@ import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
import org.jclouds.googlecloudstorage.binders.UploadBinder;
import org.jclouds.googlecloudstorage.domain.ResumableUpload;
@@ -35,7 +34,6 @@ import org.jclouds.googlecloudstorage.domain.templates.ObjectTemplate;
import org.jclouds.googlecloudstorage.options.InsertObjectOptions;
import org.jclouds.googlecloudstorage.parser.ParseToResumableUpload;
import org.jclouds.io.Payload;
-import org.jclouds.oauth.v2.config.OAuthScopes;
import org.jclouds.oauth.v2.filters.OAuthAuthenticator;
import org.jclouds.rest.annotations.BinderParam;
import org.jclouds.rest.annotations.MapBinder;
@@ -52,9 +50,9 @@ import org.jclouds.rest.binders.BindToJsonPayload;
* @see <a href="https://developers.google.com/storage/docs/json_api/v1/objects"/>
* @see <a href="https://developers.google.com/storage/docs/json_api/v1/how-tos/upload#resumable"/>
*/
-
@SkipEncoding({ '/', '=' })
@RequestFilters(OAuthAuthenticator.class)
+@Consumes(APPLICATION_JSON)
public interface ResumableUploadApi {
/**
@@ -76,9 +74,7 @@ public interface ResumableUploadApi {
@Named("Object:initResumableUpload")
@POST
@QueryParams(keys = "uploadType", values = "resumable")
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/upload/storage/v1/b/{bucket}/o")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@ResponseParser(ParseToResumableUpload.class)
ResumableUpload initResumableUpload(@PathParam("bucket") String bucketName, @QueryParam("name") String objectName,
@HeaderParam("X-Upload-Content-Type") String contentType,
@@ -103,9 +99,7 @@ public interface ResumableUploadApi {
@Named("Object:resumableUpload")
@POST
@QueryParams(keys = "uploadType", values = "resumable")
- @Consumes(MediaType.APPLICATION_JSON)
@Path("/upload/storage/v1/b/{bucket}/o")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@ResponseParser(ParseToResumableUpload.class)
ResumableUpload initResumableUpload(@PathParam("bucket") String bucketName,
@HeaderParam("X-Upload-Content-Type") String contentType,
@@ -126,10 +120,8 @@ public interface ResumableUploadApi {
*/
@Named("Object:resumableUpload")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
@QueryParams(keys = "uploadType", values = "resumable")
@Path("/upload/storage/v1/b/{bucket}/o")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@MapBinder(UploadBinder.class)
@ResponseParser(ParseToResumableUpload.class)
ResumableUpload upload(@PathParam("bucket") String bucketName, @QueryParam("upload_id") String uploadId,
@@ -158,10 +150,8 @@ public interface ResumableUploadApi {
*/
@Named("Object:Upload")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
@QueryParams(keys = "uploadType", values = "resumable")
@Path("/upload/storage/v1/b/{bucket}/o")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@MapBinder(UploadBinder.class)
@ResponseParser(ParseToResumableUpload.class)
ResumableUpload chunkUpload(@PathParam("bucket") String bucketName, @QueryParam("upload_id") String uploadId,
@@ -185,11 +175,9 @@ public interface ResumableUploadApi {
@Named("Object:Upload")
@PUT
- @Consumes(MediaType.APPLICATION_JSON)
@DefaultValue("0")
@QueryParams(keys = "uploadType", values = "resumable")
@Path("/upload/storage/v1/b/{bucket}/o")
- @OAuthScopes(STORAGE_FULLCONTROL_SCOPE)
@ResponseParser(ParseToResumableUpload.class)
ResumableUpload checkStatus(@PathParam("bucket") String bucketName, @QueryParam("upload_id") String uploadId,
@HeaderParam("Content-Range") String contentRange);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/reference/GoogleCloudStorageConstants.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/reference/GoogleCloudStorageConstants.java b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/reference/GoogleCloudStorageConstants.java
index 7607ce0..b593120 100644
--- a/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/reference/GoogleCloudStorageConstants.java
+++ b/google-cloud-storage/src/main/java/org/jclouds/googlecloudstorage/reference/GoogleCloudStorageConstants.java
@@ -16,10 +16,6 @@
*/
package org.jclouds.googlecloudstorage.reference;
-import org.jclouds.domain.Location;
-import org.jclouds.domain.LocationBuilder;
-import org.jclouds.domain.LocationScope;
-
import com.google.common.annotations.Beta;
public final class GoogleCloudStorageConstants {
@@ -29,28 +25,15 @@ public final class GoogleCloudStorageConstants {
public static final String GCS_PROVIDER_NAME = "google-cloud-storage";
- public static final String STORAGE_READONLY_SCOPE = "https://www.googleapis.com/auth/devstorage.read_only";
-
- public static final String STORAGE_WRITEONLY_SCOPE = "https://www.googleapis.com/auth/devstorage.write_only";
-
- public static final String STORAGE_READWRITE_SCOPE = "https://www.googleapis.com/auth/devstorage.read_write";
-
- public static final String STORAGE_FULLCONTROL_SCOPE = "https://www.googleapis.com/auth/devstorage.full_control";
-
/**
* The total time, in msecs, to wait for an operation to complete.
*/
-
@Beta
public static final String OPERATION_COMPLETE_TIMEOUT = "jclouds.google-cloud-storage.operation-complete-timeout";
/**
* The interval, in msecs, between calls to check whether an operation has completed.
*/
-
@Beta
public static final String OPERATION_COMPLETE_INTERVAL = "jclouds.google-cloud-storage.operation-complete-interval";
-
- public static final Location GOOGLE_PROVIDER_LOCATION = new LocationBuilder().scope(LocationScope.PROVIDER).id
- (GCS_PROVIDER_NAME).description(GCS_PROVIDER_NAME).build();
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/GoogleCloudStorageAuthenticatedRestContextLiveTest.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/GoogleCloudStorageAuthenticatedRestContextLiveTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/GoogleCloudStorageAuthenticatedRestContextLiveTest.java
index ecb814f..c1b8636 100644
--- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/GoogleCloudStorageAuthenticatedRestContextLiveTest.java
+++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/GoogleCloudStorageAuthenticatedRestContextLiveTest.java
@@ -16,7 +16,6 @@
*/
package org.jclouds.googlecloudstorage;
-import org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants;
import org.jclouds.oauth.v2.internal.BaseOAuthAuthenticatedApiLiveTest;
import org.testng.annotations.Test;
@@ -30,6 +29,6 @@ public class GoogleCloudStorageAuthenticatedRestContextLiveTest extends
@Override
public String getScopes() {
- return GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE;
+ return "https://www.googleapis.com/auth/devstorage.full_control";
}
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java
index 89ec40b..ab6484f 100644
--- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java
+++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketAccessControlsApiExpectTest.java
@@ -17,7 +17,6 @@
package org.jclouds.googlecloudstorage.features;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.AssertJUnit.assertNull;
@@ -34,7 +33,7 @@ import org.jclouds.http.HttpRequest;
import org.jclouds.http.HttpResponse;
import org.testng.annotations.Test;
-@Test(groups = "unit")
+@Test(groups = "unit", testName = "BucketAccessControlsApiExpectTest")
public class BucketAccessControlsApiExpectTest extends BaseGoogleCloudStorageApiExpectTest {
private static final String EXPECTED_TEST_BUCKET = "jcloudtestbucket";
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java
index cc42510..f71425b 100644
--- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java
+++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiExpectTest.java
@@ -14,11 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.jclouds.googlecloudstorage.features;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_READONLY_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
import static org.testng.AssertJUnit.assertNull;
@@ -40,7 +37,7 @@ import org.jclouds.http.HttpRequest;
import org.jclouds.http.HttpResponse;
import org.testng.annotations.Test;
-@Test(groups = "unit")
+@Test(groups = "unit", testName = "BucketApiExpectTest")
public class BucketApiExpectTest extends BaseGoogleCloudStorageApiExpectTest {
private static final String EXPECTED_TEST_BUCKET = "bhashbucket";
@@ -103,7 +100,7 @@ public class BucketApiExpectTest extends BaseGoogleCloudStorageApiExpectTest {
// Test listBucket without options
public void testListBucketWithNoOptionsResponseIs2xx() throws Exception {
- BucketApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE,
+ BucketApi api = requestsSendResponses(requestForScopes(STORAGE_READONLY_SCOPE), TOKEN_RESPONSE,
LIST_BUCKET_REQUEST, LIST_BUCKET_RESPONSE).getBucketApi();
assertEquals(api.listBucket(EXPECTED_TEST_PROJECT_NUMBER), new NoAclBucketListTest().expected());
@@ -112,7 +109,7 @@ public class BucketApiExpectTest extends BaseGoogleCloudStorageApiExpectTest {
public void testListBucketWithOptionsResponseIs2xx() throws Exception {
- BucketApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE,
+ BucketApi api = requestsSendResponses(requestForScopes(STORAGE_READONLY_SCOPE), TOKEN_RESPONSE,
LIST_BUCKET_REQUEST_WITHOPTIONS, LIST_BUCKET_RESPONSE).getBucketApi();
ListOptions options = new ListOptions().maxResults(2).pageToken("jcloudtestbucket500");
@@ -124,7 +121,7 @@ public class BucketApiExpectTest extends BaseGoogleCloudStorageApiExpectTest {
public void testListBucketResponseIs4xx() throws Exception {
HttpResponse listResponse = HttpResponse.builder().statusCode(404).build();
- BucketApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE,
+ BucketApi api = requestsSendResponses(requestForScopes(STORAGE_READONLY_SCOPE), TOKEN_RESPONSE,
LIST_BUCKET_REQUEST, listResponse).getBucketApi();
assertTrue(api.listBucket(EXPECTED_TEST_PROJECT_NUMBER).isEmpty());
@@ -143,7 +140,7 @@ public class BucketApiExpectTest extends BaseGoogleCloudStorageApiExpectTest {
.payload(payloadFromResourceWithContentType("/bucket_insert_request_payload.json",
MediaType.APPLICATION_JSON)).build();
- BucketApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE,
+ BucketApi api = requestsSendResponses(requestForScopes(STORAGE_READWRITE_SCOPE), TOKEN_RESPONSE,
createRequest, BUCKET_RESPONSE).getBucketApi();
BucketTemplate template = new BucketTemplate().name("bhashbucket");
@@ -171,7 +168,7 @@ public class BucketApiExpectTest extends BaseGoogleCloudStorageApiExpectTest {
HttpResponse updateResponse = HttpResponse.builder().statusCode(200)
.payload(staticPayloadFromResource("/bucket_update_response.json")).build();
- BucketApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE,
+ BucketApi api = requestsSendResponses(requestForScopes(STORAGE_READWRITE_SCOPE), TOKEN_RESPONSE,
updateRequest, updateResponse).getBucketApi();
assertEquals(api.updateBucket(EXPECTED_TEST_BUCKET, template), new BucketUpdateTest().expected());
@@ -199,7 +196,7 @@ public class BucketApiExpectTest extends BaseGoogleCloudStorageApiExpectTest {
HttpResponse updateResponse = HttpResponse.builder().statusCode(200)
.payload(staticPayloadFromResource("/bucket_update_response.json")).build();
- BucketApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE,
+ BucketApi api = requestsSendResponses(requestForScopes(STORAGE_READWRITE_SCOPE), TOKEN_RESPONSE,
updateRequest, updateResponse).getBucketApi();
assertEquals(api.updateBucket(EXPECTED_TEST_BUCKET, template, options), new BucketUpdateTest().expected());
@@ -224,7 +221,7 @@ public class BucketApiExpectTest extends BaseGoogleCloudStorageApiExpectTest {
HttpResponse patchResponse = HttpResponse.builder().statusCode(200)
.payload(staticPayloadFromResource("/bucket_update_response.json")).build();
- BucketApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, patchRequest,
+ BucketApi api = requestsSendResponses(requestForScopes(STORAGE_READWRITE_SCOPE), TOKEN_RESPONSE, patchRequest,
patchResponse).getBucketApi();
assertEquals(api.patchBucket(EXPECTED_TEST_BUCKET, template), new BucketUpdateTest().expected());
@@ -252,7 +249,7 @@ public class BucketApiExpectTest extends BaseGoogleCloudStorageApiExpectTest {
HttpResponse patchResponse = HttpResponse.builder().statusCode(200)
.payload(staticPayloadFromResource("/bucket_update_response.json")).build();
- BucketApi api = requestsSendResponses(requestForScopes(STORAGE_FULLCONTROL_SCOPE), TOKEN_RESPONSE, patchRequest,
+ BucketApi api = requestsSendResponses(requestForScopes(STORAGE_READWRITE_SCOPE), TOKEN_RESPONSE, patchRequest,
patchResponse).getBucketApi();
assertEquals(api.updateBucket(EXPECTED_TEST_BUCKET, template, options), new BucketUpdateTest().expected());
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java
index c0ca7c6..01c039e 100644
--- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java
+++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/BucketApiLiveTest.java
@@ -31,10 +31,10 @@ import org.jclouds.googlecloudstorage.domain.Bucket.Cors;
import org.jclouds.googlecloudstorage.domain.Bucket.Logging;
import org.jclouds.googlecloudstorage.domain.Bucket.Versioning;
import org.jclouds.googlecloudstorage.domain.BucketAccessControls;
+import org.jclouds.googlecloudstorage.domain.BucketAccessControls.Role;
import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Location;
import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole;
import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.Projection;
-import org.jclouds.googlecloudstorage.domain.BucketAccessControls.Role;
import org.jclouds.googlecloudstorage.domain.DomainResourceReferences.StorageClass;
import org.jclouds.googlecloudstorage.domain.ListPage;
import org.jclouds.googlecloudstorage.domain.ObjectAccessControls;
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java
index 15bd44f..acc7093 100644
--- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java
+++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/DefaultObjectAccessControlsApiExpectTest.java
@@ -17,7 +17,6 @@
package org.jclouds.googlecloudstorage.features;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.AssertJUnit.assertNull;
@@ -34,7 +33,7 @@ import org.jclouds.http.HttpRequest;
import org.jclouds.http.HttpResponse;
import org.testng.annotations.Test;
-@Test(groups = "unit")
+@Test(groups = "unit", testName = "DefaultObjectAccessControlsApiExpectTest")
public class DefaultObjectAccessControlsApiExpectTest extends BaseGoogleCloudStorageApiExpectTest {
private static final String EXPECTED_TEST_BUCKET = "jcloudtestbucket";
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java
index 2c7562b..2a6e5cf 100644
--- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java
+++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/features/ObjectAccessControlsApiExpectTest.java
@@ -18,7 +18,6 @@
package org.jclouds.googlecloudstorage.features;
import static org.jclouds.googlecloudstorage.domain.DomainResourceReferences.ObjectRole.OWNER;
-import static org.jclouds.googlecloudstorage.reference.GoogleCloudStorageConstants.STORAGE_FULLCONTROL_SCOPE;
import static org.testng.Assert.assertEquals;
import static org.testng.AssertJUnit.assertNull;
@@ -34,7 +33,7 @@ import org.jclouds.http.HttpRequest;
import org.jclouds.http.HttpResponse;
import org.testng.annotations.Test;
-@Test(groups = "unit")
+@Test(groups = "unit", testName = "ObjectAccessControlsApiExpectTest")
public class ObjectAccessControlsApiExpectTest extends BaseGoogleCloudStorageApiExpectTest {
private static final String EXPECTED_TEST_BUCKET = "jcloudtestbucket";
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/internal/BaseGoogleCloudStorageExpectTest.java
----------------------------------------------------------------------
diff --git a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/internal/BaseGoogleCloudStorageExpectTest.java b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/internal/BaseGoogleCloudStorageExpectTest.java
index d0976c7..40e26cd 100644
--- a/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/internal/BaseGoogleCloudStorageExpectTest.java
+++ b/google-cloud-storage/src/test/java/org/jclouds/googlecloudstorage/internal/BaseGoogleCloudStorageExpectTest.java
@@ -46,7 +46,9 @@ import java.util.concurrent.atomic.AtomicInteger;
import javax.ws.rs.core.MediaType;
+import org.jclouds.apis.ApiMetadata;
import org.jclouds.crypto.Crypto;
+import org.jclouds.googlecloudstorage.GoogleCloudStorageApiMetadata;
import org.jclouds.http.HttpRequest;
import org.jclouds.http.HttpResponse;
import org.jclouds.io.Payload;
@@ -65,6 +67,11 @@ import com.google.inject.Module;
import com.google.inject.TypeLiteral;
public class BaseGoogleCloudStorageExpectTest<T> extends BaseRestApiExpectTest<T> {
+ protected static final String STORAGE_READONLY_SCOPE = "https://www.googleapis.com/auth/devstorage.read_only";
+
+ protected static final String STORAGE_READWRITE_SCOPE = "https://www.googleapis.com/auth/devstorage.read_write";
+
+ protected static final String STORAGE_FULLCONTROL_SCOPE = "https://www.googleapis.com/auth/devstorage.full_control";
private static final String header = "{\"alg\":\"none\",\"typ\":\"JWT\"}";
@@ -87,7 +94,6 @@ public class BaseGoogleCloudStorageExpectTest<T> extends BaseRestApiExpectTest<T
@Override
protected Module createModule() {
-
return new Module() {
@Override
public void configure(Binder binder) {
@@ -129,7 +135,6 @@ public class BaseGoogleCloudStorageExpectTest<T> extends BaseRestApiExpectTest<T
});
}
};
-
}
@Override
@@ -140,6 +145,10 @@ public class BaseGoogleCloudStorageExpectTest<T> extends BaseRestApiExpectTest<T
return props;
}
+ @Override protected ApiMetadata createApiMetadata(){
+ return new GoogleCloudStorageApiMetadata();
+ }
+
@Override
protected HttpRequestComparisonType compareHttpRequestAsType(HttpRequest input) {
HttpRequestComparisonType reqType = HttpRequestComparisonType.DEFAULT;
@@ -168,5 +177,4 @@ public class BaseGoogleCloudStorageExpectTest<T> extends BaseRestApiExpectTest<T
protected Payload staticPayloadFromResource(String resource) {
return new ByteSourcePayload(Resources.asByteSource(Resources.getResource(getClass(), resource)));
}
-
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/Resources.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/Resources.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/Resources.java
index 34ddd50..8ddfec9 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/Resources.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/compute/functions/Resources.java
@@ -18,8 +18,6 @@ package org.jclouds.googlecomputeengine.compute.functions;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import static org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import java.net.URI;
@@ -34,7 +32,6 @@ import org.jclouds.googlecomputeengine.domain.Instance;
import org.jclouds.googlecomputeengine.domain.Network;
import org.jclouds.googlecomputeengine.domain.Operation;
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.EndpointParam;
import org.jclouds.rest.annotations.Fallback;
@@ -49,30 +46,26 @@ public interface Resources {
/** Returns an instance by self-link or null if not found. */
@Named("Instances:get")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class) @Nullable Instance instance(@EndpointParam URI selfLink);
/** Returns an network by self-link or null if not found. */
@Named("Networks:get")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class) @Nullable Network network(@EndpointParam URI selfLink);
/** Returns an operation by self-link or null if not found. */
@Named("Operations:get")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class) @Nullable Operation operation(@EndpointParam URI selfLink);
/** Deletes any resource by self-link and returns the operation in progress, or null if not found. */
@Named("Resources:delete")
@DELETE
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class) @Nullable Operation delete(@EndpointParam URI selfLink);
/** Hard-resets the instance by self-link and returns the operation in progres */
@Named("Instances:reset")
@POST
@Path("/reset")
- @OAuthScopes(COMPUTE_SCOPE) Operation resetInstance(@EndpointParam URI selfLink);
+ Operation resetInstance(@EndpointParam URI selfLink);
}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java
index d37c162..b89fd92 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java
@@ -22,7 +22,6 @@ import static java.util.concurrent.TimeUnit.SECONDS;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import static org.jclouds.Constants.PROPERTY_SESSION_INTERVAL;
import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineProperties.PROJECT_NAME;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
import static org.jclouds.rest.config.BinderUtils.bindHttpApi;
import java.net.URI;
@@ -48,6 +47,7 @@ import org.jclouds.http.annotation.Redirection;
import org.jclouds.http.annotation.ServerError;
import org.jclouds.location.Provider;
import org.jclouds.oauth.v2.config.OAuthScopes;
+import org.jclouds.oauth.v2.config.OAuthScopes.ReadOrWriteScopes;
import org.jclouds.oauth.v2.filters.OAuthAuthenticationFilter;
import org.jclouds.providers.ProviderMetadata;
import org.jclouds.rest.AuthorizationException;
@@ -65,12 +65,14 @@ import com.google.inject.Provides;
@ConfiguresHttpApi
public final class GoogleComputeEngineHttpApiModule extends HttpApiModule<GoogleComputeEngineApi> {
- public GoogleComputeEngineHttpApiModule() {
- }
@Override protected void configure() {
super.configure();
bindHttpApi(binder(), UseApiToResolveProjectName.GetProject.class);
+ bind(OAuthScopes.class).toInstance(ReadOrWriteScopes.create( //
+ "https://www.googleapis.com/auth/compute.readonly", //
+ "https://www.googleapis.com/auth/compute" //
+ ));
}
@Override protected void bindErrorHandlers() {
@@ -118,7 +120,6 @@ public final class GoogleComputeEngineHttpApiModule extends HttpApiModule<Google
@SkipEncoding({ '/', '=' })
@RequestFilters(OAuthAuthenticationFilter.class)
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Consumes(APPLICATION_JSON)
interface GetProject {
@Named("Projects:get")
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineScopes.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineScopes.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineScopes.java
deleted file mode 100644
index 7f5eaae..0000000
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineScopes.java
+++ /dev/null
@@ -1,28 +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.config;
-
-/** OAuth scopes needed for requests. */
-public final class GoogleComputeEngineScopes {
-
- public static final String COMPUTE_SCOPE = "https://www.googleapis.com/auth/compute";
-
- public static final String COMPUTE_READONLY_SCOPE = "https://www.googleapis.com/auth/compute.readonly";
-
- private GoogleComputeEngineScopes() {
- }
-}
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/AddressApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/AddressApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/AddressApi.java
index 1beef9f..8ecc1c4 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/AddressApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/AddressApi.java
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import java.util.Iterator;
@@ -41,7 +39,6 @@ import org.jclouds.googlecomputeengine.domain.Operation;
import org.jclouds.googlecomputeengine.internal.BaseCallerArg0ToIteratorOfListPage;
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;
@@ -63,7 +60,6 @@ public interface AddressApi {
@Named("Addresses:get")
@GET
@Path("/{address}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Address get(@PathParam("address") String address);
@@ -78,7 +74,6 @@ public interface AddressApi {
@Named("Addresses:insert")
@POST
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(BindToJsonPayload.class)
Operation create(@PayloadParam("name") String address);
@@ -86,7 +81,6 @@ public interface AddressApi {
@Named("Addresses:delete")
@DELETE
@Path("/{address}")
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Operation delete(@PathParam("address") String address);
@@ -102,20 +96,17 @@ public interface AddressApi {
*/
@Named("Addresses:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<Address> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@Named("Addresses:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(AddressPages.class)
Iterator<ListPage<Address>> list();
/** @see #listPage(String, ListOptions) */
@Named("Addresses:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(AddressPages.class)
Iterator<ListPage<Address>> list(ListOptions options);
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/AggregatedListApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/AggregatedListApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/AggregatedListApi.java
index 3386231..86232b4 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/AggregatedListApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/AggregatedListApi.java
@@ -17,7 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
import java.util.Iterator;
@@ -35,7 +34,6 @@ import org.jclouds.googlecomputeengine.domain.MachineType;
import org.jclouds.googlecomputeengine.internal.BaseToIteratorOfListPage;
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.RequestFilters;
import org.jclouds.rest.annotations.SkipEncoding;
@@ -47,7 +45,6 @@ import com.google.common.base.Function;
@RequestFilters(OAuthAuthenticationFilter.class)
@Path("/aggregated")
@Consumes(APPLICATION_JSON)
-@OAuthScopes(COMPUTE_READONLY_SCOPE)
public interface AggregatedListApi {
/**
http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/62766701/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/DiskApi.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/DiskApi.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/DiskApi.java
index 9934d22..132937f 100644
--- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/DiskApi.java
+++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/features/DiskApi.java
@@ -17,8 +17,6 @@
package org.jclouds.googlecomputeengine.features;
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
import java.util.Iterator;
@@ -43,7 +41,6 @@ import org.jclouds.googlecomputeengine.internal.BaseCallerArg0ToIteratorOfListPa
import org.jclouds.googlecomputeengine.options.DiskCreationOptions;
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;
@@ -65,7 +62,6 @@ public interface DiskApi {
@Named("Disks:get")
@GET
@Path("/{disk}")
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Disk get(@PathParam("disk") String disk);
@@ -81,7 +77,6 @@ public interface DiskApi {
@Named("Disks:insert")
@POST
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(BindToJsonPayload.class)
Operation create(@PayloadParam("name") String diskName, @PayloadParam("sizeGb") int sizeGb);
@@ -97,7 +92,6 @@ public interface DiskApi {
@Named("Disks:insert")
@POST
@Produces(APPLICATION_JSON)
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(DiskCreationBinder.class)
Operation create(@PayloadParam("name") String diskName,
@PayloadParam("sizeGb") int sizeGb,
@@ -107,7 +101,6 @@ public interface DiskApi {
@Named("Disks:delete")
@DELETE
@Path("/{disk}")
- @OAuthScopes(COMPUTE_SCOPE)
@Fallback(NullOnNotFoundOr404.class)
@Nullable
Operation delete(@PathParam("disk") String disk);
@@ -124,7 +117,6 @@ public interface DiskApi {
@Named("Disks:createSnapshot")
@POST
@Path("/{disk}/createSnapshot")
- @OAuthScopes(COMPUTE_SCOPE)
@MapBinder(BindToJsonPayload.class)
Operation createSnapshot(@PathParam("disk") String diskName, @PayloadParam("name") String snapshotName);
@@ -139,20 +131,17 @@ public interface DiskApi {
*/
@Named("Disks:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
ListPage<Disk> listPage(@Nullable @QueryParam("pageToken") String pageToken, ListOptions listOptions);
/** @see #listPage(String, ListOptions) */
@Named("Disks:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(DiskPages.class)
Iterator<ListPage<Disk>> list();
/** @see #listPage(String, ListOptions) */
@Named("Disks:list")
@GET
- @OAuthScopes(COMPUTE_READONLY_SCOPE)
@Transform(DiskPages.class)
Iterator<ListPage<Disk>> list(ListOptions options);