From fd7efb2abaae3c505ac9d9bcaa7f51d3461d668b Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Mon, 10 Jul 2017 15:38:49 -0700 Subject: [PATCH] Add `update` property to schema --- .../ide/vscode/bosh/BoshDeploymentManifestSchema.java | 2 ++ .../resources/desc/BoshDeploymentManifest/update.md | 11 +++++++++++ .../ide/vscode/concourse/BoshEditorTest.java | 10 +++++++++- 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 headless-services/bosh-language-server/src/main/resources/desc/BoshDeploymentManifest/update.md diff --git a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/BoshDeploymentManifestSchema.java b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/BoshDeploymentManifestSchema.java index 8a1896447..7ca0e5f9b 100644 --- a/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/BoshDeploymentManifestSchema.java +++ b/headless-services/bosh-language-server/src/main/java/org/springframework/ide/vscode/bosh/BoshDeploymentManifestSchema.java @@ -65,6 +65,8 @@ public class BoshDeploymentManifestSchema implements YamlSchema { YType t_stemcell = t_params; //TODO: https://www.pivotaltracker.com/story/show/148627093 addProp(TOPLEVEL_TYPE, "stemcells", f.yseq(t_stemcell)).isRequired(true); + YType t_update = t_params; //TODO: https://www.pivotaltracker.com/story/show/148627121 + addProp(TOPLEVEL_TYPE, "update", t_update).isRequired(true); } diff --git a/headless-services/bosh-language-server/src/main/resources/desc/BoshDeploymentManifest/update.md b/headless-services/bosh-language-server/src/main/resources/desc/BoshDeploymentManifest/update.md new file mode 100644 index 000000000..486975063 --- /dev/null +++ b/headless-services/bosh-language-server/src/main/resources/desc/BoshDeploymentManifest/update.md @@ -0,0 +1,11 @@ +*Required*. This specifies instance update properties. These properties control how BOSH updates instances during the deployment. + +See job [lifecycle](https://bosh.io/docs/job-lifecycle.html) for more details on startup/shutdown procedure within each VM. + +Example: + + update: + canaries: 1 + max_in_flight: 10 + canary_watch_time: 1000-30000 + update_watch_time: 1000-30000 diff --git a/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/concourse/BoshEditorTest.java b/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/concourse/BoshEditorTest.java index 20c856a35..6a5daa20d 100644 --- a/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/concourse/BoshEditorTest.java +++ b/headless-services/bosh-language-server/src/test/java/org/springframework/ide/vscode/concourse/BoshEditorTest.java @@ -43,6 +43,11 @@ public class BoshEditorTest { "- alias: default\n" + " os: ubuntu-trusty\n" + " version: 3421.11\n" + + "update:\n" + + " canaries: 1\n" + + " max_in_flight: 10\n" + + " canary_watch_time: 1000-30000\n" + + " update_watch_time: 1000-30000\n" + "blah: hoooo\n" ); editor.assertProblems( @@ -53,6 +58,8 @@ public class BoshEditorTest { editor.assertHoverContains("director_uuid", "This string must match the UUID of the currently targeted Director"); editor.assertHoverContains("releases", "The name and version of each release in the deployment"); editor.assertHoverContains("stemcells", "The name and version of each stemcell"); + editor.assertHoverContains("update", "This specifies instance update properties"); + } @Test public void toplevelV2PropertyCompletions() throws Exception { @@ -63,7 +70,8 @@ public class BoshEditorTest { "director_uuid: <*>", "name: <*>", "releases:\n- <*>", - "stemcells:\n- <*>" + "stemcells:\n- <*>", + "update:\n <*>" ); }