On this page...

YANG schema

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;
    }

    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.";
        }

        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 encrypted passwords.";
        }

        list virtual-machines {
            key "vm-id";

            leaf vm-id {
                type string;
                mandatory true;
                description
                  "The unique virtual machine identifier.";
            }

            unique rhino-node-id;
            leaf rhino-node-id {
                type vmt:rhino-node-id-type;
                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 {
                    refine "system-name" {
                        default "Rhino";
                    }
                }
                when "../../../sas-configuration/enabled = 'true'";

                description
                  "SAS instance configuration.";
            }

            description
              "Configured virtual machines.";
        }

        description
          "Custom virtual machine pool.";
    }
}
Previous page Next page
VM Build Container Version 1.0.0