You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2014/12/23 05:26:30 UTC
[06/51] [partial] stratos git commit: dropping jclouds 1.8.0 clone
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneAndId.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneAndId.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneAndId.java
deleted file mode 100644
index e77286e..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneAndId.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jclouds.openstack.nova.v2_0.domain.zonescoped;
-
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import com.google.common.base.Objects;
-import com.google.common.base.Splitter;
-import com.google.common.collect.Iterables;
-
-public class ZoneAndId {
- public static ZoneAndId fromSlashEncoded(String id) {
- Iterable<String> parts = Splitter.on('/').split(checkNotNull(id, "id"));
- checkArgument(Iterables.size(parts) == 2, "id must be in format zoneId/id");
- return new ZoneAndId(Iterables.get(parts, 0), Iterables.get(parts, 1));
- }
-
- public static ZoneAndId fromZoneAndId(String zoneId, String id) {
- return new ZoneAndId(zoneId, id);
- }
-
- private static String slashEncodeZoneAndId(String zoneId, String id) {
- return checkNotNull(zoneId, "zoneId") + "/" + checkNotNull(id, "id");
- }
-
- public String slashEncode() {
- return slashEncodeZoneAndId(zoneId, id);
- }
-
- protected final String zoneId;
- protected final String id;
-
- protected ZoneAndId(String zoneId, String id) {
- this.zoneId = checkNotNull(zoneId, "zoneId");
- this.id = checkNotNull(id, "id");
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(zoneId, id);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- ZoneAndId other = (ZoneAndId) obj;
- return Objects.equal(zoneId, other.zoneId) && Objects.equal(id, other.id);
- }
-
- public String getZone() {
- return zoneId;
- }
-
- public String getId() {
- return id;
- }
-
- @Override
- public String toString() {
- return "[zoneId=" + zoneId + ", id=" + id + "]";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneAndName.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneAndName.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneAndName.java
deleted file mode 100644
index ef12fd9..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneAndName.java
+++ /dev/null
@@ -1,109 +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.openstack.nova.v2_0.domain.zonescoped;
-
-import static com.google.common.base.Objects.equal;
-import static com.google.common.base.Preconditions.checkArgument;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import com.google.common.base.Function;
-import com.google.common.base.Objects;
-import com.google.common.base.Splitter;
-import com.google.common.base.Objects.ToStringHelper;
-import com.google.common.collect.Iterables;
-
-/**
- * Helpful when looking for resources by zone and name
- */
-public class ZoneAndName {
-
- public static final Function<ZoneAndName, String> NAME_FUNCTION = new Function<ZoneAndName, String>() {
-
- @Override
- public String apply(ZoneAndName input) {
- return input.getName();
- }
-
- };
-
- public static final Function<ZoneAndName, String> ZONE_FUNCTION = new Function<ZoneAndName, String>() {
-
- @Override
- public String apply(ZoneAndName input) {
- return input.getZone();
- }
-
- };
-
- public static ZoneAndName fromSlashEncoded(String name) {
- Iterable<String> parts = Splitter.on('/').split(checkNotNull(name, "name"));
- checkArgument(Iterables.size(parts) == 2, "name must be in format zoneId/name");
- return new ZoneAndName(Iterables.get(parts, 0), Iterables.get(parts, 1));
- }
-
- public static ZoneAndName fromZoneAndName(String zoneId, String name) {
- return new ZoneAndName(zoneId, name);
- }
-
- private static String slashEncodeZoneAndName(String zoneId, String name) {
- return checkNotNull(zoneId, "zoneId") + "/" + checkNotNull(name, "name");
- }
-
- public String slashEncode() {
- return slashEncodeZoneAndName(zoneId, name);
- }
-
- protected final String zoneId;
- protected final String name;
-
- protected ZoneAndName(String zoneId, String name) {
- this.zoneId = checkNotNull(zoneId, "zoneId");
- this.name = checkNotNull(name, "name");
- }
-
- public String getZone() {
- return zoneId;
- }
-
- public String getName() {
- return name;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
- ZoneAndName that = ZoneAndName.class.cast(o);
- return equal(this.zoneId, that.zoneId) && equal(this.name, that.name);
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(zoneId, name);
- }
-
- @Override
- public String toString() {
- return string().toString();
- }
-
- protected ToStringHelper string() {
- return Objects.toStringHelper("").add("zoneId", zoneId).add("name", name);
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneSecurityGroupNameAndPorts.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneSecurityGroupNameAndPorts.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneSecurityGroupNameAndPorts.java
deleted file mode 100644
index a5c1c65..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneSecurityGroupNameAndPorts.java
+++ /dev/null
@@ -1,59 +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.openstack.nova.v2_0.domain.zonescoped;
-
-import static com.google.common.base.Objects.equal;
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.util.Set;
-
-import com.google.common.base.Objects;
-import com.google.common.base.Objects.ToStringHelper;
-import com.google.common.collect.ImmutableSet;
-
-public class ZoneSecurityGroupNameAndPorts extends ZoneAndName {
- protected final Set<Integer> ports;
-
- public ZoneSecurityGroupNameAndPorts(String zoneId, String name, Iterable<Integer> ports) {
- super(zoneId, name);
- this.ports = ImmutableSet.<Integer> copyOf(checkNotNull(ports, "ports"));
- }
-
- public Set<Integer> getPorts() {
- return ports;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
- ZoneSecurityGroupNameAndPorts that = ZoneSecurityGroupNameAndPorts.class.cast(o);
- return super.equals(that) && equal(this.ports, that.ports);
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(super.hashCode(), ports);
- }
-
- @Override
- public ToStringHelper string() {
- return super.string().add("ports", ports);
- }
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneState.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneState.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneState.java
deleted file mode 100644
index d32c368..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/domain/zonescoped/ZoneState.java
+++ /dev/null
@@ -1,56 +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.openstack.nova.v2_0.domain.zonescoped;
-
-import com.google.common.base.Objects;
-
-public class ZoneState {
-
- private final boolean available;
-
- protected ZoneState(boolean available) {
- this.available = available;
- }
-
- public boolean available() {
- return this.available;
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(available);
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this != obj) return false;
- if (obj == null || getClass() != obj.getClass()) return false;
- ZoneState that = ZoneState.class.cast(obj);
- return Objects.equal(this.available, that.available);
- }
-
- protected Objects.ToStringHelper string() {
- return Objects.toStringHelper(this)
- .add("available", available);
- }
-
- @Override
- public String toString() {
- return string().toString();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApi.java
deleted file mode 100644
index 7b894fb..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/AvailabilityZoneApi.java
+++ /dev/null
@@ -1,54 +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.openstack.nova.v2_0.extensions;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.MediaType;
-
-import org.jclouds.Fallbacks.EmptyFluentIterableOnNotFoundOr404;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.domain.zonescoped.AvailabilityZone;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SelectJson;
-
-import com.google.common.annotations.Beta;
-import com.google.common.collect.FluentIterable;
-
-/**
- * Provides access to the OpenStack Compute (Nova) Availability Zone Extension API.
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.AVAILABILITY_ZONE)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-@Path("/os-availability-zone")
-public interface AvailabilityZoneApi {
- /**
- * @return all availability zones
- */
- @Named("availabilityZone:list")
- @GET
- @SelectJson("availabilityZoneInfo")
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<AvailabilityZone> list();
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ConsolesApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ConsolesApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ConsolesApi.java
deleted file mode 100644
index 715ce52..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ConsolesApi.java
+++ /dev/null
@@ -1,66 +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.openstack.nova.v2_0.extensions;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-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.MapHttp4xxCodesToExceptions;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.binders.BindConsoleToJsonPayload;
-import org.jclouds.openstack.nova.v2_0.domain.Console;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-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.SelectJson;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Provides access to the OpenStack Compute (Nova) Consoles Extension API.
- * <p/>
- *
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.CONSOLES)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-public interface ConsolesApi {
- /**
- * Gets the specified server Console.
- *
- * @param serverId Server id
- * @param type see {@link Console.Type}
- * @return a Console object containing the console url and type.
- */
- @Named("consoles:getConsole")
- @POST
- @Path("/servers/{serverId}/action")
- @SelectJson("console")
- @Produces(MediaType.APPLICATION_JSON)
- @Fallback(MapHttp4xxCodesToExceptions.class)
- @MapBinder(BindConsoleToJsonPayload.class)
- Console getConsole(@PathParam("serverId") String serverId, @PayloadParam("type") Console.Type type);
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ExtensionNamespaces.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ExtensionNamespaces.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ExtensionNamespaces.java
deleted file mode 100644
index 503f32e..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ExtensionNamespaces.java
+++ /dev/null
@@ -1,113 +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.openstack.nova.v2_0.extensions;
-
-/**
- * Extension namespaces
- *
- * @see <a href= "http://nova.openstack.org/api_ext/" />
- */
-public interface ExtensionNamespaces {
- /**
- * Keypair Support
- */
- public static final String KEYPAIRS = "http://docs.openstack.org/ext/keypairs/api/v1.1";
- /**
- * Volumes support
- */
- public static final String VOLUMES = "http://docs.openstack.org/ext/volumes/api/v1.1";
- /**
- * Volume types support
- */
- public static final String VOLUME_TYPES = "http://docs.openstack.org/ext/volume_types/api/v1.1";
- /**
- * Security group support
- */
- public static final String SECURITY_GROUPS = "http://docs.openstack.org/ext/securitygroups/api/v1.1";
- /**
- * Floating IPs support
- */
- public static final String FLOATING_IPS = "http://docs.openstack.org/ext/floating_ips/api/v1.1";
- /**
- * Multiple network support
- */
- public static final String MULTINIC = "http://docs.openstack.org/ext/multinic/api/v1.1";
- /**
- * Host administration
- */
- public static final String HOSTS = "http://docs.openstack.org/ext/hosts/api/v1.1";
- /**
- * Quotas management support
- */
- public static final String QUOTAS = "http://docs.openstack.org/ext/quotas-sets/api/v1.1";
- /**
- * Instance type (flavor) extra specs
- */
- public static final String FLAVOR_EXTRA_SPECS = "http://docs.openstack.org/ext/flavor_extra_specs/api/v1.1";
- /**
- * Provide additional data for flavors
- */
- public static final String FLAVOR_EXTRA_DATA = "http://docs.openstack.org/ext/flavor_extra_data/api/v1.1";
- /**
- * Virtual interface support
- */
- public static final String VIRTUAL_INTERFACES = "http://docs.openstack.org/ext/virtual_interfaces/api/v1.1";
- /**
- * Availability zone extensions
- */
- public static final String AVAILABILITY_ZONE = "http://docs.openstack.org/compute/ext/availabilityzone/api/v1.1";
- /**
- * Extended support to the Create Server v1.1 API
- */
- public static final String CREATESERVEREXT = "http://docs.openstack.org/ext/createserverext/api/v1.1";
- /**
- * Virtual Storage Arrays support
- */
- public static final String VSA = "http://docs.openstack.org/ext/vsa/api/v1.1";
- /**
- * Simple tenant usage extension
- */
- public static final String SIMPLE_TENANT_USAGE = "http://docs.openstack.org/ext/os-simple-tenant-usage/api/v1.1";
- /**
- * Instance rescue mode
- */
- public static final String RESCUE = "http://docs.openstack.org/ext/rescue/api/v1.1";
- /**
- * Admin Action extension
- */
- public static final String ADMIN_ACTIONS = "http://docs.openstack.org/ext/admin-actions/api/v1.1";
-
- /**
- * Extended Server Status extension
- */
- public static final String EXTENDED_STATUS = "http://docs.openstack.org/compute/ext/extended_status/api/v1.1";
-
- /**
- * Disk Config extension
- */
- public static final String DISK_CONFIG = "http://docs.openstack.org/compute/ext/disk_config/api/v1.1";
-
- /**
- * Aggregates extension
- */
- public static final String AGGREGATES = "http://docs.openstack.org/ext/aggregates/api/v1.1";
-
- /**
- * Consoles extension
- */
- public static final String CONSOLES = "http://docs.openstack.org/compute/ext/os-consoles/api/v2";
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/FlavorExtraSpecsApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/FlavorExtraSpecsApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/FlavorExtraSpecsApi.java
deleted file mode 100644
index 5856cd6..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/FlavorExtraSpecsApi.java
+++ /dev/null
@@ -1,130 +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.openstack.nova.v2_0.extensions;
-
-import java.util.Map;
-
-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.core.MediaType;
-
-import org.jclouds.Fallbacks.EmptyMapOnNotFoundOr404;
-import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.MapBinder;
-import org.jclouds.rest.annotations.Payload;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SelectJson;
-import org.jclouds.rest.annotations.Unwrap;
-import org.jclouds.rest.binders.BindToJsonPayload;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Provides access to the OpenStack Compute (Nova) Flavor Extra Specs Extension API.
- *
- * @see org.jclouds.openstack.nova.v2_0.features.FlavorApi
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.FLAVOR_EXTRA_SPECS)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-@Path("/flavors")
-public interface FlavorExtraSpecsApi {
- /**
- * Retrieves all extra specs for a flavor
- *
- * @return the set of extra metadata for the flavor
- */
- @Named("flavorExtraSpecs:getMetadata")
- @GET
- @Path("/{id}/os-extra_specs")
- @SelectJson("extra_specs")
- @Fallback(EmptyMapOnNotFoundOr404.class)
- Map<String, String> getMetadata(@PathParam("id") String flavorId);
-
- /**
- * Creates or updates the extra specs for a given flavor
- *
- * @param flavorId the id of the flavor to modify
- * @param specs the extra specs to apply
- */
- @Named("flavorExtraSpecs:updateMetadata")
- @POST
- @Path("/{id}/os-extra_specs")
- @Produces(MediaType.APPLICATION_JSON)
- @MapBinder(BindToJsonPayload.class)
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean updateMetadata(@PathParam("id") String flavorId,
- @PayloadParam("extra_specs") Map<String, String> specs);
-
- /**
- * Return a single extra spec value
- *
- * @param id the id of the flavor to modify
- * @param key the extra spec key to retrieve
- */
- @Named("flavorExtraSpecs:getMetadataKey")
- @GET
- @Path("/{id}/os-extra_specs/{key}")
- @Unwrap
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- String getMetadataKey(@PathParam("id") String flavorId, @PathParam("key") String key);
-
- /**
- * Creates or updates a single extra spec value
- *
- * @param id the id of the flavor to modify
- * @param key the extra spec key (when creating ensure this does not include whitespace or
- * other difficult characters)
- * @param value the value to associate with the key
- */
- @Named("flavorExtraSpecs:updateMetadataEntry")
- @PUT
- @Path("/{id}/os-extra_specs/{key}")
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("%7B\"{key}\":\"{value}\"%7D")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean updateMetadataEntry(@PathParam("id") String flavorId,
- @PathParam("key") @PayloadParam("key") String key, @PayloadParam("value") String value);
-
- /**
- * Deletes an extra spec
- *
- * @param id the id of the flavor to modify
- * @param key the extra spec key to delete
- */
- @Named("flavorExtraSpecs:deleteMetadataKey")
- @DELETE
- @Path("/{id}/os-extra_specs/{key}")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean deleteMetadataKey(@PathParam("id") String flavorId, @PathParam("key") String key);
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/FloatingIPApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/FloatingIPApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/FloatingIPApi.java
deleted file mode 100644
index 6160364..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/FloatingIPApi.java
+++ /dev/null
@@ -1,154 +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.openstack.nova.v2_0.extensions;
-
-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.core.MediaType;
-
-import org.jclouds.Fallbacks.EmptyFluentIterableOnNotFoundOr404;
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.domain.FloatingIP;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.Payload;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SelectJson;
-
-import com.google.common.annotations.Beta;
-import com.google.common.collect.FluentIterable;
-
-/**
- * Provides access to the OpenStack Compute (Nova) Floating IP extension API.
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.FLOATING_IPS)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-public interface FloatingIPApi {
- /**
- * Lists all Floating IP addresses
- *
- * @return all Floating IPs
- */
- @Named("floatingIP:list")
- @GET
- @Path("/os-floating-ips")
- @SelectJson("floating_ips")
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<FloatingIP> list();
-
- /**
- * Gets a specific Floating IP address
- *
- * @return all Floating IPs
- */
- @Named("floatingIP:get")
- @GET
- @Path("/os-floating-ips/{id}")
- @SelectJson("floating_ip")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- FloatingIP get(@PathParam("id") String id);
-
- /**
- * Allocates a Floating IP address
- *
- * @return a newly created FloatingIP
- */
- @Named("floatingIP:create")
- @POST
- @Path("/os-floating-ips")
- @SelectJson("floating_ip")
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{}")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- FloatingIP create();
-
- /**
- * Allocates a Floating IP address from a pool
- *
- * @param pool
- * Pool to allocate IP address from
- * @return a newly created FloatingIP
- */
- @Named("floatingIP:allocateFromPool")
- @POST
- @Path("/os-floating-ips")
- @SelectJson("floating_ip")
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("%7B\"pool\":\"{pool}\"%7D")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- FloatingIP allocateFromPool(@PayloadParam("pool") String pool);
-
- /**
- * Deletes a Floating IP address
- *
- * @param id
- * the Floating IP id
- */
- @Named("floatingIP:delete")
- @DELETE
- @Path("/os-floating-ips/{id}")
- void delete(@PathParam("id") String id);
-
- /**
- * Adds a Floating IP address to a Server
- *
- * @param id
- * the server id
- * @param address
- * the IP address to add
- *
- * NOTE: Possibly move this to ServerApi?
- */
- @Named("floatingIP:add")
- @POST
- @Path("/servers/{id}/action")
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("%7B\"addFloatingIp\":%7B\"address\":\"{address}\"%7D%7D")
- void addToServer(@PayloadParam("address") String address, @PathParam("id") String serverId);
-
- /**
- * Removes a Floating IP address from a Server
- *
- * @param id
- * the server id
- * @param address
- * the IP address to remove
- *
- * NOTE: Possibly move this to ServerApi?
- */
- @Named("floatingIP:remove")
- @POST
- @Path("/servers/{id}/action")
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("%7B\"removeFloatingIp\":%7B\"address\":\"{address}\"%7D%7D")
- void removeFromServer(@PayloadParam("address") String address, @PathParam("id") String serverId);
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/HostAdministrationApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/HostAdministrationApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/HostAdministrationApi.java
deleted file mode 100644
index 5836507..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/HostAdministrationApi.java
+++ /dev/null
@@ -1,168 +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.openstack.nova.v2_0.extensions;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-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.EmptyFluentIterableOnNotFoundOr404;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.domain.Host;
-import org.jclouds.openstack.nova.v2_0.domain.HostResourceUsage;
-import org.jclouds.openstack.nova.v2_0.functions.FieldValueResponseParsers.MaintenanceModeDisabledResponseParser;
-import org.jclouds.openstack.nova.v2_0.functions.FieldValueResponseParsers.MaintenanceModeEnabledResponseParser;
-import org.jclouds.openstack.nova.v2_0.functions.FieldValueResponseParsers.PowerIsRebootResponseParser;
-import org.jclouds.openstack.nova.v2_0.functions.FieldValueResponseParsers.PowerIsShutdownResponseParser;
-import org.jclouds.openstack.nova.v2_0.functions.FieldValueResponseParsers.PowerIsStartupResponseParser;
-import org.jclouds.openstack.nova.v2_0.functions.FieldValueResponseParsers.StatusDisabledResponseParser;
-import org.jclouds.openstack.nova.v2_0.functions.FieldValueResponseParsers.StatusEnabledResponseParser;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.Payload;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.SelectJson;
-
-import com.google.common.annotations.Beta;
-import com.google.common.collect.FluentIterable;
-
-/**
- * Provides access to OpenStack Compute (Nova) Host Administration extension API.
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.HOSTS)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-@Path("/os-hosts")
-public interface HostAdministrationApi {
- /**
- * Returns the list of hosts
- *
- * @return the usage information
- */
- @Named("hostAdmin:list")
- @GET
- @SelectJson("hosts")
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<Host> list();
-
- /**
- * Retrieves the physical/usage resource on a specific host
- *
- * @return the usage information
- */
- @Named("hostAdmin:listResourceUsage")
- @GET
- @Path("/{id}")
- @SelectJson("host")
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<HostResourceUsage> listResourceUsage(@PathParam("id") String hostId);
-
- /**
- * Allow the specified host to accept new instances.
- *
- * @return true if successful
- */
- @Named("hostAdmin:enable")
- @PUT
- @Path("/{id}")
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"status\":\"enable\"}")
- @ResponseParser(StatusEnabledResponseParser.class)
- boolean enable(@PathParam("id") String hostId);
-
- /**
- * Prevent the specified host from accepting new instances.
- *
- * @return true if successful
- */
- @Named("hostAdmin:disable")
- @PUT
- @Path("/{id}")
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"status\":\"disable\"}")
- @ResponseParser(StatusDisabledResponseParser.class)
- boolean disable(@PathParam("id") String hostId);
-
- /**
- * Start host maintenance window.
- * <p/>
- * Note: this triggers guest VMs evacuation.
- *
- * @return true if successful
- */
- @Named("hostAdmin:startMaintenance")
- @PUT
- @Path("/{id}")
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"maintenance_mode\":\"enable\"}")
- @ResponseParser(MaintenanceModeEnabledResponseParser.class)
- boolean startMaintenance(@PathParam("id") String hostId);
-
- /**
- * Stop host maintenance window.
- *
- * @return true if successful
- */
- @Named("hostAdmin:stopMaintenance")
- @PUT
- @Path("/{id}")
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"maintenance_mode\":\"disable\"}")
- @ResponseParser(MaintenanceModeDisabledResponseParser.class)
- boolean stopMaintenance(@PathParam("id") String hostId);
-
- /**
- * Startup a host.
- *
- * @return true if successful
- */
- @Named("hostAdmin:startup")
- @GET
- @Path("/{id}/startup")
- @ResponseParser(PowerIsStartupResponseParser.class)
- boolean startup(@PathParam("id") String hostId);
-
- /**
- * Shutdown a host.
- *
- * @return true if successful
- */
- @Named("hostAdmin:shutdown")
- @GET
- @Path("/{id}/shutdown")
- @ResponseParser(PowerIsShutdownResponseParser.class)
- boolean shutdown(@PathParam("id") String hostId);
-
- /**
- * Reboot a host.
- *
- * @return true if successful
- */
- @Named("hostAdmin:reboot")
- @GET
- @Path("/{id}/reboot")
- @ResponseParser(PowerIsRebootResponseParser.class)
- boolean reboot(@PathParam("id") String hostId);
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/HostAggregateApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/HostAggregateApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/HostAggregateApi.java
deleted file mode 100644
index b291ca0..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/HostAggregateApi.java
+++ /dev/null
@@ -1,157 +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.openstack.nova.v2_0.extensions;
-
-import java.util.Map;
-
-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.core.MediaType;
-
-import org.jclouds.Fallbacks.EmptyFluentIterableOnNotFoundOr404;
-import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.domain.HostAggregate;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SelectJson;
-import org.jclouds.rest.annotations.WrapWith;
-
-import com.google.common.annotations.Beta;
-import com.google.common.collect.FluentIterable;
-
-/**
- * Provide access to the OpenStack Compute (Nova) Host Aggregates extension API.
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.AGGREGATES)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-@Path("/os-aggregates")
-public interface HostAggregateApi {
- /**
- * Lists all host aggregates.
- *
- * @return the set of host aggregates.
- */
- @Named("hostAggregate:list")
- @GET
- @SelectJson("aggregates")
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<HostAggregate> list();
-
- /**
- * Retrieves the details of an aggregate, hosts and metadata included.
- *
- * @return the details of the aggregate requested.
- */
- @Named("hostAggregate:get")
- @GET
- @Path("/{id}")
- @SelectJson("aggregate")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- HostAggregate get(@PathParam("id") String id);
-
- /**
- * Creates an aggregate, given its name and availability zone.
- *
- * @return the newly created Aggregate
- */
- @Named("hostAggregate:create")
- @POST
- @SelectJson("aggregate")
- @Produces(MediaType.APPLICATION_JSON)
- @WrapWith("aggregate")
- HostAggregate createInAvailabilityZone(@PayloadParam("name") String name,
- @PayloadParam("availability_zone") String availabilityZone);
-
- /**
- * Updates the name of an aggregate.
- */
- @Named("hostAggregate:update")
- @POST
- @Path("/{id}")
- @SelectJson("aggregate")
- @WrapWith("aggregate")
- HostAggregate updateName(@PathParam("id") String id, @PayloadParam("name") String name);
-
- /**
- * Updates the availability zone for an aggregate.
- */
- @Named("hostAggregate:update")
- @POST
- @Path("/{id}")
- @SelectJson("aggregate")
- @WrapWith("aggregate")
- HostAggregate updateAvailabilityZone(@PathParam("id") String id,
- @PayloadParam("availability_zone") String availabilityZone);
-
- /**
- * Removes an aggregate.
- */
- @Named("hostAggregate:delete")
- @DELETE
- @Path("/{id}")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean delete(@PathParam("id") String id);
-
- /**
- * Adds a host to an aggregate
- */
- @Named("hostAggregate:addHost")
- @POST
- @Path("/{id}/action")
- @SelectJson("aggregate")
- @Produces(MediaType.APPLICATION_JSON)
- @WrapWith("add_host")
- HostAggregate addHost(@PathParam("id") String id, @PayloadParam("host") String host);
-
- /**
- * Removes a host from an aggregate
- */
- @Named("hostAggregate:removeHost")
- @POST
- @Path("/{id}/action")
- @SelectJson("aggregate")
- @Produces(MediaType.APPLICATION_JSON)
- @WrapWith("remove_host")
- HostAggregate removeHost(@PathParam("id") String id, @PayloadParam("host") String host);
-
- /**
- * Adds metadata to an aggregate
- */
- @Named("hostAggregate:setMetadata")
- @POST
- @Path("/{id}/action")
- @SelectJson("aggregate")
- @Produces(MediaType.APPLICATION_JSON)
- @WrapWith("set_metadata")
- HostAggregate setMetadata(@PathParam("id") String id,
- @PayloadParam("metadata") Map<String, String> metadata);
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/KeyPairApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/KeyPairApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/KeyPairApi.java
deleted file mode 100644
index cdc1d17..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/KeyPairApi.java
+++ /dev/null
@@ -1,126 +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.openstack.nova.v2_0.extensions;
-
-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.core.MediaType;
-
-import org.jclouds.Fallbacks.EmptyFluentIterableOnNotFoundOr404;
-import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.binders.BindKeyPairToJsonPayload;
-import org.jclouds.openstack.nova.v2_0.domain.KeyPair;
-import org.jclouds.openstack.nova.v2_0.functions.internal.ParseKeyPairs;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.MapBinder;
-import org.jclouds.rest.annotations.Payload;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.SelectJson;
-
-import com.google.common.annotations.Beta;
-import com.google.common.collect.FluentIterable;
-
-/**
- * Provides access to the OpenStack Compute (Nova) Key Pair Extension API.
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.KEYPAIRS)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-@Path("/os-keypairs")
-public interface KeyPairApi {
- /**
- * Lists all Key Pairs.
- *
- * @return all Key Pairs
- */
- @Named("keypair:list")
- @GET
- @ResponseParser(ParseKeyPairs.class)
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<KeyPair> list();
-
- /**
- * Creates a {@link KeyPair}.
- *
- * @return the created {@link KeyPair}.
- */
- @Named("keypair:create")
- @POST
- @SelectJson("keypair")
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("%7B\"keypair\":%7B\"name\":\"{name}\"%7D%7D")
- KeyPair create(@PayloadParam("name") String name);
-
-
- /**
- * Creates a {@link KeyPair} with a public key.
- *
- * @return the created {@link KeyPair}.
- */
- @Named("keypair:create")
- @POST
- @SelectJson("keypair")
- @Produces(MediaType.APPLICATION_JSON)
- @MapBinder(BindKeyPairToJsonPayload.class)
- KeyPair createWithPublicKey(@PayloadParam("name") String name,
- @PayloadParam("public_key") String publicKey);
-
- /**
- * Gets a specific {@link KeyPair} by name.
- *
- * @param name
- * the name of the {@link KeyPair}
- *
- * @return the specified {@link KeyPair}, otherwise null.
- */
- @Named("keypair:get")
- @GET
- @Path("/{name}")
- @SelectJson("keypair")
- @Consumes(MediaType.APPLICATION_JSON)
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- KeyPair get(@PathParam("name") String name);
-
- /**
- * Deletes a {@link KeyPair}.
- *
- * @param name
- * the name of the {@link KeyPair}
- *
- * @return {@code true} if the {@link KeyPair} was deleted, otherwise {@code false}.
- */
- @Named("keypair:delete")
- @DELETE
- @Path("/{name}")
- @Fallback(FalseOnNotFoundOr404.class)
- boolean delete(@PathParam("name") String name);
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/QuotaApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/QuotaApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/QuotaApi.java
deleted file mode 100644
index ce7aeb8..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/QuotaApi.java
+++ /dev/null
@@ -1,93 +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.openstack.nova.v2_0.extensions;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-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.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.domain.Quota;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-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.SelectJson;
-import org.jclouds.rest.binders.BindToJsonPayload;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Provide access to OpenStack Compute (Nova) Quota Extension API.
- * <p/>
- * The quotas extension enables limiters placed on the resources used per tenant (project) for virtual instances. It is
- * used with the OpenStack Compute API 1.1 for administrators who need to control the amount of volumes, memory, floating
- * IP addresses, instances, or cores allowed within a defined tenant or project.
- * <p/>
- * To use this extension, you need to have administrative rights to the tenants upon which you are placing quotas.
- *
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.QUOTAS)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-@Path("/os-quota-sets")
-public interface QuotaApi {
- /**
- * @return the quota settings for the tenant
- */
- @Named("quota:get")
- @GET
- @SelectJson("quota_set")
- @Path("/{id}")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- Quota getByTenant(@PathParam("id") String tenantId);
-
- /**
- * Update the quotas for a given tenant
- *
- * @return true if successful
- */
- @Named("quota:update")
- @PUT
- @Path("/{id}")
- @Produces(MediaType.APPLICATION_JSON)
- @MapBinder(BindToJsonPayload.class)
- boolean updateQuotaOfTenant(@PayloadParam("quota_set") Quota quota,
- @PathParam("id") String tenantId);
-
- /**
- * @return the set of default quotas for the tenant
- */
- @Named("quota:get")
- @GET
- @SelectJson("quota_set")
- @Path("/{id}/defaults")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- Quota getDefaultsForTenant(@PathParam("id") String tenantId);
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/SecurityGroupApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/SecurityGroupApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/SecurityGroupApi.java
deleted file mode 100644
index ec37d65..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/SecurityGroupApi.java
+++ /dev/null
@@ -1,154 +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.openstack.nova.v2_0.extensions;
-
-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.core.MediaType;
-
-import org.jclouds.Fallbacks.EmptyFluentIterableOnNotFoundOr404;
-import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.binders.BindSecurityGroupRuleToJsonPayload;
-import org.jclouds.openstack.nova.v2_0.domain.Ingress;
-import org.jclouds.openstack.nova.v2_0.domain.SecurityGroup;
-import org.jclouds.openstack.nova.v2_0.domain.SecurityGroupRule;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.MapBinder;
-import org.jclouds.rest.annotations.Payload;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SelectJson;
-
-import com.google.common.annotations.Beta;
-import com.google.common.collect.FluentIterable;
-
-/**
- * Provides access to the OpenStack Compute (Nova) Security Group extension API.
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.SECURITY_GROUPS)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-public interface SecurityGroupApi {
- /**
- * List all Security Groups.
- *
- * @return all Security Groups
- */
- @Named("securityGroup:list")
- @GET
- @Path("/os-security-groups")
- @SelectJson("security_groups")
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<SecurityGroup> list();
-
- /**
- * Get a specific Security Group
- *
- * @return a specific Security Group
- */
- @Named("securityGroup:get")
- @GET
- @Path("/os-security-groups/{id}")
- @SelectJson("security_group")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- SecurityGroup get(@PathParam("id") String id);
-
- /**
- * Create a Security Group
- *
- * @return a new Security Group
- */
- @Named("securityGroup:create")
- @POST
- @Path("/os-security-groups")
- @SelectJson("security_group")
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("%7B\"security_group\":%7B\"name\":\"{name}\",\"description\":\"{description}\"%7D%7D")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- SecurityGroup createWithDescription(@PayloadParam("name") String name,
- @PayloadParam("description") String description);
-
- /**
- * Delete a Security Group.
- *
- * @return
- */
- @Named("securityGroup:delete")
- @DELETE
- @Path("/os-security-groups/{id}")
- @Fallback(FalseOnNotFoundOr404.class)
- boolean delete(@PathParam("id") String id);
-
- /**
- * Create a Security Group Rule.
- *
- * @return a new Security Group Rule
- */
- @Named("securityGroup:create")
- @POST
- @Path("/os-security-group-rules")
- @SelectJson("security_group_rule")
- @Produces(MediaType.APPLICATION_JSON)
- @MapBinder(BindSecurityGroupRuleToJsonPayload.class)
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- SecurityGroupRule createRuleAllowingCidrBlock(
- @PayloadParam("parent_group_id") String parentGroup, Ingress ip_protocol,
- @PayloadParam("cidr") String sourceCidr);
-
- /**
- * Create a Security Group Rule.
- *
- * @return a new Security Group Rule
- */
- @Named("securityGroup:create")
- @POST
- @Path("/os-security-group-rules")
- @SelectJson("security_group_rule")
- @Produces(MediaType.APPLICATION_JSON)
- @MapBinder(BindSecurityGroupRuleToJsonPayload.class)
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- SecurityGroupRule createRuleAllowingSecurityGroupId(
- @PayloadParam("parent_group_id") String parentGroup, Ingress ip_protocol,
- @PayloadParam("group_id") String groupId);
-
- /**
- * Delete a Security Group Rule.
- *
- * @return
- */
- @Named("securityGroup:delete")
- @DELETE
- @Path("/os-security-group-rules/{id}")
- @Fallback(FalseOnNotFoundOr404.class)
- boolean deleteRule(@PathParam("id") String ruleId);
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ServerAdminApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ServerAdminApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ServerAdminApi.java
deleted file mode 100644
index bf22f40..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ServerAdminApi.java
+++ /dev/null
@@ -1,199 +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.openstack.nova.v2_0.extensions;
-
-import javax.inject.Named;
-import javax.ws.rs.Consumes;
-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.FalseOnNotFoundOr404;
-import org.jclouds.fallbacks.MapHttp4xxCodesToExceptions;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.domain.BackupType;
-import org.jclouds.openstack.nova.v2_0.functions.ParseImageIdFromLocationHeader;
-import org.jclouds.openstack.nova.v2_0.options.CreateBackupOfServerOptions;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.Payload;
-import org.jclouds.rest.annotations.PayloadParam;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.ResponseParser;
-import org.jclouds.rest.annotations.WrapWith;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Provide access to the OpenStack Compute (Nova) Admin Server Actions Extension API.
- *
- * Provide additional actions for servers:
- * 'suspend', 'resume', 'migrate', 'lock', 'unlock', 'resetNetwork', 'createBackup', 'pause', 'migrateLive',
- * 'injectNetworkInfo', 'unpause'
- *
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.ADMIN_ACTIONS)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-@Path("/servers/{id}/action")
-public interface ServerAdminApi {
- /**
- * Suspend a server.
- *
- * @param id id of the server
- */
- @Named("serverAdmin:suspend")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"suspend\":null}")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean suspend(@PathParam("id") String id);
-
- /**
- * Resume a server.
- *
- * @param id id of the server
- */
- @Named("serverAdmin:resume")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"resume\":null}")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean resume(@PathParam("id") String id);
-
- /**
- * Migrate a server.
- *
- * @param id id of the server
- */
- @Named("serverAdmin:migrate")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"migrate\":null}")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean migrate(@PathParam("id") String id);
-
- /**
- * Lock a server.
- *
- * @param id id of the server
- */
- @Named("serverAdmin:lock")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"lock\":null}")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean lock(@PathParam("id") String id);
-
- /**
- * Unlock a server.
- *
- * @param id id of the server
- */
- @Named("serverAdmin:unlock")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"unlock\":null}")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean unlock(@PathParam("id") String id);
-
- /**
- * Reset network of a server.
- *
- * @param id id of the server
- */
- @Named("serverAdmin:resetNetwork")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"resetNetwork\":null}")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean resetNetwork(@PathParam("id") String id);
-
- /**
- * Create backup of a server.
- *
- * @param id id of the server
- * @param imageName the name of the image to create
- * @param backupType the type of backup
- * @param rotation the number of images to retain (0 to simply overwrite)
- * @param options optional rotation and/or metadata parameters
- * @return the id of the newly created image
- */
- @Named("serverAdmin:createBackup")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @WrapWith("createBackup")
- @ResponseParser(ParseImageIdFromLocationHeader.class)
- @Fallback(MapHttp4xxCodesToExceptions.class)
- String createBackup(@PathParam("id") String id, @PayloadParam("name") String imageName,
- @PayloadParam("backup_type") BackupType backupType, @PayloadParam("rotation") int rotation,
- CreateBackupOfServerOptions... options);
-
- /**
- * Pause a server.
- *
- * @param id id of the server
- */
- @Named("serverAdmin:pause")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"pause\":null}")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean pause(@PathParam("id") String id);
-
- /**
- * Unpause a server.
- *
- * @param id id of the server
- */
- @Named("serverAdmin:unpause")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"unpause\":null}")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean unpause(@PathParam("id") String id);
-
- /**
- * Live migrate a server.
- *
- * @param id id of the server
- */
- @Named("serverAdmin:liveMigrate")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @WrapWith("os-migrateLive")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean liveMigrate(@PathParam("id") String id, @PayloadParam("host") String host,
- @PayloadParam("block_migration") boolean blockMigration,
- @PayloadParam("disk_over_commit") boolean diskOverCommit);
-
- /**
- * Inject network info into a server.
- *
- * @param id id of the server
- */
- @Named("serverAdmin:injectNetwork")
- @POST
- @Produces(MediaType.APPLICATION_JSON)
- @Payload("{\"injectNetworkInfo\":null}")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean injectNetworkInfo(@PathParam("id") String id);
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ServerWithSecurityGroupsApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ServerWithSecurityGroupsApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ServerWithSecurityGroupsApi.java
deleted file mode 100644
index 02bebd5..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/ServerWithSecurityGroupsApi.java
+++ /dev/null
@@ -1,68 +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.openstack.nova.v2_0.extensions;
-
-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.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.domain.ServerWithSecurityGroups;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SelectJson;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Provides access to the OpenStack Compute (Nova) Create Server extension API.
- *
- * This provides details including the security groups associated with a Server.
- * <p/>
- *
- * NOTE: the equivalent to listServersInDetail() isn't available at the other end, so not
- * extending ServerApi at this time.
- *
- * @see org.jclouds.openstack.nova.v2_0.features.ServerApi
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.CREATESERVEREXT)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-@Path("/os-create-server-ext")
-public interface ServerWithSecurityGroupsApi {
- /**
- * Retrieve details of the specified server, including security groups
- *
- * @param id id of the server
- * @return server or null if not found
- */
- @Named("server:get")
- @GET
- @SelectJson("server")
- @Path("/{id}")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- ServerWithSecurityGroups get(@PathParam("id") String id);
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/SimpleTenantUsageApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/SimpleTenantUsageApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/SimpleTenantUsageApi.java
deleted file mode 100644
index 46dff34..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/SimpleTenantUsageApi.java
+++ /dev/null
@@ -1,72 +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.openstack.nova.v2_0.extensions;
-
-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.EmptyFluentIterableOnNotFoundOr404;
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.domain.SimpleTenantUsage;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SelectJson;
-
-import com.google.common.annotations.Beta;
-import com.google.common.collect.FluentIterable;
-
-/**
- * Provides access to the OpenStack Compute (Nova) Simple Tenant Usage extension API.
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.SIMPLE_TENANT_USAGE)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-@Path("/os-simple-tenant-usage")
-public interface SimpleTenantUsageApi {
- /**
- * Retrieve tenant usage for all tenants.
- *
- * @return the set of TenantUsage reports
- */
- @Named("tenantUsage:list")
- @GET
- @SelectJson("tenant_usages")
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<SimpleTenantUsage> list();
-
- /**
- * Retrieve tenant_usage for a specified tenant
- *
- * @return the requested tenant usage
- */
- @Named("tenantUsage:get")
- @GET
- @Path("/{id}")
- @SelectJson("tenant_usage")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- SimpleTenantUsage get(@PathParam("id") String tenantId);
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/VirtualInterfaceApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/VirtualInterfaceApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/VirtualInterfaceApi.java
deleted file mode 100644
index a0f8833..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/VirtualInterfaceApi.java
+++ /dev/null
@@ -1,59 +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.openstack.nova.v2_0.extensions;
-
-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.EmptyFluentIterableOnNotFoundOr404;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.domain.VirtualInterface;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-import org.jclouds.rest.annotations.Fallback;
-import org.jclouds.rest.annotations.RequestFilters;
-import org.jclouds.rest.annotations.SelectJson;
-
-import com.google.common.annotations.Beta;
-import com.google.common.collect.FluentIterable;
-
-/**
- * Provides access to the OpenStack Compute (Nova) Virtual Interface (VIFs) extension API.
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.VIRTUAL_INTERFACES)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-@Path("/servers")
-public interface VirtualInterfaceApi {
- /**
- * Returns the list of Virtual Interfaces for a given instance.
- *
- * @return the list of virtual interfaces
- */
- @Named("virtualInterface:list")
- @GET
- @Path("/{id}/os-virtual-interfaces")
- @SelectJson("virtual_interfaces")
- @Consumes(MediaType.APPLICATION_JSON)
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<VirtualInterface> listOnServer(@PathParam("id") String serverId);
-}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a9834e9e/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/VolumeApi.java
----------------------------------------------------------------------
diff --git a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/VolumeApi.java b/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/VolumeApi.java
deleted file mode 100644
index 485fb09..0000000
--- a/dependencies/jclouds/apis/openstack-nova/1.8.0-stratos/src/main/java/org/jclouds/openstack/nova/v2_0/extensions/VolumeApi.java
+++ /dev/null
@@ -1,247 +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.openstack.nova.v2_0.extensions;
-
-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.core.MediaType;
-
-import org.jclouds.Fallbacks.EmptyFluentIterableOnNotFoundOr404;
-import org.jclouds.Fallbacks.FalseOnNotFoundOr404;
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.javax.annotation.Nullable;
-import org.jclouds.openstack.keystone.v2_0.filters.AuthenticateRequest;
-import org.jclouds.openstack.nova.v2_0.domain.Volume;
-import org.jclouds.openstack.nova.v2_0.domain.VolumeAttachment;
-import org.jclouds.openstack.nova.v2_0.domain.VolumeSnapshot;
-import org.jclouds.openstack.nova.v2_0.options.CreateVolumeOptions;
-import org.jclouds.openstack.nova.v2_0.options.CreateVolumeSnapshotOptions;
-import org.jclouds.openstack.v2_0.ServiceType;
-import org.jclouds.openstack.v2_0.services.Extension;
-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.SelectJson;
-import org.jclouds.rest.annotations.WrapWith;
-
-import com.google.common.annotations.Beta;
-import com.google.common.collect.FluentIterable;
-
-/**
- * Provides access to the OpenStack Compute (Nova) Volume extension API.
- */
-@Beta
-@Extension(of = ServiceType.COMPUTE, namespace = ExtensionNamespaces.VOLUMES)
-@RequestFilters(AuthenticateRequest.class)
-@Consumes(MediaType.APPLICATION_JSON)
-public interface VolumeApi {
- /**
- * Returns a summary list of snapshots.
- *
- * @return the list of snapshots
- */
- @Named("volume:list")
- @GET
- @Path("/os-volumes")
- @SelectJson("volumes")
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<Volume> list();
-
- /**
- * Returns a detailed list of volumes.
- *
- * @return the list of volumes.
- */
- @Named("volume:list")
- @GET
- @Path("/os-volumes/detail")
- @SelectJson("volumes")
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<Volume> listInDetail();
-
- /**
- * Return data about the given volume.
- *
- * @return details of a specific snapshot.
- */
- @Named("volume:get")
- @GET
- @Path("/os-volumes/{id}")
- @SelectJson("volume")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- Volume get(@PathParam("id") String volumeId);
-
- /**
- * Creates a new Snapshot
- *
- * @return the new Snapshot
- */
- @Named("volume:create")
- @POST
- @Path("/os-volumes")
- @SelectJson("volume")
- @Produces(MediaType.APPLICATION_JSON)
- @MapBinder(CreateVolumeOptions.class)
- Volume create(@PayloadParam("size") int sizeGB, CreateVolumeOptions... options);
-
- /**
- * Delete a snapshot.
- *
- * @return true if successful
- */
- @Named("volume:delete")
- @DELETE
- @Path("/os-volumes/{volumeId}")
- @Consumes(MediaType.APPLICATION_JSON)
- @Fallback(FalseOnNotFoundOr404.class)
- boolean delete(@PathParam("volumeId") String volumeId);
-
- /**
- * List volume attachments for a given instance.
- *
- * @return all Floating IPs
- * @deprecated To be removed in jclouds 1.7
- * @see VolumeAttachmentApi#listAttachmentsOnServer(String)
- */
- @Deprecated
- @Named("volume:listAttachments")
- @GET
- @Path("/servers/{id}/os-volume_attachments")
- @SelectJson("volumeAttachments")
- @Consumes(MediaType.APPLICATION_JSON)
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<VolumeAttachment> listAttachmentsOnServer(@PathParam("id") String serverId);
-
- /**
- * Get a specific attached volume.
- *
- * @return data about the given volume attachment.
- * @deprecated To be removed in jclouds 1.7
- * @see VolumeAttachmentApi#getAttachmentForVolumeOnServer(String, String)
- */
- @Deprecated
- @Named("volume:getAttachments")
- @GET
- @Path("/servers/{serverId}/os-volume_attachments/{id}")
- @SelectJson("volumeAttachment")
- @Consumes(MediaType.APPLICATION_JSON)
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- VolumeAttachment getAttachmentForVolumeOnServer(@PathParam("id") String volumeId,
- @PathParam("serverId") String serverId);
-
- /**
- * Attach a volume to an instance
- *
- * @return data about the new volume attachment
- * @deprecated To be removed in jclouds 1.7
- * @see VolumeAttachmentApi#attachVolumeToServerAsDevice(String, String, String)
- */
- @Deprecated
- @Named("volume:attach")
- @POST
- @Path("/servers/{serverId}/os-volume_attachments")
- @SelectJson("volumeAttachment")
- @Produces(MediaType.APPLICATION_JSON)
- @WrapWith("volumeAttachment")
- VolumeAttachment attachVolumeToServerAsDevice(@PayloadParam("volumeId") String volumeId,
- @PathParam("serverId") String serverId, @PayloadParam("device") String device);
-
- /**
- * Detach a Volume from an instance.
- *
- * @return true if successful
- * @deprecated To be removed in jclouds 1.7
- * @see VolumeAttachmentApi#detachVolumeFromServer(String, String)
- */
- @Deprecated
- @Named("volume:detach")
- @DELETE
- @Path("/servers/{serverId}/os-volume_attachments/{id}")
- @Fallback(FalseOnNotFoundOr404.class)
- Boolean detachVolumeFromServer(@PathParam("id") String volumeId,
- @PathParam("serverId") String serverId);
-
- /**
- * Returns a summary list of snapshots.
- *
- * @return the list of snapshots
- */
- @Named("volume:listSnapshots")
- @GET
- @Path("/os-snapshots")
- @SelectJson("snapshots")
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<VolumeSnapshot> listSnapshots();
-
- /**
- * Returns a summary list of snapshots.
- *
- * @return the list of snapshots
- */
- @Named("volume:listSnapshots")
- @GET
- @Path("/os-snapshots/detail")
- @SelectJson("snapshots")
- @Fallback(EmptyFluentIterableOnNotFoundOr404.class)
- FluentIterable<VolumeSnapshot> listSnapshotsInDetail();
-
- /**
- * Return data about the given snapshot.
- *
- * @return details of a specific snapshot.
- */
- @Named("volume:getSnapshot")
- @GET
- @Path("/os-snapshots/{id}")
- @SelectJson("snapshot")
- @Fallback(NullOnNotFoundOr404.class)
- @Nullable
- VolumeSnapshot getSnapshot(@PathParam("id") String snapshotId);
-
- /**
- * Creates a new Snapshot.
- *
- * @return the new Snapshot
- */
- @Named("volume:createSnapshot")
- @POST
- @Path("/os-snapshots")
- @SelectJson("snapshot")
- @Produces(MediaType.APPLICATION_JSON)
- @MapBinder(CreateVolumeSnapshotOptions.class)
- VolumeSnapshot createSnapshot(@PayloadParam("volume_id") String volumeId, CreateVolumeSnapshotOptions... options);
-
- /**
- * Delete a snapshot.
- *
- * @return true if successful
- */
- @Named("volume:deleteSnapshot")
- @DELETE
- @Path("/os-snapshots/{id}")
- @Fallback(FalseOnNotFoundOr404.class)
- boolean deleteSnapshot(@PathParam("id") String snapshotId);
-}