diff options
author | Jan Srnicek <jsrnicek@cisco.com> | 2017-04-20 16:07:43 +0200 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2017-04-27 07:50:26 +0000 |
commit | f681f003b874d1c2ce031ed48d7696802a23a190 (patch) | |
tree | 962a534a9af54c9d46973d95c682240249b004b6 /interface-role/api | |
parent | 1bdb94bca4f7202e5565ab15b9b290a19126b25c (diff) |
HC2VPP-128 - interface role specification api
Change-Id: I534e4d67d43006e61b8cb7355460bf440b20476f
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Diffstat (limited to 'interface-role/api')
-rw-r--r-- | interface-role/api/asciidoc/Readme.adoc | 3 | ||||
-rw-r--r-- | interface-role/api/pom.xml | 27 | ||||
-rw-r--r-- | interface-role/api/src/main/yang/interface-role.yang | 78 |
3 files changed, 108 insertions, 0 deletions
diff --git a/interface-role/api/asciidoc/Readme.adoc b/interface-role/api/asciidoc/Readme.adoc new file mode 100644 index 000000000..c2a75a37c --- /dev/null +++ b/interface-role/api/asciidoc/Readme.adoc @@ -0,0 +1,3 @@ += api + +Overview of api
\ No newline at end of file diff --git a/interface-role/api/pom.xml b/interface-role/api/pom.xml new file mode 100644 index 000000000..16dba94ec --- /dev/null +++ b/interface-role/api/pom.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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"> + <parent> + <groupId>io.fd.hc2vpp.common</groupId> + <artifactId>api-parent</artifactId> + <version>1.17.07-SNAPSHOT</version> + <relativePath>../../common/api-parent</relativePath> + </parent> + <modelVersion>4.0.0</modelVersion> + + <groupId>io.fd.hc2vpp.iface.role</groupId> + <artifactId>api</artifactId> + <version>1.17.07-SNAPSHOT</version> + + <dependencies> + <dependency> + <groupId>org.opendaylight.mdsal.model</groupId> + <artifactId>yang-ext</artifactId> + </dependency> + <dependency> + <groupId>org.opendaylight.mdsal.model</groupId> + <artifactId>ietf-interfaces</artifactId> + </dependency> + </dependencies> +</project>
\ No newline at end of file diff --git a/interface-role/api/src/main/yang/interface-role.yang b/interface-role/api/src/main/yang/interface-role.yang new file mode 100644 index 000000000..72af173b6 --- /dev/null +++ b/interface-role/api/src/main/yang/interface-role.yang @@ -0,0 +1,78 @@ +module interface-role { + + yang-version 1; + namespace "urn:opendaylight:params:xml:ns:yang:interface:role"; + prefix "if-role"; + + // TODO - update revision number to 17.07 release date + revision "2017-03-15" { + description "Basic specification of interface roles"; + } + + import ietf-interfaces { + prefix "if"; + } + + import yang-ext { + prefix "ext"; + } + + identity network-role-base { + description "Base identity for network interface roles"; + } + + identity virtual-domain-interface { + base network-role-base; + description "Tenant network interface. Interface must be enabled and have ip assigned"; + } + + identity public-interface { + base network-role-base; + description "Public interface for external access. Interface must be enabled and have ip assigned"; + } + + typedef network-role { + type identityref { + base network-role-base; + } + description "Base type for network interface roles"; + } + + grouping interface-role-grouping { + container roles { + list role { + key role-name; + + leaf role-name { + type string; + description "Unique name for role"; + mandatory true; + } + + leaf role-type { + type network-role; + description "Specifies type of network role"; + mandatory true; + } + + leaf description { + type string; + description "Any additional metadata for this assignment of network role"; + } + } + } + } + + augment /if:interfaces/if:interface { + ext:augment-identifier "interface-role-augmentation"; + + uses interface-role-grouping; + } + + augment /if:interfaces-state/if:interface { + ext:augment-identifier "interface-role-state-augmentation"; + + uses interface-role-grouping; + } +} + |