http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/DiskApi.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/DiskApi.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/DiskApi.java deleted file mode 100644 index dcb1942..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/DiskApi.java +++ /dev/null @@ -1,255 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.features; - -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE; -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE; - -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -import org.jclouds.Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404; -import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.collect.PagedIterable; -import org.jclouds.googlecomputeengine.domain.Disk; -import org.jclouds.googlecomputeengine.domain.ListPage; -import org.jclouds.googlecomputeengine.domain.Operation; -import org.jclouds.googlecomputeengine.functions.internal.ParseDisks; -import org.jclouds.googlecomputeengine.options.ListOptions; -import org.jclouds.javax.annotation.Nullable; -import org.jclouds.oauth.v2.config.OAuthScopes; -import org.jclouds.oauth.v2.filters.OAuthAuthenticationFilter; -import org.jclouds.rest.annotations.Fallback; -import org.jclouds.rest.annotations.MapBinder; -import org.jclouds.rest.annotations.PayloadParam; -import org.jclouds.rest.annotations.RequestFilters; -import org.jclouds.rest.annotations.ResponseParser; -import org.jclouds.rest.annotations.SkipEncoding; -import org.jclouds.rest.annotations.Transform; -import org.jclouds.rest.binders.BindToJsonPayload; - -/** - * Provides access to Disks via their REST API. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/disks"/> - */ -@SkipEncoding({'/', '='}) -@RequestFilters(OAuthAuthenticationFilter.class) -public interface DiskApi { - - /** - * Returns the specified persistent disk resource. - * - * @param zone Name of the zone the disk is in. - * @param diskName name of the persistent disk resource to return. - * @return a Disk resource. - */ - @Named("Disks:get") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/disks/{disk}") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @Nullable - Disk getInZone(@PathParam("zone") String zone, @PathParam("disk") String diskName); - - /** - * Creates a persistent disk resource in the specified project specifying the size of the disk. - * - * @param diskName the name of disk. - * @param sizeGb the size of the disk - * @param zone the name of the zone where the disk is to be created. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Disks:insert") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/disks") - @OAuthScopes({COMPUTE_SCOPE}) - @MapBinder(BindToJsonPayload.class) - Operation createInZone(@PayloadParam("name") String diskName, - @PayloadParam("sizeGb") int sizeGb, - @PathParam("zone") String zone); - - /** - * Creates a persistent disk resource from the specified image, in the specified project, - * specifying the size of the disk. - * - * @param sourceImage fully qualified URL for the image to be copied. - * @param diskName the name of disk. - * @param sizeGb the size of the disk - * @param zone the name of the zone where the disk is to be created. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Disks:insert") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/disks") - @OAuthScopes({COMPUTE_SCOPE}) - @MapBinder(BindToJsonPayload.class) - Operation createFromImageWithSizeInZone(@QueryParam("sourceImage") String sourceImage, - @PayloadParam("name") String diskName, - @PayloadParam("sizeGb") int sizeGb, - @PathParam("zone") String zone); - - /** - * Creates a persistent disk resource from the specified image, in the specified project, - * with the default disk size. - * - * @param sourceImage fully qualified URL for the image to be copied. - * @param diskName the name of disk. - * @param zone the name of the zone where the disk is to be created. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Disks:insert") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/disks") - @OAuthScopes({COMPUTE_SCOPE}) - @MapBinder(BindToJsonPayload.class) - Operation createFromImageInZone(@QueryParam("sourceImage") String sourceImage, - @PayloadParam("name") String diskName, - @PathParam("zone") String zone); - - /** - * Deletes the specified persistent disk resource. - * - * @param zone the zone the disk is in. - * @param diskName name of the persistent disk resource to delete. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Disks:delete") - @DELETE - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/disks/{disk}") - @OAuthScopes(COMPUTE_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @Nullable - Operation deleteInZone(@PathParam("zone") String zone, @PathParam("disk") String diskName); - - /** - * @see DiskApi#listAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Disks:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/disks") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseDisks.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Disk> listFirstPageInZone(@PathParam("zone") String zone); - - /** - * @see DiskApi#listAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Disks:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/disks") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseDisks.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Disk> listAtMarkerInZone(@PathParam("zone") String zone, @QueryParam("pageToken") @Nullable String marker); - - /** - * Retrieves the listPage of persistent disk resources contained within the specified project and zone. - * By default the listPage as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() has - * not been set. - * - * @param zone the zone to search in - * @param marker marks the beginning of the next list page - * @param listOptions listing options - * @return a page of the listPage - * @see ListOptions - * @see org.jclouds.googlecomputeengine.domain.ListPage - */ - @Named("Disks:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/disks") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseDisks.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Disk> listAtMarkerInZone(@PathParam("zone") String zone, @QueryParam("pageToken") @Nullable String marker, ListOptions listOptions); - - /** - * A paged version of DiskApi#listPageInZone(String) - * - * @param zone the zone to list in - * @return a Paged, Fluent Iterable that is able to fetch additional pages when required - * @see PagedIterable - * @see DiskApi#listAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Disks:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/disks") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseDisks.class) - @Transform(ParseDisks.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Disk> listInZone(@PathParam("zone") String zone); - - @Named("Disks:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/disks") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseDisks.class) - @Transform(ParseDisks.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Disk> listInZone(@PathParam("zone") String zone, ListOptions options); - - /** - * Create a snapshot of a given disk in a zone. - * - * @param zone the zone the disk is in. - * @param diskName the name of the disk. - * @param snapshotName the name for the snapshot to be craeted. - * - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Disks:createSnapshot") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/disks/{disk}/createSnapshot") - @OAuthScopes(COMPUTE_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @MapBinder(BindToJsonPayload.class) - @Nullable - Operation createSnapshotInZone(@PathParam("zone") String zone, - @PathParam("disk") String diskName, - @PayloadParam("name") String snapshotName); - -}
http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/FirewallApi.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/FirewallApi.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/FirewallApi.java deleted file mode 100644 index 79b2ec0..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/FirewallApi.java +++ /dev/null @@ -1,227 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.features; - -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE; -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE; - -import java.net.URI; - -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -import org.jclouds.Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404; -import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.collect.PagedIterable; -import org.jclouds.googlecomputeengine.domain.Firewall; -import org.jclouds.googlecomputeengine.domain.ListPage; -import org.jclouds.googlecomputeengine.domain.Operation; -import org.jclouds.googlecomputeengine.functions.internal.PATCH; -import org.jclouds.googlecomputeengine.functions.internal.ParseFirewalls; -import org.jclouds.googlecomputeengine.handlers.FirewallBinder; -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; -import org.jclouds.rest.annotations.MapBinder; -import org.jclouds.rest.annotations.PayloadParam; -import org.jclouds.rest.annotations.RequestFilters; -import org.jclouds.rest.annotations.ResponseParser; -import org.jclouds.rest.annotations.SkipEncoding; -import org.jclouds.rest.annotations.Transform; -import org.jclouds.rest.binders.BindToJsonPayload; - -/** - * Provides access to Firewalls via their REST API. - * <p/> - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/firewalls"/> - */ -@SkipEncoding({'/', '='}) -@RequestFilters(OAuthAuthenticationFilter.class) -public interface FirewallApi { - /** - * Returns the specified image resource. - * - * @param firewallName name of the firewall resource to return. - * @return an Firewall resource - */ - @Named("Firewalls:get") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/firewalls/{firewall}") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @Nullable - Firewall get(@PathParam("firewall") String firewallName); - - /** - * Creates a firewall resource in the specified project using the data included in the request. - * - * @param name the name of the firewall to be inserted. - * @param network the network to which to add the firewall - * @param firewallOptions the options of the firewall to add - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Firewalls:insert") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Path("/global/firewalls") - @OAuthScopes({COMPUTE_SCOPE}) - @MapBinder(FirewallBinder.class) - Operation createInNetwork(@PayloadParam("name") String name, - @PayloadParam("network") URI network, - @PayloadParam("options") FirewallOptions firewallOptions); - - /** - * Updates the specified firewall resource with the data included in the request. - * - * @param firewallName the name firewall to be updated. - * @param firewallOptions the new firewall. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Firewalls:update") - @PUT - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Path("/global/firewalls/{firewall}") - @OAuthScopes({COMPUTE_SCOPE}) - Operation update(@PathParam("firewall") String firewallName, - @BinderParam(BindToJsonPayload.class) FirewallOptions firewallOptions); - - /** - * Updates the specified firewall resource, with patch semantics, with the data included in the request. - * - * @param firewallName the name firewall to be updated. - * @param firewallOptions the new firewall. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Firewalls:patch") - @PATCH - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Path("/global/firewalls/{firewall}") - @OAuthScopes({COMPUTE_SCOPE}) - Operation patch(@PathParam("firewall") String firewallName, - @BinderParam(BindToJsonPayload.class) FirewallOptions firewallOptions); - - /** - * Deletes the specified image resource. - * - * @param firewallName name of the firewall resource to delete. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. If the image did not exist the result is null. - */ - @Named("Firewalls:delete") - @DELETE - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/firewalls/{firewall}") - @OAuthScopes(COMPUTE_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - Operation delete(@PathParam("firewall") String firewallName); - - /** - * @see FirewallApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Firewalls:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/firewalls") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseFirewalls.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Firewall> listFirstPage(); - - /** - * @see FirewallApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Firewalls:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/firewalls") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseFirewalls.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Firewall> listAtMarker(@QueryParam("pageToken") @Nullable String marker); - - /** - * Retrieves the list of firewall resources available to the specified project. - * By default the list as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() has not - * been set. - * - * @param marker marks the beginning of the next list page - * @param listOptions listing options - * @return a page of the list - * @see ListOptions - * @see org.jclouds.googlecomputeengine.domain.ListPage - */ - @Named("Firewalls:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/firewalls") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseFirewalls.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Firewall> listAtMarker(@QueryParam("pageToken") @Nullable String marker, ListOptions options); - - /** - * @see FirewallApi#list(org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Firewalls:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/firewalls") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseFirewalls.class) - @Transform(ParseFirewalls.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Firewall> list(); - - /** - * A paged version of FirewallApi#list() - * - * @return a Paged, Fluent Iterable that is able to fetch additional pages when required - * @see PagedIterable - * @see FirewallApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Firewalls:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/firewalls") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseFirewalls.class) - @Transform(ParseFirewalls.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Firewall> list(ListOptions options); -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/GlobalOperationApi.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/GlobalOperationApi.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/GlobalOperationApi.java deleted file mode 100644 index 818ae86..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/GlobalOperationApi.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.features; - -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE; -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE; - -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -import org.jclouds.Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404; -import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.collect.PagedIterable; -import org.jclouds.googlecomputeengine.domain.ListPage; -import org.jclouds.googlecomputeengine.domain.Operation; -import org.jclouds.googlecomputeengine.functions.internal.ParseGlobalOperations; -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; -import org.jclouds.rest.annotations.ResponseParser; -import org.jclouds.rest.annotations.SkipEncoding; -import org.jclouds.rest.annotations.Transform; - -/** - * Provides access to Global Operations via their REST API. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/globalOperations"/> - */ -@SkipEncoding({'/', '='}) -@RequestFilters(OAuthAuthenticationFilter.class) -public interface GlobalOperationApi { - - /** - * Retrieves the specified operation resource. - * - * @param operationName name of the operation resource to return. - * @return If successful, this method returns an Operation resource - */ - @Named("GlobalOperations:get") - @GET - @Path("/global/operations/{operation}") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @Fallback(NullOnNotFoundOr404.class) - Operation get(@PathParam("operation") String operationName); - - /** - * Deletes the specified operation resource. - * - * @param operationName name of the operation resource to delete. - */ - @Named("GlobalOperations:delete") - @DELETE - @Path("/global/operations/{operation}") - @OAuthScopes(COMPUTE_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - void delete(@PathParam("operation") String operationName); - - /** - * @see org.jclouds.googlecomputeengine.features.GlobalOperationApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("GlobalOperations:list") - @GET - @Path("/global/operations") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @ResponseParser(ParseGlobalOperations.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Operation> listFirstPage(); - - /** - * @see org.jclouds.googlecomputeengine.features.GlobalOperationApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("GlobalOperations:list") - @GET - @Path("/global/operations") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @ResponseParser(ParseGlobalOperations.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Operation> listAtMarker(@QueryParam("pageToken") @Nullable String marker); - - /** - * Retrieves the listFirstPage of operation resources contained within the specified project. - * By default the listFirstPage as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() - * has not been set. - * - * @param marker marks the beginning of the next list page - * @param listOptions listing options - * @return a page of the list, starting at marker - * @see org.jclouds.googlecomputeengine.options.ListOptions - * @see org.jclouds.googlecomputeengine.domain.ListPage - */ - @Named("GlobalOperations:list") - @GET - @Path("/global/operations") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @ResponseParser(ParseGlobalOperations.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Operation> listAtMarker(@QueryParam("pageToken") @Nullable String marker, - ListOptions listOptions); - - /** - * @see org.jclouds.googlecomputeengine.features.GlobalOperationApi#list(org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("GlobalOperations:list") - @GET - @Path("/global/operations") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @ResponseParser(ParseGlobalOperations.class) - @Transform(ParseGlobalOperations.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Operation> list(); - - /** - * A paged version of GlobalOperationApi#listFirstPage() - * - * @return a Paged, Fluent Iterable that is able to fetch additional pages when required - * @see org.jclouds.collect.PagedIterable - * @see org.jclouds.googlecomputeengine.features.GlobalOperationApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("GlobalOperations:list") - @GET - @Path("/global/operations") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @ResponseParser(ParseGlobalOperations.class) - @Transform(ParseGlobalOperations.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Operation> list(ListOptions listOptions); - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/ImageApi.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/ImageApi.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/ImageApi.java deleted file mode 100644 index d5755f2..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/ImageApi.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.features; - -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE; -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE; - -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -import org.jclouds.Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404; -import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.collect.PagedIterable; -import org.jclouds.googlecomputeengine.domain.Image; -import org.jclouds.googlecomputeengine.domain.ListPage; -import org.jclouds.googlecomputeengine.domain.Operation; -import org.jclouds.googlecomputeengine.functions.internal.ParseImages; -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; -import org.jclouds.rest.annotations.ResponseParser; -import org.jclouds.rest.annotations.SkipEncoding; -import org.jclouds.rest.annotations.Transform; - -/** - * Provides access to Images via their REST API. - * <p/> - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/images"/> - */ -@SkipEncoding({'/', '='}) -@RequestFilters(OAuthAuthenticationFilter.class) -public interface ImageApi { - /** - * Returns the specified image resource. - * - * @param imageName name of the image resource to return. - * @return an Image resource - */ - @Named("Images:get") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/images/{image}") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @Nullable - Image get(@PathParam("image") String imageName); - - /** - * Deletes the specified image resource. - * - * @param imageName name of the image resource to delete. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. If the image did not exist the result is null. - */ - @Named("Images:delete") - @DELETE - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/images/{image}") - @OAuthScopes(COMPUTE_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @Nullable - Operation delete(@PathParam("image") String imageName); - - /** - * @see ImageApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Images:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/images") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseImages.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Image> listFirstPage(); - - /** - * @see ImageApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Images:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/images") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseImages.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Image> listAtMarker(@QueryParam("pageToken") @Nullable String marker); - - /** - * Retrieves the list of image resources available to the specified project. - * By default the list as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() has not - * been set. - * - * @param marker marks the beginning of the next list page - * @param listOptions listing options - * @return a page of the list - * @see ListOptions - * @see org.jclouds.googlecomputeengine.domain.ListPage - */ - @Named("Images:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/images") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseImages.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Image> listAtMarker(@QueryParam("pageToken") @Nullable String marker, ListOptions listOptions); - - /** - * A paged version of ImageApi#list() - * - * @return a Paged, Fluent Iterable that is able to fetch additional pages when required - * @see PagedIterable - * @see ImageApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Images:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/images") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseImages.class) - @Transform(ParseImages.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Image> list(); - - /** - * A paged version of ImageApi#list() - * - * @return a Paged, Fluent Iterable that is able to fetch additional pages when required - * @see PagedIterable - * @see ImageApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Images:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/images") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseImages.class) - @Transform(ParseImages.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Image> list(ListOptions options); - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java deleted file mode 100644 index 2a88a79..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/InstanceApi.java +++ /dev/null @@ -1,381 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.features; - -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE; -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE; - -import java.util.Map; -import java.util.Set; - -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -import org.jclouds.Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404; -import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.collect.PagedIterable; -import org.jclouds.googlecomputeengine.domain.Instance; -import org.jclouds.googlecomputeengine.domain.InstanceTemplate; -import org.jclouds.googlecomputeengine.domain.ListPage; -import org.jclouds.googlecomputeengine.domain.Operation; -import org.jclouds.googlecomputeengine.functions.internal.ParseInstances; -import org.jclouds.googlecomputeengine.handlers.InstanceBinder; -import org.jclouds.googlecomputeengine.handlers.MetadataBinder; -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; -import org.jclouds.rest.annotations.MapBinder; -import org.jclouds.rest.annotations.PayloadParam; -import org.jclouds.rest.annotations.RequestFilters; -import org.jclouds.rest.annotations.ResponseParser; -import org.jclouds.rest.annotations.SkipEncoding; -import org.jclouds.rest.annotations.Transform; -import org.jclouds.rest.binders.BindToJsonPayload; - -/** - * Provides access to Instances via their REST API. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/instances"/> - * @see InstanceApi - */ -@SkipEncoding({'/', '='}) -@RequestFilters(OAuthAuthenticationFilter.class) -public interface InstanceApi { - - /** - * Returns the specified instance resource. - * - * @param zone zone the instance is in. - * @param instanceName name of the instance resource to return. - * @return an Instance resource - */ - @Named("Instances:get") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances/{instance}") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @Nullable - Instance getInZone(@PathParam("zone") String zone, @PathParam("instance") String instanceName); - - /** - * Creates a instance resource in the specified project using the data included in the request. - * - * - * @param instanceName this name of the instance to be created - * @param zone the name of the zone where the instance will be created - * @param template the instance template - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Instances:insert") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances") - @OAuthScopes({COMPUTE_SCOPE}) - @MapBinder(InstanceBinder.class) - Operation createInZone(@PayloadParam("name") String instanceName, @PathParam("zone") String zone, - @PayloadParam("template") InstanceTemplate template); - - - /** - * Deletes the specified instance resource. - * - * @param zone the instance is in. - * @param instanceName name of the instance resource to delete. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. If the instance did not exist the result is null. - */ - @Named("Instances:delete") - @DELETE - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances/{instance}") - @OAuthScopes(COMPUTE_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @Nullable - Operation deleteInZone(@PathParam("zone") String zone, @PathParam("instance") String instanceName); - - /** - * A paged version of InstanceApi#listInZone() - * - * @param zone zone instances are in - * @return a Paged, Fluent Iterable that is able to fetch additional pages when required - * @see PagedIterable - * @see InstanceApi#listAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Instances:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseInstances.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Instance> listFirstPageInZone(@PathParam("zone") String zone); - - /** - * Retrieves the list of instance resources available to the specified project. - * By default the list as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() has not - * been set. - * - * @param zone zone instances are in - * @param marker marks the beginning of the next list page - * @param listOptions listing options - * @return a page of the list - * @see ListOptions - * @see org.jclouds.googlecomputeengine.domain.ListPage - */ - @Named("Instances:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseInstances.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Instance> listAtMarkerInZone(@PathParam("zone") String zone, @Nullable String marker, - ListOptions listOptions); - - /** - * @see InstanceApi#listAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Instances:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseInstances.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Instance> listAtMarkerInZone(@PathParam("zone") String zone, - @Nullable String marker); - - /** - * @see InstanceApi#listInZone(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Instances:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseInstances.class) - @Transform(ParseInstances.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Instance> listInZone(@PathParam("zone") String zone); - - /** - * @see InstanceApi#listInZone(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Instances:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseInstances.class) - @Transform(ParseInstances.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Instance> listInZone(@PathParam("zone") String zone, ListOptions options); - - /** - * Adds an access config to an instance's network interface. - * - * @param zone zone instance is in - * @param instanceName the instance name. - * @param accessConfig the AccessConfig to add. - * @param networkInterfaceName network interface name. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Instances:addAccessConfig") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances/{instance}/addAccessConfig") - @OAuthScopes({COMPUTE_SCOPE}) - Operation addAccessConfigToNicInZone(@PathParam("zone") String zone, - @PathParam("instance") String instanceName, - @BinderParam(BindToJsonPayload.class) - Instance.NetworkInterface.AccessConfig accessConfig, - @QueryParam("network_interface") String networkInterfaceName); - - /** - * Deletes an access config from an instance's network interface. - * - * @param zone zone instance is in - * @param instanceName the instance name. - * @param accessConfigName the name of the access config to delete - * @param networkInterfaceName network interface name. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Instances:deleteAccessConfig") - @DELETE - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances/{instance}/deleteAccessConfig") - @OAuthScopes(COMPUTE_SCOPE) - Operation deleteAccessConfigFromNicInZone(@PathParam("zone") String zone, - @PathParam("instance") String instanceName, - @QueryParam("access_config") String accessConfigName, - @QueryParam("network_interface") String networkInterfaceName); - - /** - * Returns the specified instance's serial port output. - * - * @param zone zone instance is in - * @param instanceName the instance name. - * @return if successful, this method returns a SerialPortOutput containing the instance's serial output. - */ - @Named("Instances:serialPort") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances/{instance}/serialPort") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - Instance.SerialPortOutput getSerialPortOutputInZone(@PathParam("zone") String zone, - @PathParam("instance") String instanceName); - - /** - * Hard-resets the instance. - * - * @param zone the zone the instance is in - * @param instanceName the instance name - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. If the instance did not exist the result is null. - */ - @Named("Instances:reset") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances/{instance}/reset") - @OAuthScopes(COMPUTE_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @Nullable - Operation resetInZone(@PathParam("zone") String zone, - @PathParam("instance") String instanceName); - - /** - * Attaches a disk to an instance - * - * @param zone The zone the instance is in. - * @param instanceName The instance name to attach to - * @param attachDiskOptions The options for attaching the disk. - * - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Instances:attachDisk") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances/{instance}/attachDisk") - @OAuthScopes(COMPUTE_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @Nullable - Operation attachDiskInZone(@PathParam("zone") String zone, - @PathParam("instance") String instanceName, - @BinderParam(BindToJsonPayload.class) AttachDiskOptions attachDiskOptions); - - /** - * Detaches an attached disk from an instance - * - * @param zone The zone the instance is in. - * @param instanceName The instance name to attach to - * @param deviceName The device name of the disk to detach. - * - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Instances:detachDisk") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Path("/zones/{zone}/instances/{instance}/detachDisk") - @OAuthScopes(COMPUTE_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - @Nullable - Operation detachDiskInZone(@PathParam("zone") String zone, - @PathParam("instance") String instanceName, - @QueryParam("deviceName") String deviceName); - - /** - * Sets metadata for an instance using the data included in the request. - * <p/> - * NOTE: This *sets* metadata items on the project (vs *adding* items to metadata), - * if there are pre-existing metadata items that must be kept these must be fetched first and then re-set on the - * new Metadata, e.g. - * <pre><tt> - * Metadata.Builder current = instanceApi.getInZone("us-central1-a", "myInstance").getMetadata().toBuilder(); - * current.addItem("newItem","newItemValue"); - * instanceApi.setMetadataInZone("us-central1-a", "myInstance", current.build()); - * </tt></pre> - * - * @param zone The zone the instance is in - * @param instanceName The name of the instance - * @param metadata the metadata to set - * @param fingerprint The current fingerprint for the items - * - * @return an Operations resource. To check on the status of an operation, poll the Operations resource returned - * to you, and look for the status field. - */ - @Named("Instances:setMetadata") - @POST - @Path("/zones/{zone}/instances/{instance}/setMetadata") - @OAuthScopes(COMPUTE_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Fallback(NullOnNotFoundOr404.class) - @MapBinder(MetadataBinder.class) - @Nullable - Operation setMetadataInZone(@PathParam("zone") String zone, - @PathParam("instance") String instanceName, - @PayloadParam("items") Map<String, String> metadata, - @PayloadParam("fingerprint") String fingerprint); - - /** - * Sets items for an instance - * - * @param zone The zone the instance is in - * @param instanceName the name of the instance - * @param items A set of items - * @param fingerprint The current fingerprint for the items - * @return an Operations resource. To check on the status of an operation, poll the Operations resource returned - * to you, and look for the status field. - */ - @Named("Instances:setTags") - @POST - @Path("/zones/{zone}/instances/{instance}/setTags") - @OAuthScopes(COMPUTE_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Fallback(NullOnNotFoundOr404.class) - @MapBinder(BindToJsonPayload.class) - @Nullable - Operation setTagsInZone(@PathParam("zone") String zone, - @PathParam("instance") String instanceName, - @PayloadParam("items") Set<String> items, - @PayloadParam("fingerprint") String fingerprint); - -} - http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/MachineTypeApi.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/MachineTypeApi.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/MachineTypeApi.java deleted file mode 100644 index 9c0e411..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/MachineTypeApi.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.features; - -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE; - -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -import org.jclouds.Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404; -import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.collect.PagedIterable; -import org.jclouds.googlecomputeengine.domain.ListPage; -import org.jclouds.googlecomputeengine.domain.MachineType; -import org.jclouds.googlecomputeengine.functions.internal.ParseMachineTypes; -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; -import org.jclouds.rest.annotations.ResponseParser; -import org.jclouds.rest.annotations.SkipEncoding; -import org.jclouds.rest.annotations.Transform; - -/** - * Provides access to MachineTypes via their REST API. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/machineTypes"/> - */ -@SkipEncoding({'/', '='}) -@RequestFilters(OAuthAuthenticationFilter.class) -@Consumes(MediaType.APPLICATION_JSON) -public interface MachineTypeApi { - - /** - * Returns the specified machine type resource - * - * @param zone the name of the zone the machine type is in - * @param machineTypeName name of the machine type resource to return. - * @return If successful, this method returns a MachineType resource - */ - @Named("MachineTypes:get") - @GET - @Path("/zones/{zone}/machineTypes/{machineType}") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - MachineType getInZone(@PathParam("zone") String zone, @PathParam("machineType") String machineTypeName); - - /** - * @see MachineTypeApi#listAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("MachineTypes:list") - @GET - @Path("/zones/{zone}/machineTypes") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseMachineTypes.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<MachineType> listFirstPageInZone(@PathParam("zone") String zone); - - /** - * @see MachineTypeApi#listAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("MachineTypes:list") - @GET - @Path("/zones/{zone}/machineTypes") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseMachineTypes.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<MachineType> listAtMarkerInZone(@PathParam("zone") String zone, @QueryParam("pageToken") @Nullable String marker); - - /** - * Retrieves the list of machine type resources available to the specified project. - * By default the list as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() has not - * been set. - * - * @param zone The name of the zone to list in. - * @param marker marks the beginning of the next list page - * @param listOptions listing options - * @return a page of the list - * @see ListOptions - * @see org.jclouds.googlecomputeengine.domain.ListPage - */ - @Named("MachineTypes:list") - @GET - @Path("/zones/{zone}/machineTypes") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseMachineTypes.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<MachineType> listAtMarkerInZone(@PathParam("zone") String zone, - @QueryParam("pageToken") @Nullable String marker, - ListOptions listOptions); - - /** - * @see MachineTypeApi#listInZone(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("MachineTypes:list") - @GET - @Path("/zones/{zone}/machineTypes") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseMachineTypes.class) - @Transform(ParseMachineTypes.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<MachineType> listInZone(@PathParam("zone") String zone); - - /** - * A paged version of MachineTypeApi#listInZone(String) - * - * @param zone the zone to list in - * @return a Paged, Fluent Iterable that is able to fetch additional pages when required - * @see PagedIterable - * @see MachineTypeApi#listAtMarkerInZone(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("MachineTypes:list") - @GET - @Path("/zones/{zone}/machineTypes") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseMachineTypes.class) - @Transform(ParseMachineTypes.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<MachineType> listInZone(@PathParam("zone") String zone, ListOptions listOptions); - -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/NetworkApi.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/NetworkApi.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/NetworkApi.java deleted file mode 100644 index 8f21287..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/NetworkApi.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.features; - -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE; -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE; - -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -import org.jclouds.Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404; -import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.collect.PagedIterable; -import org.jclouds.googlecomputeengine.domain.ListPage; -import org.jclouds.googlecomputeengine.domain.Network; -import org.jclouds.googlecomputeengine.domain.Operation; -import org.jclouds.googlecomputeengine.functions.internal.ParseNetworks; -import org.jclouds.googlecomputeengine.options.ListOptions; -import org.jclouds.javax.annotation.Nullable; -import org.jclouds.oauth.v2.config.OAuthScopes; -import org.jclouds.oauth.v2.filters.OAuthAuthenticationFilter; -import org.jclouds.rest.annotations.Fallback; -import org.jclouds.rest.annotations.MapBinder; -import org.jclouds.rest.annotations.PayloadParam; -import org.jclouds.rest.annotations.RequestFilters; -import org.jclouds.rest.annotations.ResponseParser; -import org.jclouds.rest.annotations.SkipEncoding; -import org.jclouds.rest.annotations.Transform; -import org.jclouds.rest.binders.BindToJsonPayload; - -/** - * Provides access to Networks via their REST API. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/networks"/> - */ -@SkipEncoding({'/', '='}) -@RequestFilters(OAuthAuthenticationFilter.class) -public interface NetworkApi { - - /** - * Returns the specified persistent network resource. - * - * @param networkName name of the persistent network resource to return. - * @return a Network resource. - */ - @Named("Networks:get") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/networks/{network}") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - Network get(@PathParam("network") String networkName); - - /** - * Creates a persistent network resource in the specified project with the specified range. - * - * @param networkName the network name - * @param IPv4Range the range of the network to be inserted. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Networks:insert") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Path("/global/networks") - @OAuthScopes({COMPUTE_SCOPE}) - @MapBinder(BindToJsonPayload.class) - Operation createInIPv4Range(@PayloadParam("name") String networkName, - @PayloadParam("IPv4Range") String IPv4Range); - - /** - * Creates a persistent network resource in the specified project with the specified range and specified gateway. - * - * @param networkName the network name - * @param IPv4Range the range of the network to be inserted. - * @param gatewayIPv4 the range of the network to be inserted. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Networks:insert") - @POST - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Path("/global/networks") - @OAuthScopes({COMPUTE_SCOPE}) - @MapBinder(BindToJsonPayload.class) - Operation createInIPv4RangeWithGateway(@PayloadParam("name") String networkName, - @PayloadParam("IPv4Range") String IPv4Range, - @PayloadParam("gatewayIPv4") String gatewayIPv4); - - /** - * Deletes the specified persistent network resource. - * - * @param networkName name of the persistent network resource to delete. - * @return an Operation resource. To check on the status of an operation, poll the Operations resource returned to - * you, and look for the status field. - */ - @Named("Networks:delete") - @DELETE - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/networks/{network}") - @OAuthScopes(COMPUTE_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - Operation delete(@PathParam("network") String networkName); - - /** - * @see NetworkApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Networks:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/networks") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseNetworks.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Network> listFirstPage(); - - /** - * @see NetworkApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Networks:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/networks") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseNetworks.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Network> listAtMarker(@QueryParam("pageToken") @Nullable String marker); - - /** - * Retrieves the list of persistent network resources contained within the specified project. - * By default the list as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() has not - * been set. - * - * @param marker marks the beginning of the next list page - * @param listOptions listing options - * @return a page of the list - * @see ListOptions - * @see org.jclouds.googlecomputeengine.domain.ListPage - */ - @Named("Networks:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/networks") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseNetworks.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Network> listAtMarker(@QueryParam("pageToken") @Nullable String marker, - ListOptions options); - - /** - * @see NetworkApi#list(org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Networks:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/networks") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseNetworks.class) - @Transform(ParseNetworks.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Network> list(); - - /** - * A paged version of NetworkApi#list() - * - * @return a Paged, Fluent Iterable that is able to fetch additional pages when required - * @see PagedIterable - * @see NetworkApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Networks:list") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Path("/global/networks") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseNetworks.class) - @Transform(ParseNetworks.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Network> list(ListOptions options); -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/ProjectApi.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/ProjectApi.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/ProjectApi.java deleted file mode 100644 index 8871593..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/ProjectApi.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.features; - -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE; -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE; - -import java.util.Map; - -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; - -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.googlecomputeengine.domain.Operation; -import org.jclouds.googlecomputeengine.domain.Project; -import org.jclouds.googlecomputeengine.handlers.MetadataBinder; -import org.jclouds.oauth.v2.config.OAuthScopes; -import org.jclouds.oauth.v2.filters.OAuthAuthenticationFilter; -import org.jclouds.rest.annotations.Fallback; -import org.jclouds.rest.annotations.MapBinder; -import org.jclouds.rest.annotations.PayloadParam; -import org.jclouds.rest.annotations.RequestFilters; -import org.jclouds.rest.annotations.SkipEncoding; - -/** - * Provides access to Projects via their REST API. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/projects"/> - */ -@SkipEncoding({'/', '='}) -@RequestFilters(OAuthAuthenticationFilter.class) -public interface ProjectApi { - - /** - * Returns the specified project resource. - * - * @param projectName name of the project to return - * @return if successful, this method returns a Project resource - */ - @Named("Projects:get") - @GET - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @Fallback(NullOnNotFoundOr404.class) - @Path("/projects/{project}") - Project get(@PathParam("project") String projectName); - - /** - * Sets metadata common to all instances within the specified project using the data included in the request. - * <p/> - * NOTE: This *sets* metadata items on the project (vs *adding* items to metadata), - * if there are pre-existing metadata items that must be kept these must be fetched first and then re-set on the - * new Metadata, e.g. - * <pre><tt> - * Metadata.Builder current = projectApi.get("myProject").getCommonInstanceMetadata().toBuilder(); - * current.addItem("newItem","newItemValue"); - * projectApi.setCommonInstanceMetadata(current.build()); - * </tt></pre> - * - * @param projectName name of the project to return - * @param metadata the metadata to set - * @param fingerprint The current fingerprint for the metadata - * @return an Operations resource. To check on the status of an operation, poll the Operations resource returned - * to you, and look for the status field. - */ - @Named("Projects:setCommonInstanceMetadata") - @POST - @Path("/projects/{project}/setCommonInstanceMetadata") - @OAuthScopes(COMPUTE_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @MapBinder(MetadataBinder.class) - Operation setCommonInstanceMetadata(@PathParam("project") String projectName, - @PayloadParam("items") Map<String, String> metadata, - @PayloadParam("fingerprint") String fingerprint); -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/RegionApi.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/RegionApi.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/RegionApi.java deleted file mode 100644 index 608a614..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/RegionApi.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.features; - -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE; - -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.core.MediaType; - -import org.jclouds.Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404; -import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.collect.PagedIterable; -import org.jclouds.googlecomputeengine.domain.ListPage; -import org.jclouds.googlecomputeengine.domain.Region; -import org.jclouds.googlecomputeengine.functions.internal.ParseRegions; -import org.jclouds.googlecomputeengine.options.ListOptions; -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; -import org.jclouds.rest.annotations.ResponseParser; -import org.jclouds.rest.annotations.SkipEncoding; -import org.jclouds.rest.annotations.Transform; - -/** - * Provides access to Regions via their REST API. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/regions"/> - */ -@SkipEncoding({'/', '='}) -@RequestFilters(OAuthAuthenticationFilter.class) -@Consumes(MediaType.APPLICATION_JSON) -public interface RegionApi { - - /** - * Returns the specified region resource - * - * @param regionName name of the region resource to return. - * @return If successful, this method returns a Region resource - */ - @Named("Regions:get") - @GET - @Path("/regions/{region}") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - Region get(@PathParam("region") String regionName); - - /** - * @see org.jclouds.googlecomputeengine.features.RegionApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Regions:list") - @GET - @Path("/regions") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseRegions.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Region> listFirstPage(); - - /** - * @see org.jclouds.googlecomputeengine.features.RegionApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Regions:list") - @GET - @Path("/regions") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseRegions.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Region> listAtMarker(String marker); - - /** - * Retrieves the listFirstPage of region resources available to the specified project. - * By default the listFirstPage as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() - * has not been set. - * - * @param marker marks the beginning of the next list page - * @param listOptions listing options - * @return a page of the listFirstPage - * @see org.jclouds.googlecomputeengine.options.ListOptions - * @see org.jclouds.googlecomputeengine.domain.ListPage - */ - @Named("Regions:list") - @GET - @Path("/regions") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseRegions.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Region> listAtMarker(String marker, ListOptions listOptions); - - /** - * @see org.jclouds.googlecomputeengine.features.RegionApi#list(org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("Regions:list") - @GET - @Path("/regions") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseRegions.class) - @Transform(ParseRegions.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Region> list(); - - /** - * A paged version of RegionApi#listFirstPage() - * - * @return a Paged, Fluent Iterable that is able to fetch additional pages when required - * @see org.jclouds.googlecomputeengine.features.RegionApi#listAtMarker(String, org.jclouds.googlecomputeengine.options.ListOptions) - * @see org.jclouds.collect.PagedIterable - */ - @Named("Regions:list") - @GET - @Path("/regions") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @ResponseParser(ParseRegions.class) - @Transform(ParseRegions.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Region> list(ListOptions listOptions); -} http://git-wip-us.apache.org/repos/asf/stratos/blob/295c545c/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/RegionOperationApi.java ---------------------------------------------------------------------- diff --git a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/RegionOperationApi.java b/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/RegionOperationApi.java deleted file mode 100644 index 4afab63..0000000 --- a/dependencies/jclouds/apis/gce/1.8.1-stratos/src/main/java/org/jclouds/googlecomputeengine/features/RegionOperationApi.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.googlecomputeengine.features; - -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE; -import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE; - -import javax.inject.Named; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; - -import org.jclouds.Fallbacks.EmptyIterableWithMarkerOnNotFoundOr404; -import org.jclouds.Fallbacks.EmptyPagedIterableOnNotFoundOr404; -import org.jclouds.Fallbacks.NullOnNotFoundOr404; -import org.jclouds.collect.PagedIterable; -import org.jclouds.googlecomputeengine.domain.ListPage; -import org.jclouds.googlecomputeengine.domain.Operation; -import org.jclouds.googlecomputeengine.functions.internal.ParseRegionOperations; -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; -import org.jclouds.rest.annotations.ResponseParser; -import org.jclouds.rest.annotations.SkipEncoding; -import org.jclouds.rest.annotations.Transform; - -/** - * Provides access to Operations via their REST API. - * - * @see <a href="https://developers.google.com/compute/docs/reference/v1/operations"/> - */ -@SkipEncoding({'/', '='}) -@RequestFilters(OAuthAuthenticationFilter.class) -public interface RegionOperationApi { - - /** - * Retrieves the specified operation resource. - * - * @param region the region the operation is in - * @param operationName name of the operation resource to return. - * @return If successful, this method returns an Operation resource - */ - @Named("RegionOperations:get") - @GET - @Path("/regions/{region}/operations/{operation}") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @Fallback(NullOnNotFoundOr404.class) - Operation getInRegion(@PathParam("region") String region, @PathParam("operation") String operationName); - - /** - * Deletes the specified operation resource. - * - * @param region the region the operation is in - * @param operationName name of the operation resource to delete. - */ - @Named("RegionOperations:delete") - @DELETE - @Path("/regions/{region}/operations/{operation}") - @OAuthScopes(COMPUTE_SCOPE) - @Fallback(NullOnNotFoundOr404.class) - void deleteInRegion(@PathParam("region") String region, @PathParam("operation") String operationName); - - /** - * @see org.jclouds.googlecomputeengine.features.RegionOperationApi#listAtMarkerInRegion(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("RegionOperations:list") - @GET - @Path("/regions/{region}/operations") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @ResponseParser(ParseRegionOperations.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Operation> listFirstPageInRegion(@PathParam("region") String region); - - /** - * @see org.jclouds.googlecomputeengine.features.RegionOperationApi#listAtMarkerInRegion(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("RegionOperations:list") - @GET - @Path("/regions/{region}/operations") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @ResponseParser(ParseRegionOperations.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Operation> listAtMarkerInRegion(@PathParam("region") String region, - @QueryParam("pageToken") @Nullable String marker); - - /** - * Retrieves the listFirstPage of operation resources contained within the specified project. - * By default the listFirstPage as a maximum size of 100, if no options are provided or ListOptions#getMaxResults() - * has not been set. - * - * @param region the region to list in - * @param marker marks the beginning of the next list page - * @param listOptions listing options - * @return a page of the list, starting at marker - * @see org.jclouds.googlecomputeengine.options.ListOptions - * @see org.jclouds.googlecomputeengine.domain.ListPage - */ - @Named("RegionOperations:list") - @GET - @Path("/regions/{region}/operations") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @ResponseParser(ParseRegionOperations.class) - @Fallback(EmptyIterableWithMarkerOnNotFoundOr404.class) - ListPage<Operation> listAtMarkerInRegion(@PathParam("region") String region, - @QueryParam("pageToken") @Nullable String marker, - ListOptions listOptions); - - /** - * @see org.jclouds.googlecomputeengine.features.RegionOperationApi#listInRegion(String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("RegionOperations:list") - @GET - @Path("/regions/{region}/operations") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @ResponseParser(ParseRegionOperations.class) - @Transform(ParseRegionOperations.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Operation> listInRegion(@PathParam("region") String region); - - /** - * A paged version of RegionOperationApi#listFirstPageInRegion(String) - * - * @return a Paged, Fluent Iterable that is able to fetch additional pages when required - * @see org.jclouds.collect.PagedIterable - * @see org.jclouds.googlecomputeengine.features.RegionOperationApi#listAtMarkerInRegion(String, String, org.jclouds.googlecomputeengine.options.ListOptions) - */ - @Named("RegionOperations:list") - @GET - @Path("/regions/{region}/operations") - @OAuthScopes(COMPUTE_READONLY_SCOPE) - @Consumes(MediaType.APPLICATION_JSON) - @ResponseParser(ParseRegionOperations.class) - @Transform(ParseRegionOperations.ToPagedIterable.class) - @Fallback(EmptyPagedIterableOnNotFoundOr404.class) - PagedIterable<Operation> listInRegion(@PathParam("region") String region, ListOptions listOptions); - -}
