--- /dev/null
+module org-openroadm-swdl {
+ namespace "http://org/openroadm/de/swdl";
+ prefix org-openroadm-swdl;
+
+ import ietf-yang-types {
+ prefix yang;
+ }
+
+ import org-openroadm-common-types {
+ prefix org-openroadm-common-types;
+ }
+
+ organization "Open ROADM MSA";
+ contact
+ "OpenROADM.org";
+ description
+ "Yang definitions for System Management.
+
+ Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
+ AT&T Intellectual Property. All other rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation and/or
+ other materials provided with the distribution.
+ * Neither the Members of the Open ROADM MSA Agreement nor the names of its
+ contributors may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.";
+
+ revision 2016-10-14 {
+ description
+ "Version 1.2";
+ }
+
+ grouping sw-bank {
+ leaf sw-version {
+ type string;
+ description
+ "Gissue of the SW in this bank";
+ }
+ leaf sw-validation-timer {
+ type string {
+ pattern "(([0-1][0-9]|2[0-3])-([0-5][0-9])-([0-5][0-9]))";
+ }
+ description
+ "value of validation timer in hh-mm-ss";
+ }
+ leaf activation-date-time {
+ type yang:date-and-time;
+ description
+ "activation date and time: The date load was activated";
+ }
+ }
+
+ rpc sw-stage {
+ description
+ "SW stage - copies the SW from repo to staging bank";
+ input {
+ leaf filename {
+ type string {
+ length "10..255";
+ }
+ description
+ "file name which has the load";
+ }
+ }
+ output {
+ uses org-openroadm-common-types:rpc-response-status;
+ }
+ }
+ rpc sw-activate {
+ description
+ "Activate new load";
+ input {
+ leaf version {
+ type string;
+ description
+ " software version of the new load which is being activated";
+ }
+ leaf validationTimer {
+ type string;
+ description
+ "validation timer hh-mm-ss";
+ }
+ }
+ output {
+ uses org-openroadm-common-types:rpc-response-status;
+ }
+ }
+ rpc cancel-validation-timer {
+ description
+ "Cancel validation timer which user provisioned as part of activate command";
+ input {
+ leaf accept {
+ type boolean;
+ default "true";
+ description
+ " TRUE means validation timer is cancelled and new load is accepted";
+ }
+ }
+ output {
+ uses org-openroadm-common-types:rpc-response-status;
+ }
+ }
+}