blob: da58981eaf368741bad58ac51604ce5d859451e0 [file] [log] [blame]
module xos-types {
namespace "urn:onlab:xos:types";
prefix xtype;
yang-version 1.1;
organization
"Open Networking Lab (CORD) / Corenova Technologies";
contact
"Larry Peterson <llp@onlab.us>
Peter K. Lee <peter@corenova.com>";
import ietf-yang-types { prefix yang; }
revision 2016-09-12 {
description "Initial revision.";
}
/*
* Typedefs
*/
typedef unique-identifier {
description "defines valid formats for external reference id";
type union {
type uint32 { range 1..max; }
type yang:uuid;
type inet:uri;
}
}
typedef bandwidth {
type uint32 {
range 1000000..max; // should be at least 1 Mbps?
}
units 'bps';
}
typedef vlan {
type uint16 { range 0..4095; }
}
typedef image {
type unique-identifier;
}
typedef controller-network {
type unique-identifier;
}
typedef site {
type unique-identifier;
}
typedef tenant-root-role {
type unique-identifier;
}
typedef slice-role {
type unique-identifier;
}
typedef site-deployment {
type unique-identifier;
}
typedef tenant-privilege {
type unique-identifier;
}
typedef tag {
type unique-identifier;
}
typedef user-credential {
type unique-identifier;
}
typedef invoice {
type unique-identifier;
}
typedef slice-privilege {
type unique-identifier;
}
typedef flavor {
type unique-identifier;
}
typedef port {
type unique-identifier;
}
typedef service-role {
type unique-identifier;
}
typedef controller-site {
type unique-identifier;
}
typedef controller-slice {
type unique-identifier;
}
typedef tenant-role {
type unique-identifier;
}
typedef slice {
type unique-identifier;
}
typedef network {
type unique-identifier;
}
typedef controller-role {
type unique-identifier;
}
typedef diag {
type unique-identifier;
}
typedef service-class {
type unique-identifier;
}
typedef tenant-attribute {
type unique-identifier;
}
typedef site-role {
type unique-identifier;
}
typedef subscriber {
type unique-identifier;
}
typedef instance {
type unique-identifier;
}
typedef charge {
type unique-identifier;
}
typedef program {
type unique-identifier;
}
typedef role {
type unique-identifier;
}
typedef usable-object {
type unique-identifier;
}
typedef node-label {
type unique-identifier;
}
typedef slice-credential {
type unique-identifier;
}
typedef node {
type unique-identifier;
}
typedef address-pool {
type unique-identifier;
}
typedef dashboard-view {
type unique-identifier;
}
typedef network-parameter {
type unique-identifier;
}
typedef image-deployments {
type unique-identifier;
}
typedef controller-user {
type unique-identifier;
}
typedef reserved-resource {
type unique-identifier;
}
typedef network-template {
type unique-identifier;
}
typedef controller-dashboard-view {
type unique-identifier;
}
typedef user-dashboard-view {
type unique-identifier;
}
typedef controller {
type unique-identifier;
}
typedef user {
type unique-identifier;
}
typedef deployment {
type unique-identifier;
}
typedef reservation {
type unique-identifier;
}
typedef site-privilege {
type unique-identifier;
}
typedef payment {
type unique-identifier;
}
typedef tenant {
type unique-identifier;
}
typedef network-slice {
type unique-identifier;
}
typedef account {
type unique-identifier;
}
typedef tenant-root {
type unique-identifier;
}
typedef service {
type unique-identifier;
}
typedef controller-slice-privilege {
type unique-identifier;
}
typedef site-credential {
type unique-identifier;
}
typedef deployment-privilege {
type unique-identifier;
}
typedef network-parameter-type {
type unique-identifier;
}
typedef provider {
type unique-identifier;
}
typedef tenant-with-container {
type unique-identifier;
}
typedef deployment-role {
type unique-identifier;
}
typedef project {
type unique-identifier;
}
typedef tenant-root-privilege {
type unique-identifier;
}
typedef slice-tag {
type unique-identifier;
}
typedef coarse-tenant {
type unique-identifier;
}
typedef router {
type unique-identifier;
}
typedef service-resource {
type unique-identifier;
}
typedef service-privilege {
type unique-identifier;
}
}