<version>0.2.0-SNAPSHOT</version>
<packaging>bundle</packaging>
- <dependencies>
- <dependency>
- <groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-inet-types</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-yang-types</artifactId>
- </dependency>
- </dependencies>
-
</project>
}
}
}
-}
\ No newline at end of file
+}
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.2</version>
<relativePath/>
</parent>
<service ref="cliCommandsImpl" odl:type="default"
interface="org.opendaylight.transportpce.cli.api.TransportpceCliCommands" />
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.0.0">
- <command name="test-command">
+ <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
+ <command>
<action class="org.opendaylight.transportpce.cli.commands.TransportpceCliTestCommand">
<argument ref="cliCommandsImpl"/>
</action>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright © 2016 Orange and others. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v1.0 which accompanies this distribution,
+and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>feature-repo-parent</artifactId>
+ <version>2.0.2</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>features-transportpce</artifactId>
+ <version>0.2.0-SNAPSHOT</version>
+ <packaging>feature</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>odl-transportpce</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>odl-transportpce-api</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>odl-transportpce-cli</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>odl-transportpce-ordmodels</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>odl-transportpce-rest</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>odl-transportpce-ui</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ </dependencies>
+</project>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright © 2016 Orange and others. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v1.0 which accompanies this distribution,
+and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>single-feature-parent</artifactId>
+ <version>2.0.2</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>odl-transportpce-api</artifactId>
+ <version>0.2.0-SNAPSHOT</version>
+ <packaging>feature</packaging>
+
+
+ <properties>
+ <mdsal.model.version>0.11.0-SNAPSHOT</mdsal.model.version>
+ <mdsal.version>1.6.0-SNAPSHOT</mdsal.version>
+ <restconf.version>1.6.0-SNAPSHOT</restconf.version>
+ <yangtools.version>1.2.0-SNAPSHOT</yangtools.version>
+ <dlux.version>0.6.0-SNAPSHOT</dlux.version>
+ <netconf.version>1.3.0-SNAPSHOT</netconf.version>
+ <configfile.directory>etc/opendaylight/karaf</configfile.directory>
+ </properties>
+
+
+<name>OpenDaylight :: transportpce :: api</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.mdsal.model</groupId>
+ <artifactId>odl-mdsal-models</artifactId>
+ <version>${mdsal.model.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>transportpce-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright © 2016 Orange and others. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v1.0 which accompanies this distribution,
+and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>single-feature-parent</artifactId>
+ <version>2.0.2</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>odl-transportpce-cli</artifactId>
+ <version>0.2.0-SNAPSHOT</version>
+ <packaging>feature</packaging>
+
+ <properties>
+ <mdsal.model.version>0.11.0-SNAPSHOT</mdsal.model.version>
+ <mdsal.version>1.6.0-SNAPSHOT</mdsal.version>
+ <restconf.version>1.6.0-SNAPSHOT</restconf.version>
+ <yangtools.version>1.2.0-SNAPSHOT</yangtools.version>
+ <dlux.version>0.6.0-SNAPSHOT</dlux.version>
+ <netconf.version>1.3.0-SNAPSHOT</netconf.version>
+ <configfile.directory>etc/opendaylight/karaf</configfile.directory>
+ </properties>
+
+ <name>OpenDaylight :: transportpce :: CLI</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>odl-transportpce</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>transportpce-cli</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <!-- This bundle works with Karaf 3 and 4.0, see https://wiki.opendaylight.org/view/Karaf_4_migration#Karaf_CLI_commands -->
+ <Import-Package>
+ org.apache.karaf.shell.commands;version="[3.0.0,4.1)",
+ org.apache.karaf.shell.console;version="[3.0.0,4.1)",
+ *
+ </Import-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright © 2016 Orange and others. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v1.0 which accompanies this distribution,
+and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>single-feature-parent</artifactId>
+ <version>2.0.2</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>odl-transportpce-ordmodels</artifactId>
+ <version>0.2.0-SNAPSHOT</version>
+ <packaging>feature</packaging>
+
+ <properties>
+ <mdsal.model.version>0.11.0-SNAPSHOT</mdsal.model.version>
+ <mdsal.version>1.6.0-SNAPSHOT</mdsal.version>
+ <restconf.version>1.6.0-SNAPSHOT</restconf.version>
+ <yangtools.version>1.2.0-SNAPSHOT</yangtools.version>
+ <dlux.version>0.6.0-SNAPSHOT</dlux.version>
+ <netconf.version>1.3.0-SNAPSHOT</netconf.version>
+ <configfile.directory>etc/opendaylight/karaf</configfile.directory>
+ </properties>
+
+
+<name>OpenDaylight :: transportpce :: ordmodels</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.mdsal.model</groupId>
+ <artifactId>odl-mdsal-models</artifactId>
+ <version>${mdsal.model.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>transportpce-ordmodels</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright © 2016 Orange and others. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v1.0 which accompanies this distribution,
+and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>single-feature-parent</artifactId>
+ <version>2.0.2</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>odl-transportpce-rest</artifactId>
+ <version>0.2.0-SNAPSHOT</version>
+ <packaging>feature</packaging>
+
+ <properties>
+ <restconf.version>1.6.0-SNAPSHOT</restconf.version>
+ </properties>
+
+ <name>OpenDaylight :: transportpce :: REST</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.netconf</groupId>
+ <artifactId>odl-restconf</artifactId>
+ <version>${restconf.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>odl-transportpce</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ </dependencies>
+</project>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright © 2016 Orange and others. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v1.0 which accompanies this distribution,
+and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>single-feature-parent</artifactId>
+ <version>2.0.2</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>odl-transportpce-ui</artifactId>
+ <version>0.2.0-SNAPSHOT</version>
+ <packaging>feature</packaging>
+
+ <properties>
+ <mdsal.version>1.6.0-SNAPSHOT</mdsal.version>
+ <dlux.version>0.6.0-SNAPSHOT</dlux.version>
+ </properties>
+
+ <name>OpenDaylight :: transportpce :: UI</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>odl-transportpce-rest</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.netconf</groupId>
+ <artifactId>odl-mdsal-apidocs</artifactId>
+ <version>${mdsal.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.dlux</groupId>
+ <artifactId>odl-dlux-core</artifactId>
+ <version>${dlux.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ </dependencies>
+</project>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright © 2016 Orange and others. All rights reserved.
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License v1.0 which accompanies this distribution,
+and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>single-feature-parent</artifactId>
+ <version>2.0.2</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>odl-transportpce</artifactId>
+ <version>0.2.0-SNAPSHOT</version>
+ <packaging>feature</packaging>
+
+
+ <properties>
+ <mdsal.model.version>0.11.0-SNAPSHOT</mdsal.model.version>
+ <mdsal.version>1.6.0-SNAPSHOT</mdsal.version>
+ <yangtools.version>1.2.0-SNAPSHOT</yangtools.version>
+ <dlux.version>0.6.0-SNAPSHOT</dlux.version>
+ <netconf.version>1.3.0-SNAPSHOT</netconf.version>
+ <configfile.directory>etc/opendaylight/karaf</configfile.directory>
+ </properties>
+
+ <name>OpenDaylight :: transportpce</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>odl-mdsal-broker</artifactId>
+ <version>${mdsal.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.netconf</groupId>
+ <artifactId>odl-netconf-all</artifactId>
+ <version>${netconf.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.netconf</groupId>
+ <artifactId>odl-netconf-connector-all</artifactId>
+ <version>${netconf.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.netconf</groupId>
+ <artifactId>odl-netconf-console</artifactId>
+ <version>${netconf.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>odl-transportpce-api</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>odl-transportpce-ordmodels</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>transportpce-impl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>transportpce-renderer</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>transportpce-olm</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>transportpce-stubrenderer</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>transportpce-stubpce</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.transportpce</groupId>
+ <artifactId>transportpce-servicehandler</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
- <artifactId>features-parent</artifactId>
- <version>1.9.0</version>
+ <artifactId>odlparent-lite</artifactId>
+ <version>2.0.2</version>
<relativePath/>
</parent>
<groupId>org.opendaylight.transportpce</groupId>
- <artifactId>transportpce-features</artifactId>
+ <artifactId>features-aggregator</artifactId>
<version>0.2.0-SNAPSHOT</version>
<name>${project.artifactId}</name>
- <!-- <packaging>kar</packaging>
- This packaging solves a compilation warning but seems forbidden.
- According to ODL documentation, the kar packaging should not be used in profit of the jar one (normally inherited)
- https://bugs.opendaylight.org/show_bug.cgi?id=2760
- http://docs.opendaylight.org/en/stable-boron/developer-guide/odl-parent-developer-guide.html#features-parent -->
+ <packaging>pom</packaging>
- <properties>
- <mdsal.model.version>0.11.0-SNAPSHOT</mdsal.model.version>
- <mdsal.version>1.6.0-SNAPSHOT</mdsal.version>
- <restconf.version>1.6.0-SNAPSHOT</restconf.version>
- <yangtools.version>1.2.0-SNAPSHOT</yangtools.version>
- <dlux.version>0.6.0-SNAPSHOT</dlux.version>
- <netconf.version>1.3.0-SNAPSHOT</netconf.version>
- <configfile.directory>etc/opendaylight/karaf</configfile.directory>
- </properties>
+ <modules>
+ <module>features-transportpce</module>
+ <module>odl-transportpce-api</module>
+ <module>odl-transportpce-ordmodels</module>
+ <module>odl-transportpce</module>
+ <module>odl-transportpce-rest</module>
+ <module>odl-transportpce-ui</module>
+ <module>odl-transportpce-cli</module>
+ </modules>
- <dependencyManagement>
- <dependencies>
- <!-- project specific dependencies -->
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>mdsal-artifacts</artifactId>
- <version>${mdsal.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.netconf</groupId>
- <artifactId>restconf-artifacts</artifactId>
- <version>${restconf.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>yangtools-artifacts</artifactId>
- <version>${yangtools.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.dluxapps</groupId>
- <artifactId>yangui-bundle</artifactId>
- <version>${dlux.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.dluxapps</groupId>
- <artifactId>yangui-module</artifactId>
- <version>${dlux.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.dluxapps</groupId>
- <artifactId>odl-dluxapps-yangutils</artifactId>
- <version>${dlux.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.dluxapps</groupId>
- <artifactId>odl-dluxapps-yangvisualizer</artifactId>
- <version>${dlux.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.dluxapps</groupId>
- <artifactId>odl-dluxapps-yangman</artifactId>
- <version>${dlux.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.dluxapps</groupId>
- <artifactId>odl-dluxapps-topology</artifactId>
- <version>${dlux.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.dluxapps</groupId>
- <artifactId>odl-dluxapps-applications</artifactId>
- <version>${dlux.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.dluxapps</groupId>
- <artifactId>odl-dluxapps-nodes</artifactId>
- <version>${dlux.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <dependencies>
- <dependency>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>features-yangtools</artifactId>
- <classifier>features</classifier>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>features-mdsal-model</artifactId>
- <version>${mdsal.model.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>features-mdsal</artifactId>
- <classifier>features</classifier>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.netconf</groupId>
- <artifactId>features-restconf</artifactId>
- <classifier>features</classifier>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.dlux</groupId>
- <artifactId>features-dlux</artifactId>
- <classifier>features</classifier>
- <version>${dlux.version}</version>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.dluxapps</groupId>
- <artifactId>features-dluxapps</artifactId>
- <classifier>features</classifier>
- <version>${dlux.version}</version>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.netconf</groupId>
- <artifactId>features-netconf</artifactId>
- <classifier>features</classifier>
- <version>${netconf.version}</version>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.netconf</groupId>
- <artifactId>features-netconf-connector</artifactId>
- <classifier>features</classifier>
- <version>${netconf.version}</version>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>transportpce-impl</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>transportpce-renderer</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>transportpce-olm</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>transportpce-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>transportpce-ordmodels</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>transportpce-cli</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>transportpce-stubrenderer</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>transportpce-stubpce</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>transportpce-servicehandler</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!--
-Copyright © 2016 Orange and others. All rights reserved.
-
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<features name="odl-transportpce-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
- <repository>mvn:org.opendaylight.yangtools/features-yangtools/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.controller/features-mdsal/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.mdsal.model/features-mdsal-model/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.netconf/features-restconf/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.dlux/features-dlux/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.dluxapps/features-dluxapps/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.netconf/features-netconf/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.netconf/features-netconf-connector/{{VERSION}}/xml/features</repository>
- <feature name='odl-transportpce-api' version='${project.version}' description='OpenDaylight :: transportpce :: api'>
- <feature version='${mdsal.model.version}'>odl-mdsal-models</feature>
- <bundle>mvn:org.opendaylight.transportpce/transportpce-api/{{VERSION}}</bundle>
- </feature>
- <feature name='odl-transportpce-ordmodels' version='${project.version}' description='OpenDaylight :: transportpce :: ordmodels'>
- <feature version='${mdsal.model.version}'>odl-mdsal-models</feature>
- <bundle>mvn:org.opendaylight.transportpce/transportpce-ordmodels/{{VERSION}}</bundle>
- </feature>
- <feature name='odl-transportpce' version='${project.version}' description='OpenDaylight :: transportpce'>
- <feature version='${mdsal.version}'>odl-mdsal-broker</feature>
- <feature version='${netconf.version}'>odl-netconf-all</feature>
- <feature version='${netconf.version}'>odl-netconf-connector-all</feature>
- <feature version='${netconf.version}'>odl-netconf-console</feature>
- <feature version='${project.version}'>odl-transportpce-api</feature>
- <feature version='${project.version}'>odl-transportpce-ordmodels</feature>
- <bundle>mvn:org.opendaylight.transportpce/transportpce-impl/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.transportpce/transportpce-renderer/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.transportpce/transportpce-olm/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.transportpce/transportpce-stubrenderer/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.transportpce/transportpce-stubpce/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.transportpce/transportpce-servicehandler/{{VERSION}}</bundle>
- </feature>
- <feature name='odl-transportpce-rest' version='${project.version}' description='OpenDaylight :: transportpce :: REST'>
- <feature version="${project.version}">odl-transportpce</feature>
- <feature version="${restconf.version}">odl-restconf</feature>
- </feature>
- <feature name='odl-transportpce-ui' version='${project.version}' description='OpenDaylight :: transportpce :: UI'>
- <feature version="${project.version}">odl-transportpce-rest</feature>
- <feature version="${restconf.version}">odl-mdsal-apidocs</feature>
- <feature version="${dlux.version}">odl-dlux-core</feature>
- </feature>
- <feature name='odl-transportpce-cli' version='${project.version}' description='OpenDaylight :: transportpce :: CLI'>
- <feature version="${project.version}">odl-transportpce</feature>
- <bundle>mvn:org.opendaylight.transportpce/transportpce-cli/{{VERSION}}</bundle>
- </feature>
-
-</features>
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>config-parent</artifactId>
- <version>0.7.0-SNAPSHOT</version>
+ <groupId>org.opendaylight.odlparent</groupId>
+ <artifactId>bundle-parent</artifactId>
+ <version>2.0.2</version>
<relativePath/>
</parent>
<dependency>
<groupId>org.opendaylight.controller.model</groupId>
<artifactId>model-topology</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<karaf.distro.type>zip</karaf.distro.type>
</properties>
- <dependencies>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>transportpce-features</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
</project>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
- <artifactId>karaf-parent</artifactId>
- <version>1.9.0</version>
+ <artifactId>karaf4-parent</artifactId>
+ <version>2.0.2</version>
<relativePath/>
</parent>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>transportpce-features</artifactId>
+ <artifactId>features-transportpce</artifactId>
+ <version>${project.version}</version>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
<skip>true</skip>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ </configuration>
+ </plugin>
</plugins>
</build>
</project>
<packaging>bundle</packaging>
<dependencies>
+ <dependency>
+ <groupId>org.opendaylight.netconf</groupId>
+ <artifactId>ietf-netconf</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<artifactId>ietf-inet-types-2013-07-15</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<artifactId>ietf-access-control-list</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<artifactId>ietf-yang-types-20130715</artifactId>
+ <version>2013.07.15.11.0-SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-interfaces</artifactId>
+ <groupId>org.opendaylight.mdsal.model</groupId>
+ <artifactId>ietf-interfaces</artifactId>
<version>2014.05.08.11.0-SNAPSHOT</version>
</dependency>
<dependency>
- <groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>ietf-packet-fields</artifactId>
+ <groupId>org.opendaylight.mdsal.model</groupId>
+ <artifactId>ietf-packet-fields</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
</dependency>
+
</dependencies>
<!--
Private references
+++ /dev/null
-package org.opendaylight.yang.gen.v1.http.org.openroadm.pm.types.rev161014;
-
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class PmDataTypeBuilder {
-
- public static PmDataType getDefaultInstance(java.lang.String defaultValue) {
- throw new java.lang.UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-package org.opendaylight.yang.gen.v1.http.org.openroadm.syslog.rev161014.syslog.selector.log.selector.selector.facility.log.facility;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.syslog.rev161014.syslog.selector.log.selector.selector.facility.log.facility.LogFacility.Facility;
-
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class LogFacilityFacilityBuilder {
-
- public static Facility getDefaultInstance(java.lang.String defaultValue) {
- throw new java.lang.UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.schemas;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.schemas.Schema.Location;
-
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class SchemaLocationBuilder {
-
- public static Location getDefaultInstance(java.lang.String defaultValue) {
- throw new java.lang.UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.restconf.rev131019;
-
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class DatastoreIdentifierBuilder {
-
- public static DatastoreIdentifier getDefaultInstance(java.lang.String defaultValue) {
- throw new java.lang.UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.restconf.rev131019.restconf.restconf.modules;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.restconf.rev131019.restconf.restconf.modules.Module.Revision;
-
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class ModuleRevisionBuilder {
-
- public static Revision getDefaultInstance(java.lang.String defaultValue) {
- throw new java.lang.UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev160409;
-
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class OptionalRevisionBuilder {
-
- public static OptionalRevision getDefaultInstance(java.lang.String defaultValue) {
- throw new java.lang.UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-package org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev160621.module.list;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.library.rev160621.module.list.CommonLeafs.Revision;
-
-
-/**
- * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
- * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
- *
- * The reason behind putting it under src/main/java is:
- * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
- * loss of user code.
- *
- */
-public class CommonLeafsRevisionBuilder {
-
- public static Revision getDefaultInstance(java.lang.String defaultValue) {
- throw new java.lang.UnsupportedOperationException("Not yet implemented");
- }
-
-}
+++ /dev/null
-module ietf-netconf-monitoring {
-
- yang-version 1;
-
- namespace
- "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring";
-
- prefix ncm;
-
- import ietf-yang-types {
- prefix yang;
- revision-date "2013-07-15";
- }
-
- import ietf-inet-types {
- prefix inet;
- revision-date "2013-07-15";
- }
-
- organization
- "IETF NETCONF (Network Configuration) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netconf/>
- WG List: <mailto:netconf@ietf.org>
-
- WG Chair: Mehmet Ersue
- <mailto:mehmet.ersue@nsn.com>
-
- WG Chair: Bert Wijnen
- <mailto:bertietf@bwijnen.net>
-
- Editor: Mark Scott
- <mailto:mark.scott@ericsson.com>
-
- Editor: Martin Bjorklund
- <mailto:mbj@tail-f.com>";
-
- description
- "NETCONF Monitoring Module.
- All elements in this module are read-only.
-
- Copyright (c) 2010 IETF Trust 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 contained in, the Simplified BSD
- License set forth in Section 4.c of the IETF Trust's
- Legal Provisions Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6022; see
- the RFC itself for full legal notices.";
-
- revision "2010-10-04" {
- description "Initial revision.";
- reference
- "RFC 6022: YANG Module for NETCONF Monitoring";
-
- }
-
-
- typedef netconf-datastore-type {
- type enumeration {
- enum "running" {
- value 0;
- }
- enum "candidate" {
- value 1;
- }
- enum "startup" {
- value 2;
- }
- }
- description
- "Enumeration of possible NETCONF datastore types.";
- reference
- "RFC 4741: NETCONF Configuration Protocol";
-
- }
-
- identity transport {
- description
- "Base identity for NETCONF transport types.";
- }
-
- identity netconf-ssh {
- base transport;
- description
- "NETCONF over Secure Shell (SSH).";
- reference
- "RFC 4742: Using the NETCONF Configuration Protocol
- over Secure SHell (SSH)";
-
- }
-
- identity netconf-soap-over-beep {
- base transport;
- description
- "NETCONF over Simple Object Access Protocol (SOAP) over
- Blocks Extensible Exchange Protocol (BEEP).";
- reference
- "RFC 4743: Using NETCONF over the Simple Object
- Access Protocol (SOAP)";
-
- }
-
- identity netconf-soap-over-https {
- base transport;
- description
- "NETCONF over Simple Object Access Protocol (SOAP)
- over Hypertext Transfer Protocol Secure (HTTPS).";
- reference
- "RFC 4743: Using NETCONF over the Simple Object
- Access Protocol (SOAP)";
-
- }
-
- identity netconf-beep {
- base transport;
- description
- "NETCONF over Blocks Extensible Exchange Protocol (BEEP).";
- reference
- "RFC 4744: Using the NETCONF Protocol over the
- Blocks Extensible Exchange Protocol (BEEP)";
-
- }
-
- identity netconf-tls {
- base transport;
- description
- "NETCONF over Transport Layer Security (TLS).";
- reference
- "RFC 5539: NETCONF over Transport Layer Security (TLS)";
-
- }
-
- identity schema-format {
- description
- "Base identity for data model schema languages.";
- }
-
- identity xsd {
- base schema-format;
- description
- "W3C XML Schema Definition.";
- reference
- "W3C REC REC-xmlschema-1-20041028:
- XML Schema Part 1: Structures";
-
- }
-
- identity yang {
- base schema-format;
- description
- "The YANG data modeling language for NETCONF.";
- reference
- "RFC 6020: YANG - A Data Modeling Language for the
- Network Configuration Protocol (NETCONF)";
-
- }
-
- identity yin {
- base schema-format;
- description "The YIN syntax for YANG.";
- reference
- "RFC 6020: YANG - A Data Modeling Language for the
- Network Configuration Protocol (NETCONF)";
-
- }
-
- identity rng {
- base schema-format;
- description
- "Regular Language for XML Next Generation (RELAX NG).";
- reference
- "ISO/IEC 19757-2:2008: RELAX NG";
-
- }
-
- identity rnc {
- base schema-format;
- description "Relax NG Compact Syntax";
- reference
- "ISO/IEC 19757-2:2008: RELAX NG";
-
- }
-
- grouping common-counters {
- description
- "Counters that exist both per session, and also globally,
- accumulated from all sessions.";
- leaf in-rpcs {
- type yang:zero-based-counter32;
- description
- "Number of correct <rpc> messages received.";
- }
-
- leaf in-bad-rpcs {
- type yang:zero-based-counter32;
- description
- "Number of messages received when an <rpc> message was expected,
- that were not correct <rpc> messages. This includes XML parse
- errors and errors on the rpc layer.";
- }
-
- leaf out-rpc-errors {
- type yang:zero-based-counter32;
- description
- "Number of <rpc-reply> messages sent that contained an
- <rpc-error> element.";
- }
-
- leaf out-notifications {
- type yang:zero-based-counter32;
- description
- "Number of <notification> messages sent.";
- }
- } // grouping common-counters
-
- container netconf-state {
- config false;
- description
- "The netconf-state container is the root of the monitoring
- data model.";
- container capabilities {
- description
- "Contains the list of NETCONF capabilities supported by the
- server.";
- leaf-list capability {
- type inet:uri;
- description
- "List of NETCONF capabilities supported by the server.";
- }
- } // container capabilities
-
- container datastores {
- description
- "Contains the list of NETCONF configuration datastores.";
- list datastore {
- key "name";
- description
- "List of NETCONF configuration datastores supported by
- the NETCONF server and related information.";
- leaf name {
- type netconf-datastore-type;
- description
- "Name of the datastore associated with this list entry.";
- }
-
- container locks {
- presence
- "This container is present only if the datastore
- is locked.";
- description
- "The NETCONF <lock> and <partial-lock> operations allow
- a client to lock specific resources in a datastore. The
- NETCONF server will prevent changes to the locked
- resources by all sessions except the one that acquired
- the lock(s).
-
- Monitoring information is provided for each datastore
- entry including details such as the session that acquired
- the lock, the type of lock (global or partial) and the
- list of locked resources. Multiple locks per datastore
- are supported.";
- grouping lock-info {
- description
- "Lock related parameters, common to both global and
- partial locks.";
- leaf locked-by-session {
- type uint32;
- mandatory true;
- description
- "The session ID of the session that has locked
- this resource. Both a global lock and a partial
- lock MUST contain the NETCONF session-id.
-
- If the lock is held by a session that is not managed
- by the NETCONF server (e.g., a CLI session), a session
- id of 0 (zero) is reported.";
- reference
- "RFC 4741: NETCONF Configuration Protocol";
-
- }
-
- leaf locked-time {
- type yang:date-and-time;
- mandatory true;
- description
- "The date and time of when the resource was
- locked.";
- }
- } // grouping lock-info
- choice lock-type {
- description
- "Indicates if a global lock or a set of partial locks
- are set.";
- container global-lock {
- description
- "Present if the global lock is set.";
- uses lock-info;
- } // container global-lock
- list partial-lock {
- key "lock-id";
- description
- "List of partial locks.";
- reference
- "RFC 5717: Partial Lock Remote Procedure Call (RPC) for
- NETCONF";
-
- leaf lock-id {
- type uint32;
- description
- "This is the lock id returned in the <partial-lock>
- response.";
- }
-
- uses lock-info;
-
- leaf-list select {
- type yang:xpath1.0;
- min-elements 1;
- description
- "The xpath expression that was used to request
- the lock. The select expression indicates the
- original intended scope of the lock.";
- }
-
- leaf-list locked-node {
- type instance-identifier;
- description
- "The list of instance-identifiers (i.e., the
- locked nodes).
-
- The scope of the partial lock is defined by the list
- of locked nodes.";
- }
- } // list partial-lock
- } // choice lock-type
- } // container locks
- } // list datastore
- } // container datastores
-
- container schemas {
- description
- "Contains the list of data model schemas supported by the
- server.";
- list schema {
- key "identifier version format";
- description
- "List of data model schemas supported by the server.";
- leaf identifier {
- type string;
- description
- "Identifier to uniquely reference the schema. The
- identifier is used in the <get-schema> operation and may
- be used for other purposes such as file retrieval.
-
- For modeling languages that support or require a data
- model name (e.g., YANG module name) the identifier MUST
- match that name. For YANG data models, the identifier is
- the name of the module or submodule. In other cases, an
- identifier such as a filename MAY be used instead.";
- }
-
- leaf version {
- type string;
- description
- "Version of the schema supported. Multiple versions MAY be
- supported simultaneously by a NETCONF server. Each
- version MUST be reported individually in the schema list,
- i.e., with same identifier, possibly different location,
- but different version.
-
- For YANG data models, version is the value of the most
- recent YANG 'revision' statement in the module or
- submodule, or the empty string if no 'revision' statement
- is present.";
- }
-
- leaf format {
- type identityref {
- base schema-format;
- }
- description
- "The data modeling language the schema is written
- in (currently xsd, yang, yin, rng, or rnc).
- For YANG data models, 'yang' format MUST be supported and
- 'yin' format MAY also be provided.";
- }
-
- leaf namespace {
- type inet:uri;
- mandatory true;
- description
- "The XML namespace defined by the data model.
-
- For YANG data models, this is the module's namespace.
- If the list entry describes a submodule, this field
- contains the namespace of the module to which the
- submodule belongs.";
- }
-
- leaf-list location {
- type union {
- type enumeration {
- enum "NETCONF" {
- value 0;
- }
- }
- type inet:uri;
- }
- description
- "One or more locations from which the schema can be
- retrieved. This list SHOULD contain at least one
- entry per schema.
-
- A schema entry may be located on a remote file system
- (e.g., reference to file system for ftp retrieval) or
- retrieved directly from a server supporting the
- <get-schema> operation (denoted by the value 'NETCONF').";
- }
- } // list schema
- } // container schemas
-
- container sessions {
- description
- "The sessions container includes session-specific data for
- NETCONF management sessions. The session list MUST include
- all currently active NETCONF sessions.";
- list session {
- key "session-id";
- description
- "All NETCONF sessions managed by the NETCONF server
- MUST be reported in this list.";
- leaf session-id {
- type uint32 {
- range "1..max";
- }
- description
- "Unique identifier for the session. This value is the
- NETCONF session identifier, as defined in RFC 4741.";
- reference
- "RFC 4741: NETCONF Configuration Protocol";
-
- }
-
- leaf transport {
- type identityref {
- base transport;
- }
- mandatory true;
- description
- "Identifies the transport for each session, e.g.,
- 'netconf-ssh', 'netconf-soap', etc.";
- }
-
- leaf username {
- type string;
- mandatory true;
- description
- "The username is the client identity that was authenticated
- by the NETCONF transport protocol. The algorithm used to
- derive the username is NETCONF transport protocol specific
- and in addition specific to the authentication mechanism
- used by the NETCONF transport protocol.";
- }
-
- leaf source-host {
- type inet:host;
- description
- "Host identifier of the NETCONF client. The value
- returned is implementation specific (e.g., hostname,
- IPv4 address, IPv6 address)";
- }
-
- leaf login-time {
- type yang:date-and-time;
- mandatory true;
- description
- "Time at the server at which the session was established.";
- }
-
- uses common-counters {
- description
- "Per-session counters. Zero based with following reset
- behaviour:
- - at start of a session
- - when max value is reached";
- }
- } // list session
- } // container sessions
-
- container statistics {
- description
- "Statistical data pertaining to the NETCONF server.";
- leaf netconf-start-time {
- type yang:date-and-time;
- description
- "Date and time at which the management subsystem was
- started.";
- }
-
- leaf in-bad-hellos {
- type yang:zero-based-counter32;
- description
- "Number of sessions silently dropped because an
- invalid <hello> message was received. This includes <hello>
- messages with a 'session-id' attribute, bad namespace, and
- bad capability declarations.";
- }
-
- leaf in-sessions {
- type yang:zero-based-counter32;
- description
- "Number of sessions started. This counter is incremented
- when a <hello> message with a <session-id> is sent.
-
- 'in-sessions' - 'in-bad-hellos' =
- 'number of correctly started netconf sessions'";
- }
-
- leaf dropped-sessions {
- type yang:zero-based-counter32;
- description
- "Number of sessions that were abnormally terminated, e.g.,
- due to idle timeout or transport close. This counter is not
- incremented when a session is properly closed by a
- <close-session> operation, or killed by a <kill-session>
- operation.";
- }
-
- uses common-counters {
- description
- "Global counters, accumulated from all sessions.
- Zero based with following reset behaviour:
- - re-initialization of NETCONF server
- - when max value is reached";
- }
- } // container statistics
- } // container netconf-state
-
- rpc get-schema {
- description
- "This operation is used to retrieve a schema from the
- NETCONF server.
-
- Positive Response:
- The NETCONF server returns the requested schema.
-
- Negative Response:
- If requested schema does not exist, the <error-tag> is
- 'invalid-value'.
-
- If more than one schema matches the requested parameters, the
- <error-tag> is 'operation-failed', and <error-app-tag> is
- 'data-not-unique'.";
- input {
- leaf identifier {
- type string;
- mandatory true;
- description
- "Identifier for the schema list entry.";
- }
-
- leaf version {
- type string;
- description
- "Version of the schema requested. If this parameter is not
- present, and more than one version of the schema exists on
- the server, a 'data-not-unique' error is returned, as
- described above.";
- }
-
- leaf format {
- type identityref {
- base schema-format;
- }
- description
- "The data modeling language of the schema. If this
- parameter is not present, and more than one formats of
- the schema exists on the server, a 'data-not-unique' error
- is returned, as described above.";
- }
- }
-
- output {
- anyxml data {
- description
- "Contains the schema content.";
- }
- }
- } // rpc get-schema
-} // module
\ No newline at end of file
+++ /dev/null
-module ietf-netconf {
-
- // the namespace for NETCONF XML definitions is unchanged
- // from RFC 4741, which this document replaces
- namespace "urn:ietf:params:xml:ns:netconf:base:1.0";
-
- prefix nc;
-
- import ietf-inet-types {
- prefix inet;
- }
-
- organization
- "IETF NETCONF (Network Configuration) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netconf/>
- WG List: <netconf@ietf.org>
-
- WG Chair: Bert Wijnen
- <bertietf@bwijnen.net>
-
- WG Chair: Mehmet Ersue
- <mehmet.ersue@nsn.com>
-
- Editor: Martin Bjorklund
- <mbj@tail-f.com>
-
- Editor: Juergen Schoenwaelder
- <j.schoenwaelder@jacobs-university.de>
-
- Editor: Andy Bierman
- <andy.bierman@brocade.com>";
- description
- "NETCONF Protocol Data Types and Protocol Operations.
-
- Copyright (c) 2011 IETF Trust and the persons identified as
- the document authors. 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 contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC 6241; see
- the RFC itself for full legal notices.";
-
- revision 2011-06-01 {
- description
- "Initial revision;";
- reference
- "RFC 6241: Network Configuration Protocol";
- }
-
- extension get-filter-element-attributes {
- description
- "If this extension is present within an 'anyxml'
- statement named 'filter', which must be conceptually
- defined within the RPC input section for the <get>
- and <get-config> protocol operations, then the
- following unqualified XML attribute is supported
- within the <filter> element, within a <get> or
- <get-config> protocol operation:
-
- type : optional attribute with allowed
- value strings 'subtree' and 'xpath'.
- If missing, the default value is 'subtree'.
-
- If the 'xpath' feature is supported, then the
- following unqualified XML attribute is
- also supported:
-
- select: optional attribute containing a
- string representing an XPath expression.
- The 'type' attribute must be equal to 'xpath'
- if this attribute is present.";
- }
-
- // NETCONF capabilities defined as features
- feature writable-running {
- description
- "NETCONF :writable-running capability;
- If the server advertises the :writable-running
- capability for a session, then this feature must
- also be enabled for that session. Otherwise,
- this feature must not be enabled.";
- reference "RFC 6241, Section 8.2";
- }
-
- feature candidate {
- description
- "NETCONF :candidate capability;
- If the server advertises the :candidate
- capability for a session, then this feature must
- also be enabled for that session. Otherwise,
- this feature must not be enabled.";
- reference "RFC 6241, Section 8.3";
- }
-
- feature confirmed-commit {
- if-feature candidate;
- description
- "NETCONF :confirmed-commit:1.1 capability;
- If the server advertises the :confirmed-commit:1.1
- capability for a session, then this feature must
- also be enabled for that session. Otherwise,
- this feature must not be enabled.";
-
- reference "RFC 6241, Section 8.4";
- }
-
- feature rollback-on-error {
- description
- "NETCONF :rollback-on-error capability;
- If the server advertises the :rollback-on-error
- capability for a session, then this feature must
- also be enabled for that session. Otherwise,
- this feature must not be enabled.";
- reference "RFC 6241, Section 8.5";
- }
-
- feature validate {
- description
- "NETCONF :validate:1.1 capability;
- If the server advertises the :validate:1.1
- capability for a session, then this feature must
- also be enabled for that session. Otherwise,
- this feature must not be enabled.";
- reference "RFC 6241, Section 8.6";
- }
-
- feature startup {
- description
- "NETCONF :startup capability;
- If the server advertises the :startup
- capability for a session, then this feature must
- also be enabled for that session. Otherwise,
- this feature must not be enabled.";
- reference "RFC 6241, Section 8.7";
- }
-
- feature url {
- description
- "NETCONF :url capability;
- If the server advertises the :url
- capability for a session, then this feature must
- also be enabled for that session. Otherwise,
- this feature must not be enabled.";
- reference "RFC 6241, Section 8.8";
- }
-
- feature xpath {
- description
- "NETCONF :xpath capability;
- If the server advertises the :xpath
- capability for a session, then this feature must
- also be enabled for that session. Otherwise,
- this feature must not be enabled.";
- reference "RFC 6241, Section 8.9";
- }
-
- // NETCONF Simple Types
-
- typedef session-id-type {
- type uint32 {
- range "1..max";
- }
- description
- "NETCONF Session Id";
- }
-
- typedef session-id-or-zero-type {
- type uint32;
- description
- "NETCONF Session Id or Zero to indicate none";
- }
- typedef error-tag-type {
- type enumeration {
- enum in-use {
- description
- "The request requires a resource that
- already is in use.";
- }
- enum invalid-value {
- description
- "The request specifies an unacceptable value for one
- or more parameters.";
- }
- enum too-big {
- description
- "The request or response (that would be generated) is
- too large for the implementation to handle.";
- }
- enum missing-attribute {
- description
- "An expected attribute is missing.";
- }
- enum bad-attribute {
- description
- "An attribute value is not correct; e.g., wrong type,
- out of range, pattern mismatch.";
- }
- enum unknown-attribute {
- description
- "An unexpected attribute is present.";
- }
- enum missing-element {
- description
- "An expected element is missing.";
- }
- enum bad-element {
- description
- "An element value is not correct; e.g., wrong type,
- out of range, pattern mismatch.";
- }
- enum unknown-element {
- description
- "An unexpected element is present.";
- }
- enum unknown-namespace {
- description
- "An unexpected namespace is present.";
- }
- enum access-denied {
- description
- "Access to the requested protocol operation or
- data model is denied because authorization failed.";
- }
- enum lock-denied {
- description
- "Access to the requested lock is denied because the
- lock is currently held by another entity.";
- }
- enum resource-denied {
- description
- "Request could not be completed because of
- insufficient resources.";
- }
- enum rollback-failed {
- description
- "Request to roll back some configuration change (via
- rollback-on-error or <discard-changes> operations)
- was not completed for some reason.";
-
- }
- enum data-exists {
- description
- "Request could not be completed because the relevant
- data model content already exists. For example,
- a 'create' operation was attempted on data that
- already exists.";
- }
- enum data-missing {
- description
- "Request could not be completed because the relevant
- data model content does not exist. For example,
- a 'delete' operation was attempted on
- data that does not exist.";
- }
- enum operation-not-supported {
- description
- "Request could not be completed because the requested
- operation is not supported by this implementation.";
- }
- enum operation-failed {
- description
- "Request could not be completed because the requested
- operation failed for some reason not covered by
- any other error condition.";
- }
- enum partial-operation {
- description
- "This error-tag is obsolete, and SHOULD NOT be sent
- by servers conforming to this document.";
- }
- enum malformed-message {
- description
- "A message could not be handled because it failed to
- be parsed correctly. For example, the message is not
- well-formed XML or it uses an invalid character set.";
- }
- }
- description "NETCONF Error Tag";
- reference "RFC 6241, Appendix A";
- }
-
- typedef error-severity-type {
- type enumeration {
- enum error {
- description "Error severity";
- }
- enum warning {
- description "Warning severity";
- }
- }
- description "NETCONF Error Severity";
- reference "RFC 6241, Section 4.3";
- }
-
- typedef edit-operation-type {
- type enumeration {
- enum merge {
- description
- "The configuration data identified by the
- element containing this attribute is merged
- with the configuration at the corresponding
- level in the configuration datastore identified
- by the target parameter.";
- }
- enum replace {
- description
- "The configuration data identified by the element
- containing this attribute replaces any related
- configuration in the configuration datastore
- identified by the target parameter. If no such
- configuration data exists in the configuration
- datastore, it is created. Unlike a
- <copy-config> operation, which replaces the
- entire target configuration, only the configuration
- actually present in the config parameter is affected.";
- }
- enum create {
- description
- "The configuration data identified by the element
- containing this attribute is added to the
- configuration if and only if the configuration
- data does not already exist in the configuration
- datastore. If the configuration data exists, an
- <rpc-error> element is returned with an
- <error-tag> value of 'data-exists'.";
- }
- enum delete {
- description
- "The configuration data identified by the element
- containing this attribute is deleted from the
- configuration if and only if the configuration
- data currently exists in the configuration
- datastore. If the configuration data does not
- exist, an <rpc-error> element is returned with
- an <error-tag> value of 'data-missing'.";
- }
- enum remove {
- description
- "The configuration data identified by the element
- containing this attribute is deleted from the
- configuration if the configuration
- data currently exists in the configuration
- datastore. If the configuration data does not
- exist, the 'remove' operation is silently ignored
- by the server.";
- }
- }
- default "merge";
- description "NETCONF 'operation' attribute values";
- reference "RFC 6241, Section 7.2";
- }
-
- // NETCONF Standard Protocol Operations
-
- rpc get-config {
- description
- "Retrieve all or part of a specified configuration.";
-
- reference "RFC 6241, Section 7.1";
-
- input {
- container source {
- description
- "Particular configuration to retrieve.";
-
- choice config-source {
- mandatory true;
- description
- "The configuration to retrieve.";
- leaf candidate {
- if-feature candidate;
- type empty;
- description
- "The candidate configuration is the config source.";
- }
- leaf running {
- type empty;
- description
- "The running configuration is the config source.";
- }
- leaf startup {
- if-feature startup;
- type empty;
- description
- "The startup configuration is the config source.
- This is optional-to-implement on the server because
- not all servers will support filtering for this
- datastore.";
- }
- }
- }
-
- anyxml filter {
- description
- "Subtree or XPath filter to use.";
- nc:get-filter-element-attributes;
- }
- }
-
- output {
- anyxml data {
- description
- "Copy of the source datastore subset that matched
- the filter criteria (if any). An empty data container
- indicates that the request did not produce any results.";
- }
- }
- }
-
- rpc edit-config {
- description
- "The <edit-config> operation loads all or part of a specified
- configuration to the specified target configuration.";
-
- reference "RFC 6241, Section 7.2";
-
- input {
- container target {
- description
- "Particular configuration to edit.";
-
- choice config-target {
- mandatory true;
- description
- "The configuration target.";
-
- leaf candidate {
- if-feature candidate;
- type empty;
- description
- "The candidate configuration is the config target.";
- }
- leaf running {
- if-feature writable-running;
- type empty;
- description
- "The running configuration is the config source.";
- }
- }
- }
-
- leaf default-operation {
- type enumeration {
- enum merge {
- description
- "The default operation is merge.";
- }
- enum replace {
- description
- "The default operation is replace.";
- }
- enum none {
- description
- "There is no default operation.";
- }
- }
- default "merge";
- description
- "The default operation to use.";
- }
-
- leaf test-option {
- if-feature validate;
- type enumeration {
- enum test-then-set {
- description
- "The server will test and then set if no errors.";
- }
- enum set {
- description
- "The server will set without a test first.";
- }
-
- enum test-only {
- description
- "The server will only test and not set, even
- if there are no errors.";
- }
- }
- default "test-then-set";
- description
- "The test option to use.";
- }
-
- leaf error-option {
- type enumeration {
- enum stop-on-error {
- description
- "The server will stop on errors.";
- }
- enum continue-on-error {
- description
- "The server may continue on errors.";
- }
- enum rollback-on-error {
- description
- "The server will roll back on errors.
- This value can only be used if the 'rollback-on-error'
- feature is supported.";
- }
- }
- default "stop-on-error";
- description
- "The error option to use.";
- }
-
- choice edit-content {
- mandatory true;
- description
- "The content for the edit operation.";
-
- anyxml config {
- description
- "Inline Config content.";
- }
- leaf url {
- if-feature url;
- type inet:uri;
- description
- "URL-based config content.";
- }
- }
- }
- }
-
- rpc copy-config {
- description
- "Create or replace an entire configuration datastore with the
- contents of another complete configuration datastore.";
-
- reference "RFC 6241, Section 7.3";
-
- input {
- container target {
- description
- "Particular configuration to copy to.";
-
- choice config-target {
- mandatory true;
- description
- "The configuration target of the copy operation.";
-
- leaf candidate {
- if-feature candidate;
- type empty;
- description
- "The candidate configuration is the config target.";
- }
- leaf running {
- if-feature writable-running;
- type empty;
- description
- "The running configuration is the config target.
- This is optional-to-implement on the server.";
- }
- leaf startup {
- if-feature startup;
- type empty;
- description
- "The startup configuration is the config target.";
- }
- leaf url {
- if-feature url;
- type inet:uri;
- description
- "The URL-based configuration is the config target.";
- }
- }
- }
-
- container source {
- description
- "Particular configuration to copy from.";
-
- choice config-source {
- mandatory true;
- description
- "The configuration source for the copy operation.";
-
- leaf candidate {
- if-feature candidate;
- type empty;
- description
- "The candidate configuration is the config source.";
- }
- leaf running {
- type empty;
- description
- "The running configuration is the config source.";
- }
- leaf startup {
- if-feature startup;
- type empty;
- description
- "The startup configuration is the config source.";
- }
- leaf url {
- if-feature url;
- type inet:uri;
- description
- "The URL-based configuration is the config source.";
- }
- anyxml config {
- description
- "Inline Config content: <config> element. Represents
- an entire configuration datastore, not
- a subset of the running datastore.";
- }
- }
- }
- }
- }
-
- rpc delete-config {
- description
- "Delete a configuration datastore.";
-
- reference "RFC 6241, Section 7.4";
-
- input {
- container target {
- description
- "Particular configuration to delete.";
-
- choice config-target {
- mandatory true;
- description
- "The configuration target to delete.";
-
- leaf startup {
- if-feature startup;
- type empty;
- description
- "The startup configuration is the config target.";
- }
- leaf url {
- if-feature url;
- type inet:uri;
- description
- "The URL-based configuration is the config target.";
- }
- }
- }
- }
- }
-
- rpc lock {
- description
- "The lock operation allows the client to lock the configuration
- system of a device.";
-
- reference "RFC 6241, Section 7.5";
-
- input {
- container target {
- description
- "Particular configuration to lock.";
-
- choice config-target {
- mandatory true;
- description
- "The configuration target to lock.";
-
- leaf candidate {
- if-feature candidate;
- type empty;
- description
- "The candidate configuration is the config target.";
- }
- leaf running {
- type empty;
- description
- "The running configuration is the config target.";
- }
- leaf startup {
- if-feature startup;
- type empty;
- description
- "The startup configuration is the config target.";
- }
- }
- }
- }
- }
-
- rpc unlock {
- description
- "The unlock operation is used to release a configuration lock,
- previously obtained with the 'lock' operation.";
-
- reference "RFC 6241, Section 7.6";
-
- input {
- container target {
- description
- "Particular configuration to unlock.";
-
- choice config-target {
- mandatory true;
- description
- "The configuration target to unlock.";
-
- leaf candidate {
- if-feature candidate;
- type empty;
- description
- "The candidate configuration is the config target.";
- }
- leaf running {
- type empty;
- description
- "The running configuration is the config target.";
- }
- leaf startup {
- if-feature startup;
- type empty;
- description
- "The startup configuration is the config target.";
- }
- }
- }
- }
- }
-
- rpc get {
- description
- "Retrieve running configuration and device state information.";
-
- reference "RFC 6241, Section 7.7";
-
- input {
- anyxml filter {
- description
- "This parameter specifies the portion of the system
- configuration and state data to retrieve.";
- nc:get-filter-element-attributes;
- }
- }
-
- output {
- anyxml data {
- description
- "Copy of the running datastore subset and/or state
- data that matched the filter criteria (if any).
- An empty data container indicates that the request did not
- produce any results.";
- }
- }
- }
-
- rpc close-session {
- description
- "Request graceful termination of a NETCONF session.";
-
- reference "RFC 6241, Section 7.8";
- }
-
- rpc kill-session {
- description
- "Force the termination of a NETCONF session.";
-
- reference "RFC 6241, Section 7.9";
-
- input {
- leaf session-id {
- type session-id-type;
- mandatory true;
- description
- "Particular session to kill.";
- }
- }
- }
-
- rpc commit {
- if-feature candidate;
-
- description
- "Commit the candidate configuration as the device's new
- current configuration.";
-
- reference "RFC 6241, Section 8.3.4.1";
-
- input {
- leaf confirmed {
- if-feature confirmed-commit;
- type empty;
- description
- "Requests a confirmed commit.";
- reference "RFC 6241, Section 8.3.4.1";
- }
-
- leaf confirm-timeout {
- if-feature confirmed-commit;
- type uint32 {
- range "1..max";
- }
- units "seconds";
- default "600"; // 10 minutes
- description
- "The timeout interval for a confirmed commit.";
- reference "RFC 6241, Section 8.3.4.1";
- }
-
- leaf persist {
- if-feature confirmed-commit;
- type string;
- description
- "This parameter is used to make a confirmed commit
- persistent. A persistent confirmed commit is not aborted
- if the NETCONF session terminates. The only way to abort
- a persistent confirmed commit is to let the timer expire,
- or to use the <cancel-commit> operation.
-
- The value of this parameter is a token that must be given
- in the 'persist-id' parameter of <commit> or
- <cancel-commit> operations in order to confirm or cancel
- the persistent confirmed commit.
-
- The token should be a random string.";
- reference "RFC 6241, Section 8.3.4.1";
- }
-
- leaf persist-id {
- if-feature confirmed-commit;
- type string;
- description
- "This parameter is given in order to commit a persistent
- confirmed commit. The value must be equal to the value
- given in the 'persist' parameter to the <commit> operation.
- If it does not match, the operation fails with an
- 'invalid-value' error.";
- reference "RFC 6241, Section 8.3.4.1";
- }
-
- }
- }
-
- rpc discard-changes {
- if-feature candidate;
-
- description
- "Revert the candidate configuration to the current
- running configuration.";
- reference "RFC 6241, Section 8.3.4.2";
- }
-
- rpc cancel-commit {
- if-feature confirmed-commit;
- description
- "This operation is used to cancel an ongoing confirmed commit.
- If the confirmed commit is persistent, the parameter
- 'persist-id' must be given, and it must match the value of the
- 'persist' parameter.";
- reference "RFC 6241, Section 8.4.4.1";
-
- input {
- leaf persist-id {
- type string;
- description
- "This parameter is given in order to cancel a persistent
- confirmed commit. The value must be equal to the value
- given in the 'persist' parameter to the <commit> operation.
- If it does not match, the operation fails with an
- 'invalid-value' error.";
- }
- }
- }
-
- rpc validate {
- if-feature validate;
-
- description
- "Validates the contents of the specified configuration.";
-
- reference "RFC 6241, Section 8.6.4.1";
-
- input {
- container source {
- description
- "Particular configuration to validate.";
-
- choice config-source {
- mandatory true;
- description
- "The configuration source to validate.";
-
- leaf candidate {
- if-feature candidate;
- type empty;
- description
- "The candidate configuration is the config source.";
- }
- leaf running {
- type empty;
- description
- "The running configuration is the config source.";
- }
- leaf startup {
- if-feature startup;
- type empty;
- description
- "The startup configuration is the config source.";
- }
- leaf url {
- if-feature url;
- type inet:uri;
- description
- "The URL-based configuration is the config source.";
- }
- anyxml config {
- description
- "Inline Config content: <config> element. Represents
- an entire configuration datastore, not
- a subset of the running datastore.";
- }
- }
- }
- }
- }
-
-}
\ No newline at end of file
+++ /dev/null
-module ietf-restconf {
- namespace "urn:ietf:params:xml:ns:yang:ietf-restconf";
- prefix "restconf";
-
- import ietf-yang-types { prefix yang; revision-date 2013-07-15; }
- import ietf-inet-types { prefix inet; }
-
- organization
- "IETF NETCONF (Network Configuration) Working Group";
-
- contact
- "Editor: Andy Bierman
- <mailto:andy@yumaworks.com>
-
- Editor: Martin Bjorklund
- <mailto:mbj@tail-f.com>
-
- Editor: Kent Watsen
- <mailto:kwatsen@juniper.net>
-
- Editor: Rex Fernando
- <mailto:rex@cisco.com>";
-
- description
- "This module contains conceptual YANG specifications
- for the YANG Patch and error content that is used in
- RESTCONF protocol messages. A conceptual container
- representing the RESTCONF API nodes (media type
- application/yang.api).
-
- Note that the YANG definitions within this module do not
- represent configuration data of any kind.
- The YANG grouping statements provide a normative syntax
- for XML and JSON message encoding purposes.
-
- Copyright (c) 2013 IETF Trust 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 contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC XXXX; see
- the RFC itself for full legal notices.";
-
- // RFC Ed.: replace XXXX with actual RFC number and remove this
- // note.
-
- // RFC Ed.: remove this note
- // Note: extracted from draft-bierman-netconf-restconf-02.txt
-
- // RFC Ed.: update the date below with the date of RFC publication
- // and remove this note.
- revision 2013-10-19 {
- description
- "Initial revision.";
- reference
- "RFC XXXX: RESTCONF Protocol.";
- }
-
- typedef data-resource-identifier {
- type string {
- length "1 .. max";
- }
- description
- "Contains a Data Resource Identifier formatted string
- to identify a specific data node. The data node that
- uses this data type SHOULD define the document root
- for data resource identifiers. The default document
- root is the target datastore conceptual root node.
- Data resource identifiers are defined relative to
- this document root.";
- reference
- "RFC XXXX: [sec. 5.3.1.1 ABNF For Data Resource Identifiers]";
- }
-
- // this typedef is TBD; not currently used
- typedef datastore-identifier {
- type union {
- type enumeration {
- enum candidate {
- description
- "Identifies the NETCONF shared candidate datastore.";
- reference
- "RFC 6241, section 8.3";
- }
- enum running {
- description
- "Identifies the NETCONF running datastore.";
- reference
- "RFC 6241, section 5.1";
- }
- enum startup {
- description
- "Identifies the NETCONF startup datastore.";
- reference
- "RFC 6241, section 8.7";
- }
- }
- type string;
- }
- description
- "Contains a string to identify a specific datastore.
- The enumerated datastore identifier values are
- reserved for standard datastore names.";
- }
-
- typedef revision-identifier {
- type string {
- pattern '\d{4}-\d{2}-\d{2}';
- }
- description
- "Represents a specific date in YYYY-MM-DD format.
- TBD: make pattern more precise to exclude leading zeros.";
- }
-
- grouping yang-patch {
-
- description
- "A grouping that contains a YANG container
- representing the syntax and semantics of a
- YANG Patch edit request message.";
-
- container yang-patch {
- description
- "Represents a conceptual sequence of datastore edits,
- called a patch. Each patch is given a client-assigned
- patch identifier. Each edit MUST be applied
- in ascending order, and all edits MUST be applied.
- If any errors occur, then the target datastore MUST NOT
- be changed by the patch operation.
-
- A patch MUST be validated by the server to be a
- well-formed message before any of the patch edits
- are validated or attempted.
-
- YANG datastore validation (defined in RFC 6020, section
- 8.3.3) is performed after all edits have been
- individually validated.
-
- It is possible for a datastore constraint violation to occur
- due to any node in the datastore, including nodes not
- included in the edit list. Any validation errors MUST
- be reported in the reply message.";
-
- reference
- "RFC 6020, section 8.3.";
-
- leaf patch-id {
- type string;
- description
- "An arbitrary string provided by the client to identify
- the entire patch. This value SHOULD be present in any
- audit logging records generated by the server for the
- patch. Error messages returned by the server pertaining
- to this patch will be identified by this patch-id value.";
- }
-
- leaf comment {
- type string {
- length "0 .. 1024";
- }
- description
- "An arbitrary string provided by the client to describe
- the entire patch. This value SHOULD be present in any
- audit logging records generated by the server for the
- patch.";
- }
-
- list edit {
- key edit-id;
- ordered-by user;
-
- description
- "Represents one edit within the YANG Patch
- request message.";
-
- leaf edit-id {
- type string;
- description
- "Arbitrary string index for the edit.
- Error messages returned by the server pertaining
- to a specific edit will be identified by this
- value.";
- }
-
- leaf operation {
- type enumeration {
- enum create {
- description
- "The target data node is created using the
- supplied value, only if it does not already
- exist.";
- }
- enum delete {
- description
- "Delete the target node, only if the data resource
- currently exists, otherwise return an error.";
- }
- enum insert {
- description
- "Insert the supplied value into a user-ordered
- list or leaf-list entry. The target node must
- represent a new data resource.";
- }
- enum merge {
- description
- "The supplied value is merged with the target data
- node.";
- }
- enum move {
- description
- "Move the target node. Reorder a user-ordered
- list or leaf-list. The target node must represent
- an existing data resource.";
- }
- enum replace {
- description
- "The supplied value is used to replace the target
- data node.";
- }
- enum remove {
- description
- "Delete the target node if it currently exists.";
- }
- }
- mandatory true;
- description
- "The datastore operation requested for the associated
- edit entry";
- }
-
- leaf target {
- type data-resource-identifier;
- mandatory true;
- description
- "Identifies the target data resource for the edit
- operation.";
- }
-
- leaf point {
- when "(../operation = 'insert' or " +
- "../operation = 'move') and " +
- "(../where = 'before' or ../where = 'after')" {
- description
- "Point leaf only applies for insert or move
- operations, before or after an existing entry.";
- }
- type data-resource-identifier;
- description
- "The absolute URL path for the data node that is being
- used as the insertion point or move point for the
- target of this edit entry.";
- }
-
- leaf where {
- when "../operation = 'insert' or ../operation = 'move'" {
- description
- "Where leaf only applies for insert or move
- operations.";
- }
- type enumeration {
- enum before {
- description
- "Insert or move a data node before the data resource
- identified by the 'point' parameter.";
- }
- enum after {
- description
- "Insert or move a data node after the data resource
- identified by the 'point' parameter.";
- }
- enum first {
- description
- "Insert or move a data node so it becomes ordered
- as the first entry.";
- }
- enum last {
- description
- "Insert or move a data node so it becomes ordered
- as the last entry.";
- }
-
- }
- default last;
- description
- "Identifies where a data resource will be inserted or
- moved. YANG only allows these operations for
- list and leaf-list data nodes that are ordered-by
- user.";
- }
-
- anyxml value {
- when "(../operation = 'create' or " +
- "../operation = 'merge' " +
- "or ../operation = 'replace' or " +
- "../operation = 'insert')" {
- description
- "Value node only used for create, merge,
- replace, and insert operations";
- }
- description
- "Value used for this edit operation.";
- }
- }
- }
-
- } // grouping yang-patch
-
-
- grouping yang-patch-status {
-
- description
- "A grouping that contains a YANG container
- representing the syntax and semantics of
- YANG Patch status response message.";
-
- container yang-patch-status {
- description
- "A container representing the response message
- sent by the server after a YANG Patch edit
- request message has been processed.";
-
- leaf patch-id {
- type string;
- description
- "The patch-id value used in the request";
- }
-
- choice global-status {
- description
- "Report global errors or complete success.
- If there is no case selected then errors
- are reported in the edit-status container.";
-
- case global-errors {
- uses errors;
- description
- "This container will be present if global
- errors unrelated to a specific edit occurred.";
- }
- leaf ok {
- type empty;
- description
- "This leaf will be present if the request succeeded
- and there are no errors reported in the edit-status
- container.";
- }
- }
-
- container edit-status {
- description
- "This container will be present if there are
- edit-specific status responses to report.";
-
- list edit {
- key edit-id;
-
- description
- "Represents a list of status responses,
- corresponding to edits in the YANG Patch
- request message. If an edit entry was
- skipped or not reached by the server,
- then this list will not contain a corresponding
- entry for that edit.";
-
- leaf edit-id {
- type string;
- description
- "Response status is for the edit list entry
- with this edit-id value.";
- }
- choice edit-status-choice {
- description
- "A choice between different types of status
- responses for each edit entry.";
- leaf ok {
- type empty;
- description
- "This edit entry was invoked without any
- errors detected by the server associated
- with this edit.";
- }
- leaf location {
- type inet:uri;
- description
- "Contains the Location header value that would be
- returned if this edit causes a new resource to be
- created. If the edit identified by the same edit-id
- value was successfully invoked and a new resource
- was created, then this field will be returned
- instead of 'ok'.";
- }
- case errors {
- uses errors;
- description
- "The server detected errors associated with the
- edit identified by the same edit-id value.";
- }
- }
- }
- }
- }
- } // grouping yang-patch-status
-
-
- grouping errors {
-
- description
- "A grouping that contains a YANG container
- representing the syntax and semantics of a
- YANG Patch errors report within a response message.";
-
- container errors {
- config false; // needed so list error does not need a key
- description
- "Represents an error report returned by the server if
- a request results in an error.";
-
- list error {
- description
- "An entry containing information about one
- specific error that occurred while processing
- a RESTCONF request.";
- reference "RFC 6241, Section 4.3";
-
- leaf error-type {
- type enumeration {
- enum transport {
- description "The transport layer";
- }
- enum rpc {
- description "The rpc or notification layer";
- }
- enum protocol {
- description "The protocol operation layer";
- }
- enum application {
- description "The server application layer";
- }
- }
- mandatory true;
- description
- "The protocol layer where the error occurred.";
- }
-
- leaf error-tag {
- type string;
- mandatory true;
- description
- "The enumerated error tag.";
- }
-
- leaf error-app-tag {
- type string;
- description
- "The application-specific error tag.";
- }
-
- leaf error-path {
- type data-resource-identifier;
- description
- "The target data resource identifier associated
- with the error, if any.";
- }
-
- leaf error-message {
- type string;
- description
- "A message describing the error.";
- }
-
- container error-info {
- description
- "A container allowing additional information
- to be included in the error report.";
- // arbitrary anyxml content here
- }
- }
- }
- } // grouping errors
-
-
- grouping restconf {
-
- description
- "A grouping that contains a YANG container
- representing the syntax and semantics of
- the RESTCONF API resource.";
-
- container restconf {
- description
- "Conceptual container representing the
- application/yang.api resource type.";
-
- container config {
- description
- "Container representing the application/yang.datastore
- resource type. Represents the conceptual root of the
- unified configuration datastore containing YANG data
- nodes. The child nodes of this container are
- configuration data resources (application/yang.data)
- defined as top-level YANG data nodes from the modules
- advertised by the server in /restconf/modules.";
- }
-
- container operational {
- description
- "Container representing the application/yang.datastore
- resource type. Represents the conceptual root of the
- operational data supported by the server. The child
- nodes of this container are operational data resources
- (application/yang.data) defined as top-level
- YANG data nodes from the modules advertised by
- the server in /restconf/modules.";
- }
-
- container modules {
- description
- "Contains a list of module description entries.
- These modules are currently loaded into the server.";
-
- list module {
- key "name revision";
- description
- "Each entry represents one module currently
- supported by the server.";
-
- leaf name {
- type yang:yang-identifier;
- description "The YANG module name.";
- }
- leaf revision {
- type union {
- type revision-identifier;
- type string { length 0; }
- }
- description
- "The YANG module revision date. An empty string is
- used if no revision statement is present in the
- YANG module.";
- }
- leaf namespace {
- type inet:uri;
- mandatory true;
- description
- "The XML namespace identifier for this module.";
- }
- leaf-list feature {
- type yang:yang-identifier;
- description
- "List of YANG feature names from this module that are
- supported by the server.";
- }
- leaf-list deviation {
- type yang:yang-identifier;
- description
- "List of YANG deviation module names used by this
- server to modify the conformance of the module
- associated with this entry.";
- }
- }
- }
-
- container operations {
- description
- "Container for all operation resources
- (application/yang.operation),
-
- Each resource is represented as an empty leaf with the
- name of the RPC operation from the YANG rpc statement.
-
- E.g.;
-
- POST /restconf/operations/show-log-errors
-
- leaf show-log-errors {
- type empty;
- }
- ";
- }
-
- container streams {
- description
- "Container representing the notification event streams
- supported by the server.";
- reference
- "RFC 5277, Section 3.4, <streams> element.";
-
- list stream {
- key name;
- description
- "Each entry describes an event stream supported by
- the server.";
-
- leaf name {
- type string;
- description "The stream name";
- reference "RFC 5277, Section 3.4, <name> element.";
- }
-
- leaf description {
- type string;
- description "Description of stream content";
- reference
- "RFC 5277, Section 3.4, <description> element.";
- }
-
- leaf replay-support {
- type boolean;
- description
- "Indicates if replay buffer supported for this stream";
- reference
- "RFC 5277, Section 3.4, <replaySupport> element.";
- }
-
- leaf replay-log-creation-time {
- type yang:date-and-time;
- description
- "Indicates the time the replay log for this stream
- was created.";
- reference
- "RFC 5277, Section 3.4, <replayLogCreationTime>
- element.";
- }
-
- leaf events {
- type empty;
- description
- "Represents the entry point for establishing
- notification delivery via server sent events.";
- }
- }
- }
-
- leaf version {
- type enumeration {
- enum "1.0" {
- description
- "Version 1.0 of the RESTCONF protocol.";
- }
- }
- config false;
- description
- "Contains the RESTCONF protocol version.";
- }
- }
- } // grouping restconf
-
-
- grouping notification {
- description
- "Contains the notification message wrapper definition.";
-
- container notification {
- description
- "RESTCONF notification message wrapper.";
-
- leaf event-time {
- type yang:date-and-time;
- mandatory true;
- description
- "The time the event was generated by the
- event source.";
- reference
- "RFC 5277, section 4, <eventTime> element.";
- }
-
- /* The YANG-specific notification container is encoded
- * after the 'event-time' element. The format
- * corresponds to the notificationContent element
- * in RFC 5277, section 4. For example:
- *
- * module example-one {
- * ...
- * notification event1 { ... }
- *
- * }
- *
- * Encoded as element 'event1' in the namespace
- * for module 'example-one'.
- */
- }
- } // grouping notification
-
-}
\ No newline at end of file
+++ /dev/null
-module ietf-yang-library {
- namespace "urn:ietf:params:xml:ns:yang:ietf-yang-library";
- prefix "yanglib";
-
- import ietf-yang-types {
- prefix yang;
- }
- import ietf-inet-types {
- prefix inet;
- }
-
- organization
- "IETF NETCONF (Network Configuration) Working Group";
-
- contact
- "WG Web: <http://tools.ietf.org/wg/netconf/>
- WG List: <mailto:netconf@ietf.org>
-
- WG Chair: Mehmet Ersue
- <mailto:mehmet.ersue@nsn.com>
-
- WG Chair: Mahesh Jethanandani
- <mailto:mjethanandani@gmail.com>
-
- Editor: Andy Bierman
- <mailto:andy@yumaworks.com>
-
- Editor: Martin Bjorklund
- <mailto:mbj@tail-f.com>
-
- Editor: Kent Watsen
- <mailto:kwatsen@juniper.net>";
-
- description
- "This module contains monitoring information about the YANG
- modules and submodules that are used within a YANG-based
- server.
-
- Copyright (c) 2016 IETF Trust 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 contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
-
- This version of this YANG module is part of RFC XXXX; see
- the RFC itself for full legal notices.";
-
- // RFC Ed.: replace XXXX with actual RFC number and remove this
- // note.
-
- // RFC Ed.: remove this note
- // Note: extracted from draft-ietf-netconf-yang-library-06.txt
-
- // RFC Ed.: update the date below with the date of RFC publication
- // and remove this note.
- revision 2016-04-09 {
- description
- "Initial revision.";
- reference
- "RFC XXXX: YANG Module Library.";
- }
-
- /*
- * Typedefs
- */
-
- // FIXME inline this union after https://bugs.opendaylight.org/show_bug.cgi?id=5826 is fixed
- typedef optional-revision {
- type union {
- type revision-identifier;
- type string { length 0; }
- }
- description
- "The YANG module or submodule revision date.
- A zero-length string is used if no revision statement
- is present in the YANG module or submodule.";
- }
-
- typedef revision-identifier {
- type string {
- pattern '\d{4}-\d{2}-\d{2}';
- }
- description
- "Represents a specific date in YYYY-MM-DD format.";
- }
-
- /*
- * Groupings
- */
-
- grouping module-list {
- description
- "The module data structure is represented as a grouping
- so it can be reused in configuration or another monitoring
- data structure.";
-
- grouping common-leafs {
- description
- "Common parameters for YANG modules and submodules.";
-
- leaf name {
- type yang:yang-identifier;
- description
- "The YANG module or submodule name.";
- }
- leaf revision {
- type optional-revision;
- }
- }
-
- grouping schema-leaf {
- description
- "Common schema leaf parameter for modules and submodules.";
-
- leaf schema {
- type inet:uri;
- description
- "Contains a URL that represents the YANG schema
- resource for this module or submodule.
-
- This leaf will only be present if there is a URL
- available for retrieval of the schema for this entry.";
- }
- }
-
- list module {
- key "name revision";
- description
- "Each entry represents one revision of one module
- currently supported by the server.";
-
- uses common-leafs;
- uses schema-leaf;
-
- leaf namespace {
- type inet:uri;
- mandatory true;
- description
- "The XML namespace identifier for this module.";
- }
- leaf-list feature {
- type yang:yang-identifier;
- description
- "List of YANG feature names from this module that are
- supported by the server, regardless whether they are
- defined in the module or any included submodule.";
- }
- list deviation {
- key "name revision";
- description
- "List of YANG deviation module names and revisions
- used by this server to modify the conformance of
- the module associated with this entry. Note that
- the same module can be used for deviations for
- multiple modules, so the same entry MAY appear
- within multiple 'module' entries.
-
- The deviation module MUST be present in the 'module'
- list, with the same name and revision values.
- The 'conformance-type' value will be 'implement' for
- the deviation module.";
- uses common-leafs;
- }
- leaf conformance-type {
- type enumeration {
- enum implement {
- description
- "Indicates that the server implements one or more
- protocol-accessible objects defined in the YANG module
- identified in this entry. This includes deviation
- statements defined in the module.
-
- For YANG version 1.1 modules, there is at most one
- module entry with conformance type 'implement' for a
- particular module name, since YANG 1.1 requires that
- at most one revision of a module is implemented.
-
- For YANG version 1 modules, there SHOULD NOT be more
- than one module entry for a particular module name.";
- }
- enum import {
- description
- "Indicates that the server imports reusable definitions
- from the specified revision of the module, but does
- not implement any protocol accessible objects from
- this revision.
-
- Multiple module entries for the same module name MAY
- exist. This can occur if multiple modules import the
- same module, but specify different revision-dates in
- the import statements.";
- }
- }
- mandatory true;
- description
- "Indicates the type of conformance the server is claiming
- for the YANG module identified by this entry.";
- }
- container submodules {
- description
- "Contains information about all the submodules used
- by the parent module entry";
-
- list submodule {
- key "name revision";
- description
- "Each entry represents one submodule within the
- parent module.";
- uses common-leafs;
- uses schema-leaf;
- }
- }
- }
- }
-
- /*
- * Operational state data nodes
- */
-
- container modules-state {
- config false;
- description
- "Contains YANG module monitoring information.";
-
- leaf module-set-id {
- type string;
- mandatory true;
- description
- "Contains a server-specific identifier representing
- the current set of modules and submodules. The
- server MUST change the value of this leaf if the
- information represented by the 'module' list instances
- has changed.";
- }
-
- uses module-list;
- }
-
- /*
- * Notifications
- */
-
- notification yang-library-change {
- description
- "Generated when the set of modules and submodules supported
- by the server has changed.";
- leaf module-set-id {
- type leafref {
- path "/yanglib:modules-state/yanglib:module-set-id";
- }
- mandatory true;
- description
- "Contains the module-set-id value representing the
- set of modules and submodules supported at the server at
- the time the notification is generated.";
- }
- }
-
-}
\ No newline at end of file
+++ /dev/null
-module ietf-yang-library {
- namespace "urn:ietf:params:xml:ns:yang:ietf-yang-library";
- prefix "yanglib";
- import ietf-yang-types {
- prefix yang;
- }
- import ietf-inet-types {
- prefix inet;
- }
- organization
- "IETF NETCONF (Network Configuration) Working Group";
- contact
- "WG Web: <https://datatracker.ietf.org/wg/netconf/>
- WG List: <mailto:netconf@ietf.org>
- WG Chair: Mehmet Ersue
- <mailto:mehmet.ersue@nsn.com>
- WG Chair: Mahesh Jethanandani
- <mailto:mjethanandani@gmail.com>
- Editor: Andy Bierman
- <mailto:andy@yumaworks.com>
- Editor: Martin Bjorklund
- <mailto:mbj@tail-f.com>
- Editor: Kent Watsen
- <mailto:kwatsen@juniper.net>";
- description
- "This module contains monitoring information about the YANG
- modules and submodules that are used within a YANG-based
- server.
- Copyright (c) 2016 IETF Trust 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 contained in, the Simplified BSD License
- set forth in Section 4.c of the IETF Trust's Legal Provisions
- Relating to IETF Documents
- (http://trustee.ietf.org/license-info).
- This version of this YANG module is part of RFC 7895; see
- the RFC itself for full legal notices.";
- revision 2016-06-21 {
- description
- "Initial revision.";
- reference
- "RFC 7895: YANG Module Library.";
- }
- /*
- * Typedefs
- */
- typedef revision-identifier {
- type string {
- pattern '\d{4}-\d{2}-\d{2}';
- }
- description
- "Represents a specific date in YYYY-MM-DD format.";
- }
- /*
- * Groupings
- */
- grouping module-list {
- description
- "The module data structure is represented as a grouping
- so it can be reused in configuration or another monitoring
- data structure.";
- grouping common-leafs {
- description
- "Common parameters for YANG modules and submodules.";
- leaf name {
- type yang:yang-identifier;
- description
- "The YANG module or submodule name.";
- }
- leaf revision {
- type union {
- type revision-identifier;
- type string { length 0; }
- }
- description
- "The YANG module or submodule revision date.
- A zero-length string is used if no revision statement
- is present in the YANG module or submodule.";
- }
- }
- grouping schema-leaf {
- description
- "Common schema leaf parameter for modules and submodules.";
- leaf schema {
- type inet:uri;
- description
- "Contains a URL that represents the YANG schema
- resource for this module or submodule.
- This leaf will only be present if there is a URL
- available for retrieval of the schema for this entry.";
- }
- }
- list module {
- key "name revision";
- description
- "Each entry represents one revision of one module
- currently supported by the server.";
- uses common-leafs;
- uses schema-leaf;
- leaf namespace {
- type inet:uri;
- mandatory true;
- description
- "The XML namespace identifier for this module.";
- }
- leaf-list feature {
- type yang:yang-identifier;
- description
- "List of YANG feature names from this module that are
- supported by the server, regardless of whether they are
- defined in the module or any included submodule.";
- }
- list deviation {
- key "name revision";
- description
- "List of YANG deviation module names and revisions
- used by this server to modify the conformance of
- the module associated with this entry. Note that
- the same module can be used for deviations for
- multiple modules, so the same entry MAY appear
- within multiple 'module' entries.
- The deviation module MUST be present in the 'module'
- list, with the same name and revision values.
- The 'conformance-type' value will be 'implement' for
- the deviation module.";
- uses common-leafs;
- }
- leaf conformance-type {
- type enumeration {
- enum implement {
- description
- "Indicates that the server implements one or more
- protocol-accessible objects defined in the YANG module
- identified in this entry. This includes deviation
- statements defined in the module.
- For YANG version 1.1 modules, there is at most one
- module entry with conformance type 'implement' for a
- particular module name, since YANG 1.1 requires that,
- at most, one revision of a module is implemented.
- For YANG version 1 modules, there SHOULD NOT be more
- than one module entry for a particular module name.";
- }
- enum import {
- description
- "Indicates that the server imports reusable definitions
- from the specified revision of the module but does
- not implement any protocol-accessible objects from
- this revision.
- Multiple module entries for the same module name MAY
- exist. This can occur if multiple modules import the
- same module but specify different revision dates in
- the import statements.";
- }
- }
- mandatory true;
- description
- "Indicates the type of conformance the server is claiming
- for the YANG module identified by this entry.";
- }
- list submodule {
- key "name revision";
- description
- "Each entry represents one submodule within the
- parent module.";
- uses common-leafs;
- uses schema-leaf;
- }
- }
- }
- /*
- * Operational state data nodes
- */
- container modules-state {
- config false;
- description
- "Contains YANG module monitoring information.";
- leaf module-set-id {
- type string;
- mandatory true;
- description
- "Contains a server-specific identifier representing
- the current set of modules and submodules. The
- server MUST change the value of this leaf if the
- information represented by the 'module' list instances
- has changed.";
- }
- uses module-list;
- }
- /*
- * Notifications
- */
- notification yang-library-change {
- description
- "Generated when the set of modules and submodules supported
- by the server has changed.";
- leaf module-set-id {
- type leafref {
- path "/yanglib:modules-state/yanglib:module-set-id";
- }
- mandatory true;
- description
- "Contains the module-set-id value representing the
- set of modules and submodules supported at the server at
- the time the notification is generated.";
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-module org-openroadm-device-dev {
- namespace "http://org/openroadm/device-dev";
- prefix "org-openroadm-device-dev";
- import org-openroadm-device {
- prefix oroadm-device;
- }
- import ietf-yang-types {
- prefix ietf-yang-types;
- }
-
- deviation /oroadm-device:org-openroadm-device/oroadm-device:info/oroadm-device:current-datetime {
- deviate replace {
- type ietf-yang-types:date-and-time;
- }
- }
- deviation /oroadm-device:set-current-datetime/oroadm-device:input/oroadm-device:current-datetime {
- deviate replace {
- type ietf-yang-types:date-and-time;
- }
- }
-}
-
-
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.2</version>
<relativePath/>
</parent>
</scm>
<modules>
+ <module>artifacts</module>
<module>api</module>
<module>ordmodels</module>
<module>impl</module>
<module>stubrenderer</module>
<module>stubpce</module>
<module>servicehandler</module>
- <module>karaf</module>
- <module>features</module>
- <module>artifacts</module>
<module>cli</module>
+ <module>features</module>
+ <module>karaf</module>
<module>it</module>
</modules>