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 <*>" ); }