module custom-vm-pool {
yang-version 1.1;
namespace "http://metaswitch.com/yang/tas-vm-build/custom-vm-pool";
prefix "custom-vm-pool";
import vm-types {
prefix "vmt";
revision-date 2019-11-29;
}
import sas-configuration {
prefix "sas";
revision-date 2019-11-29;
}
import extensions {
prefix "yangdoc";
revision-date 2020-12-02;
}
organization
"Metaswitch Networks";
contact
"rvt-schemas@metaswitch.com";
description
"Rhino Custom VM pool configuration schema.";
revision 2019-11-29 {
description
"Initial revision";
reference
"Metaswitch Deployment Definition Guide";
}
grouping custom-virtual-machine-pool {
leaf deployment-id {
type vmt:deployment-id-type;
mandatory true;
description
"The deployment identifier. Used to form a unique VM identifier within the
VM host.";
}
leaf site-id {
type vmt:site-id-type;
mandatory true;
description
"Site identifier for the site that this VM pool is a part of.";
}
leaf image-name {
type string;
mandatory true;
description
"Name of the image name used for VMs in this VM pool.
Should match the image name specified when building the VM image.";
}
leaf node-type-suffix {
type vmt:node-type-suffix-type;
default "";
description
"Suffix to add to the node type when deriving the group identifier. Should
normally be left blank.";
}
list cassandra-contact-points {
key "management.ipv4 signaling.ipv4";
uses vmt:cassandra-contact-point-interfaces;
description
"A list of Cassandra contact points. Required only if the node is built
with Rhino replication enabled.";
yangdoc:change-impact "converges";
}
list additional-rhino-jvm-options {
key "name";
leaf "name" {
type string;
description
"Name of the JVM option. Do not include '-D'.";
}
leaf "value" {
type string;
mandatory true;
description
"Value for the JVM option.";
}
description
"Additional JVM options to use when running Rhino.
Should normally be left blank.";
}
list rhino-auth {
key "username";
min-elements 1;
uses vmt:rhino-auth-grouping;
description
"List of Rhino users and their plain text passwords.";
yangdoc:change-impact "converges";
}
list virtual-machines {
key "vm-id";
leaf vm-id {
type string;
mandatory true;
description
"The unique virtual machine identifier.";
}
unique rhino-node-id;
uses vmt:rhino-vm-grouping {
refine rhino-node-id {
mandatory false;
description
"The Rhino node identifier. Only specify this if the custom VMs
are to be deployed in a Rhino cluster.";
}
}
container sas-instance-configuration {
uses sas:sas-instance-configuration-grouping;
when "../../../sas/enabled = 'true'";
presence "This container is optional, but has mandatory descendants.";
description
"SAS instance configuration.";
}
description
"Configured virtual machines.";
}
description
"Custom virtual machine pool.";
}
}