summaryrefslogtreecommitdiffstats
path: root/vespa-maven-plugin
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-08-22 13:15:09 +0200
committerJon Marius Venstad <venstad@gmail.com>2019-08-22 13:15:09 +0200
commit14a2331eca6c48a2fb8d1eaeb61fb137e77db701 (patch)
tree9d65fca1915b5f4925ea357e33200bffa043d7ea /vespa-maven-plugin
parent6a056e5fe0e321f4a5c3084f8902bf9dab3c9a2a (diff)
Add guard against production deletions
Diffstat (limited to 'vespa-maven-plugin')
-rw-r--r--vespa-maven-plugin/src/main/java/ai/vespa/hosted/plugin/DeleteMojo.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/vespa-maven-plugin/src/main/java/ai/vespa/hosted/plugin/DeleteMojo.java b/vespa-maven-plugin/src/main/java/ai/vespa/hosted/plugin/DeleteMojo.java
index 64395ce9bfe..f9ee9356e5b 100644
--- a/vespa-maven-plugin/src/main/java/ai/vespa/hosted/plugin/DeleteMojo.java
+++ b/vespa-maven-plugin/src/main/java/ai/vespa/hosted/plugin/DeleteMojo.java
@@ -1,5 +1,7 @@
package ai.vespa.hosted.plugin;
+import com.yahoo.config.provision.Environment;
+import com.yahoo.config.provision.zone.ZoneId;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
@@ -19,6 +21,9 @@ public class DeleteMojo extends AbstractVespaMojo {
@Override
protected void doExecute() {
+ if (environment != null && ! Environment.from(environment).isManuallyDeployed())
+ throw new IllegalArgumentException("Manual deletion is not permitted in " + environment);
+
getLog().info(controller.deactivate(id, zoneOf(environment, region)));
}