module shcm-vm-pool {
yang-version 1.1;
namespace "http://metaswitch.com/yang/tas-vm-build/shcm-vm-pool";
prefix "shcm-vm-pool";
import ietf-inet-types {
prefix "ietf-inet";
}
import vm-types {
prefix "vmt";
revision-date 2019-11-29;
}
import extensions {
prefix "yangdoc";
revision-date 2020-12-02;
}
organization "Metaswitch Networks";
contact "rvt-schemas@metaswitch.com";
description "ShCM VM pool configuration schema.";
revision 2019-11-29 {
description
"Initial revision";
reference
"Metaswitch Deployment Definition Guide";
}
grouping shcm-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 ID for the site that this VM pool is a part of.";
}
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. These should normally not be specified
as this option is intended for testing and/or special use cases.";
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 diameter-sh-origin-host;
leaf diameter-sh-origin-host {
type ietf-inet:domain-name;
mandatory true;
description "Diameter Sh origin host.";
yangdoc:change-impact "restart";
}
uses vmt:rvt-vm-grouping {
// Rhino node IDs are not required for ShCM, as it's an unclustered product
refine rhino-node-id {
mandatory false;
}
}
description "Configured virtual machines.";
}
description "ShCM virtual machine pool.";
}
}