module xos-controller { | |
namespace "urn:ietf:params:xml:ns:yang:xos-controller"; | |
prefix xcontrol; | |
yang-version 1.1; | |
import ietf-yang-types { prefix yang; } | |
import ietf-inet-types { prefix inet; } | |
import xos-core { prefix xos; } | |
import xos-types { prefix xtype; } | |
organization | |
"Open Networking Lab (XOS) / Corenova Technologies"; | |
contact | |
"Larry Peterson <llp@onlab.us> | |
Peter K. Lee <peter@corenova.com>"; | |
description | |
"This module contains a collection of Controller models for XOS. | |
Copyright (c) 2016 ON.LAB and the persons identified as authors of | |
the code. All rights reserved. | |
Redistribution and use in source and binary forms, with or without | |
modification, is permitted pursuant to, and subject to the license | |
terms of the Apache License, Version 2.0 which accompanies this | |
distribution, and is available at | |
(http://www.apache.org/licenses/LICENSE-2.0)."; | |
revision 2016-09-23 { | |
description "Initial revision."; | |
} | |
grouping controller { | |
uses xos:provider; | |
leaf backend-type { | |
type string; | |
} | |
leaf version { | |
type string; | |
} | |
leaf auth-url { | |
type string; | |
} | |
leaf admin-user { | |
type string; | |
} | |
leaf admin-password { | |
type string; | |
} | |
leaf admin-tenant { | |
type string; | |
} | |
leaf domain { | |
type string; | |
} | |
container message-queue { | |
leaf rabbit-host { | |
type string; | |
} | |
leaf rabbit-user { | |
type string; | |
} | |
leaf rabbit-password { | |
type string; | |
} | |
} | |
leaf deployment { | |
type xtype:deployment; | |
} | |
} | |
grouping controller-site-privilege { | |
uses xos:tenant; | |
leaf controller { | |
type xtype:controller; | |
} | |
leaf site-privilege { | |
type xtype:site-privilege; | |
} | |
container synchronizer { | |
if-feature xos:synchronizer; | |
leaf role-id { | |
type string; | |
} | |
} | |
} | |
grouping controller-network { | |
uses xos:tenant; | |
leaf network { | |
type xtype:network; | |
} | |
leaf controller { | |
type xtype:controller; | |
} | |
leaf subnet { | |
type string; | |
} | |
container synchronizer { | |
if-feature synchronizer; | |
leaf net-id { | |
type string; | |
} | |
leaf router-id { | |
type string; | |
} | |
leaf subnet-id { | |
type string; | |
} | |
} | |
} | |
grouping controller-site { | |
uses xos:tenant; | |
leaf site { | |
type xtype:site; | |
} | |
leaf controller { | |
type xtype:controller; | |
} | |
container synchronizer { | |
if-feature synchronizer; | |
leaf tenant-id { | |
type string; | |
} | |
} | |
} | |
grouping controller-slice { | |
uses xos:tenant; | |
leaf controller { | |
type xtype:controller; | |
} | |
leaf slice { | |
type xtype:slice; | |
} | |
container synchronizer { | |
if-feature synchronizer; | |
leaf tenant-id { | |
type string; | |
} | |
} | |
} | |
grouping controller-role { | |
uses xos:tenant; | |
leaf role { | |
type string; | |
} | |
} | |
grouping controller-user { | |
uses xos:tenant; | |
leaf user { | |
type xtype:user; | |
} | |
leaf controller { | |
type xtype:controller; | |
} | |
container synchronizer { | |
if-feature synchronizer { | |
leaf kuser-id { | |
type string; | |
} | |
} | |
} | |
} | |
grouping controller-slice-privilege { | |
uses xos:tenant; | |
leaf controller { | |
type xtype:controller; | |
} | |
leaf slice-privilege { | |
type xtype:slice-privilege; | |
} | |
container synchronizer { | |
if-feature synchronizer { | |
leaf role-id { | |
type string; | |
} | |
} | |
} | |
} | |
} |