Add instance_groups property to schema
This commit is contained in:
@@ -68,6 +68,8 @@ public class BoshDeploymentManifestSchema implements YamlSchema {
|
||||
YType t_update = t_params; //TODO: https://www.pivotaltracker.com/story/show/148627121
|
||||
addProp(TOPLEVEL_TYPE, "update", t_update).isRequired(true);
|
||||
|
||||
YType t_instance_group = t_params; //TODO: https://www.pivotaltracker.com/story/show/148627121
|
||||
addProp(TOPLEVEL_TYPE, "instance_groups", f.yseq(t_update)).isRequired(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
*Required*. Specifies the mapping between release [jobs](https://bosh.io/docs/terminology.html#job) and instance groups.
|
||||
|
||||
Example:
|
||||
|
||||
instance_groups:
|
||||
- name: redis-master
|
||||
instances: 1
|
||||
azs: [z1, z2]
|
||||
jobs:
|
||||
- name: redis-server
|
||||
release: redis
|
||||
properties:
|
||||
port: 3606
|
||||
vm_type: medium
|
||||
vm_extensions: [public-lbs]
|
||||
stemcell: default
|
||||
persistent_disk_type: medium
|
||||
networks:
|
||||
- name: default
|
||||
|
||||
- name: redis-slave
|
||||
instances: 2
|
||||
azs: [z1, z2]
|
||||
jobs:
|
||||
- name: redis-server
|
||||
release: redis
|
||||
properties: {}
|
||||
vm_type: medium
|
||||
stemcell: default
|
||||
persistent_disk_type: medium
|
||||
networks:
|
||||
- name: default
|
||||
@@ -48,6 +48,33 @@ public class BoshEditorTest {
|
||||
" max_in_flight: 10\n" +
|
||||
" canary_watch_time: 1000-30000\n" +
|
||||
" update_watch_time: 1000-30000\n" +
|
||||
"instance_groups:\n" +
|
||||
"- name: redis-master\n" +
|
||||
" instances: 1\n" +
|
||||
" azs: [z1, z2]\n" +
|
||||
" jobs:\n" +
|
||||
" - name: redis-server\n" +
|
||||
" release: redis\n" +
|
||||
" properties:\n" +
|
||||
" port: 3606\n" +
|
||||
" vm_type: medium\n" +
|
||||
" vm_extensions: [public-lbs]\n" +
|
||||
" stemcell: default\n" +
|
||||
" persistent_disk_type: medium\n" +
|
||||
" networks:\n" +
|
||||
" - name: default\n" +
|
||||
"- name: redis-slave\n" +
|
||||
" instances: 2\n" +
|
||||
" azs: [z1, z2]\n" +
|
||||
" jobs:\n" +
|
||||
" - name: redis-server\n" +
|
||||
" release: redis\n" +
|
||||
" properties: {}\n" +
|
||||
" vm_type: medium\n" +
|
||||
" stemcell: default\n" +
|
||||
" persistent_disk_type: medium\n" +
|
||||
" networks:\n" +
|
||||
" - name: default\n" +
|
||||
"blah: hoooo\n"
|
||||
);
|
||||
editor.assertProblems(
|
||||
@@ -59,6 +86,7 @@ public class BoshEditorTest {
|
||||
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");
|
||||
editor.assertHoverContains("instance_groups", "Specifies the mapping between release [jobs](https://bosh.io/docs/terminology.html#job) and instance groups.");
|
||||
|
||||
}
|
||||
|
||||
@@ -68,6 +96,7 @@ public class BoshEditorTest {
|
||||
);
|
||||
editor.assertCompletions(
|
||||
"director_uuid: <*>",
|
||||
"instance_groups:\n- <*>",
|
||||
"name: <*>",
|
||||
"releases:\n- <*>",
|
||||
"stemcells:\n- <*>",
|
||||
|
||||
Reference in New Issue
Block a user