You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2019/01/11 14:49:53 UTC
[jclouds-labs] branch master updated: Expose wait for predicates on
relevant API
This is an automated email from the ASF dual-hosted git repository.
nacx pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jclouds-labs.git
The following commit(s) were added to refs/heads/master by this push:
new 13b18bc Expose wait for predicates on relevant API
13b18bc is described below
commit 13b18bc20cd7f2d1eb460d1a771dbf6e736f5681
Author: Boris Trishkin <bo...@itaas.dimensiondata.com>
AuthorDate: Thu Jan 10 10:06:49 2019 +0000
Expose wait for predicates on relevant API
---
.../cloudcontrol/features/NetworkApi.java | 27 ++++++++++++++++++++++
.../cloudcontrol/features/ServerApi.java | 27 ++++++++++++++++++++++
2 files changed, 54 insertions(+)
diff --git a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/NetworkApi.java b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/NetworkApi.java
index c46ae38..f43c41b 100644
--- a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/NetworkApi.java
+++ b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/NetworkApi.java
@@ -18,6 +18,8 @@ package org.jclouds.dimensiondata.cloudcontrol.features;
import com.google.common.base.Function;
import com.google.common.base.Optional;
+import com.google.common.base.Predicate;
+import com.google.inject.Provides;
import com.google.inject.TypeLiteral;
import org.jclouds.Fallbacks;
import org.jclouds.Fallbacks.NullOnNotFoundOr404;
@@ -66,6 +68,15 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import java.util.List;
+import static org.jclouds.dimensiondata.cloudcontrol.config.DimensionDataCloudControlComputeServiceContextModule.NETWORK_DOMAIN_DELETED_PREDICATE;
+import static org.jclouds.dimensiondata.cloudcontrol.config.DimensionDataCloudControlComputeServiceContextModule.NETWORK_DOMAIN_NORMAL_PREDICATE;
+import static org.jclouds.dimensiondata.cloudcontrol.config.DimensionDataCloudControlComputeServiceContextModule.VLAN_DELETED_PREDICATE;
+import static org.jclouds.dimensiondata.cloudcontrol.config.DimensionDataCloudControlComputeServiceContextModule.VLAN_NORMAL_PREDICATE;
+
+/**
+ * For examples of how to use this API please refer to https://jclouds.apache.org/guides/dimensiondata/
+ */
+
@RequestFilters({ BasicAuthentication.class, OrganisationIdFilter.class })
@Consumes(MediaType.APPLICATION_JSON)
@Path("/caas/{jclouds.api-version}/network")
@@ -297,6 +308,22 @@ public interface NetworkApi {
@Fallback(Fallbacks.VoidOnNotFoundOr404.class)
void deletePortList(@PayloadParam("id") String portListId);
+ @Provides
+ @Named(VLAN_DELETED_PREDICATE)
+ Predicate<String> vlanDeletedPredicate();
+
+ @Provides
+ @Named(NETWORK_DOMAIN_DELETED_PREDICATE)
+ Predicate<String> networkDomainDeletedPredicate();
+
+ @Provides
+ @Named(NETWORK_DOMAIN_NORMAL_PREDICATE)
+ Predicate<String> networkDomainNormalPredicate();
+
+ @Provides
+ @Named(VLAN_NORMAL_PREDICATE)
+ Predicate<String> vlanNormalPredicate();
+
@Singleton
final class ParseFirewallRules extends ParseJson<FirewallRules> {
diff --git a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/ServerApi.java b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/ServerApi.java
index 0753141..deb7837 100644
--- a/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/ServerApi.java
+++ b/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/features/ServerApi.java
@@ -18,6 +18,8 @@ package org.jclouds.dimensiondata.cloudcontrol.features;
import com.google.common.base.Function;
import com.google.common.base.Optional;
+import com.google.common.base.Predicate;
+import com.google.inject.Provides;
import com.google.inject.TypeLiteral;
import org.jclouds.Fallbacks;
import org.jclouds.collect.IterableWithMarker;
@@ -59,6 +61,15 @@ import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.List;
+import static org.jclouds.dimensiondata.cloudcontrol.config.DimensionDataCloudControlComputeServiceContextModule.SERVER_DELETED_PREDICATE;
+import static org.jclouds.dimensiondata.cloudcontrol.config.DimensionDataCloudControlComputeServiceContextModule.SERVER_NORMAL_PREDICATE;
+import static org.jclouds.dimensiondata.cloudcontrol.config.DimensionDataCloudControlComputeServiceContextModule.SERVER_STARTED_PREDICATE;
+import static org.jclouds.dimensiondata.cloudcontrol.config.DimensionDataCloudControlComputeServiceContextModule.SERVER_STOPPED_PREDICATE;
+
+/**
+ * For examples of how to use this API please refer to https://jclouds.apache.org/guides/dimensiondata/
+ */
+
@RequestFilters({ BasicAuthentication.class, OrganisationIdFilter.class })
@Consumes(MediaType.APPLICATION_JSON)
@Path("/caas/{jclouds.api-version}/server")
@@ -169,6 +180,22 @@ public interface ServerApi {
@MapBinder(BindToJsonPayload.class)
void shutdownServer(@PayloadParam("id") String id);
+ @Provides
+ @Named(SERVER_STOPPED_PREDICATE)
+ Predicate<String> serverStoppedPredicate();
+
+ @Provides
+ @Named(SERVER_DELETED_PREDICATE)
+ Predicate<String> serverDeletedPredicate();
+
+ @Provides
+ @Named(SERVER_STARTED_PREDICATE)
+ Predicate<String> serverStartedPredicate();
+
+ @Provides
+ @Named(SERVER_NORMAL_PREDICATE)
+ Predicate<String> serverNormalPredicate();
+
@Singleton
final class ParseServers extends ParseJson<Servers> {