Deprecate user metadata in DigitalOcean
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/baab388c Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/baab388c Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/baab388c Branch: refs/heads/master Commit: baab388c577ac8a23a3c2b347fdceafd8d51a74b Parents: 92044e3 Author: Ignasi Barrera <[email protected]> Authored: Wed Dec 7 17:16:51 2016 +0100 Committer: Ignasi Barrera <[email protected]> Committed: Wed Dec 7 17:18:23 2016 +0100 ---------------------------------------------------------------------- .../DigitalOcean2ComputeServiceAdapter.java | 15 +++------- .../options/DigitalOcean2TemplateOptions.java | 31 ++++++++++++++++++++ 2 files changed, 35 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/baab388c/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/DigitalOcean2ComputeServiceAdapter.java ---------------------------------------------------------------------- diff --git a/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/DigitalOcean2ComputeServiceAdapter.java b/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/DigitalOcean2ComputeServiceAdapter.java index 1782551..b8f34ae 100644 --- a/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/DigitalOcean2ComputeServiceAdapter.java +++ b/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/DigitalOcean2ComputeServiceAdapter.java @@ -28,7 +28,6 @@ import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_S import static org.jclouds.compute.config.ComputeServiceProperties.TIMEOUT_NODE_TERMINATED; import java.util.List; -import java.util.Map; import java.util.Set; import javax.annotation.Resource; @@ -48,7 +47,6 @@ import org.jclouds.digitalocean2.domain.Region; import org.jclouds.digitalocean2.domain.Size; import org.jclouds.digitalocean2.domain.options.CreateDropletOptions; import org.jclouds.domain.LoginCredentials; -import org.jclouds.json.Json; import org.jclouds.logging.Logger; import com.google.common.base.Function; @@ -68,18 +66,15 @@ public class DigitalOcean2ComputeServiceAdapter implements ComputeServiceAdapter private final Predicate<Integer> nodeRunningPredicate; private final Predicate<Integer> nodeStoppedPredicate; private final Predicate<Integer> nodeTerminatedPredicate; - private final Json json; @Inject DigitalOcean2ComputeServiceAdapter(DigitalOcean2Api api, @Named(TIMEOUT_NODE_RUNNING) Predicate<Integer> nodeRunningPredicate, @Named(TIMEOUT_NODE_SUSPENDED) Predicate<Integer> nodeStoppedPredicate, - @Named(TIMEOUT_NODE_TERMINATED) Predicate<Integer> nodeTerminatedPredicate, - Json json) { + @Named(TIMEOUT_NODE_TERMINATED) Predicate<Integer> nodeTerminatedPredicate) { this.api = api; this.nodeRunningPredicate = nodeRunningPredicate; this.nodeStoppedPredicate = nodeStoppedPredicate; this.nodeTerminatedPredicate = nodeTerminatedPredicate; - this.json = json; } private void setUserDataIfSupported(Template template, CreateDropletOptions.Builder options, String userData) { @@ -110,11 +105,9 @@ public class DigitalOcean2ComputeServiceAdapter implements ComputeServiceAdapter // Encoding tags or anything else than user_data in here breaks their functionality. if (null != templateOptions.getUserData()) { setUserDataIfSupported(template, options, new String(templateOptions.getUserData())); - } - // Backwards compatible variant, getting userData from userMetaData map. - Map<String, String> metadataAndTags = templateOptions.getUserMetadata(); - if (null != metadataAndTags.get("user_data")) { - setUserDataIfSupported(template, options, metadataAndTags.get("user_data")); + } else if (null != templateOptions.getUserMetadata().get("user_data")) { + // Backwards compatible variant, getting userData from userMetaData map. + setUserDataIfSupported(template, options, templateOptions.getUserMetadata().get("user_data")); } DropletCreate dropletCreated = api.dropletApi().create(name, http://git-wip-us.apache.org/repos/asf/jclouds/blob/baab388c/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/options/DigitalOcean2TemplateOptions.java ---------------------------------------------------------------------- diff --git a/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/options/DigitalOcean2TemplateOptions.java b/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/options/DigitalOcean2TemplateOptions.java index bc18a59..2a86f85 100644 --- a/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/options/DigitalOcean2TemplateOptions.java +++ b/providers/digitalocean2/src/main/java/org/jclouds/digitalocean2/compute/options/DigitalOcean2TemplateOptions.java @@ -20,6 +20,7 @@ import static com.google.common.base.Objects.equal; import static com.google.common.base.Preconditions.checkNotNull; import java.util.Arrays; +import java.util.Map; import java.util.Set; import org.jclouds.compute.options.TemplateOptions; @@ -77,6 +78,36 @@ public class DigitalOcean2TemplateOptions extends TemplateOptions implements Clo this.userData = userData; return this; } + + /** + * @deprecated Key value metadata is not supported in DigitalOcean. Use + * {@link #userData(byte[])} instead. + */ + @Deprecated + @Override + public TemplateOptions userMetadata(Map<String, String> userMetadata) { + return super.userMetadata(userMetadata); + } + + /** + * @deprecated Key value metadata is not supported in DigitalOcean. Use + * {@link #userData(byte[])} instead. + */ + @Deprecated + @Override + public TemplateOptions userMetadata(String key, String value) { + return super.userMetadata(key, value); + } + + /** + * @deprecated Key value metadata is not supported in DigitalOcean. User data + * can be retrieved with {@link #getUserData()}. + */ + @Deprecated + @Override + public Map<String, String> getUserMetadata() { + return super.getUserMetadata(); + } public Set<Integer> getSshKeyIds() { return sshKeyIds;
