Merge of new rebased code
Change-Id: I9b8d1f69eb3e0af1935ed8304fea4bf54c1aac47
Signed-off-by: Patrick Brady <pb071s@att.com>
diff --git a/appc-oam/appc-oam-model/pom.xml b/appc-oam/appc-oam-model/pom.xml
new file mode 100644
index 0000000..e44d9a0
--- /dev/null
+++ b/appc-oam/appc-oam-model/pom.xml
@@ -0,0 +1,98 @@
+<?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">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>appc-oam</artifactId>
+ <groupId>org.openecomp.appc</groupId>
+ <version>1.1.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>appc-oam-model</artifactId>
+ <packaging>bundle</packaging>
+
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Import-Package>*</Import-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.opendaylight.yangtools</groupId>
+ <artifactId>yang-maven-plugin</artifactId>
+ <version>${odl.yangtools.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.mdsal</groupId>
+ <artifactId>maven-sal-api-gen-plugin</artifactId>
+ <version>${odl.sal.api.gen.plugin.version}</version>
+ <type>jar</type>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-sources</goal>
+ </goals>
+ <configuration>
+ <yangFilesRootDir>${yang.file.directory}</yangFilesRootDir>
+ <codeGenerators>
+ <generator>
+ <codeGeneratorClass>org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
+ <outputBaseDir>${salGeneratorPath}</outputBaseDir>
+ </generator>
+ </codeGenerators>
+ <inspectDependencies>true</inspectDependencies>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.5.2</version>
+ <executions>
+ <execution>
+ <id>yang</id>
+ <phase>initialize</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <file>${project.basedir}/src/main/yang/appc-oam.yang</file>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>${project.artifactId}</artifactId>
+ <version>${project.version}</version>
+ <packaging>yang</packaging>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.mdsal</groupId>
+ <artifactId>yang-binding</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.yangtools</groupId>
+ <artifactId>yang-common</artifactId>
+ </dependency>
+ <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>
diff --git a/appc-oam/appc-oam-model/src/main/yang/appc-oam.yang b/appc-oam/appc-oam-model/src/main/yang/appc-oam.yang
new file mode 100644
index 0000000..4611a32
--- /dev/null
+++ b/appc-oam/appc-oam-model/src/main/yang/appc-oam.yang
@@ -0,0 +1,137 @@
+/*
+ * Yang model for the OAM component of Application Controller (APP-C) component of ONAP
+ *
+ * This model is used to define the data and services of the OAM component of APP-C.
+ *
+ * The services exposed by this component are:
+ *
+ * get-metrics:
+ * Used to retrieve current metric data from APP-C.
+ *
+ */
+
+module appc-oam {
+
+ yang-version 1;
+ namespace "org:openecomp:appc:oam";
+ prefix appc-oam;
+ organization "Copyright 2017 AT&T Intellectual Property.";
+
+ description
+ "Defines the services and request/response requirements for the
+ APP-C OAM component.";
+
+ /*
+ * Note, the revision changes the package name of the generated java code. Do not
+ * change the revision unless you also update all references to the bindings.
+ */
+ revision "2017-03-03" {
+ description
+ "APP-C OAM interface version 1.5.00";
+ }
+
+ grouping common-header {
+ description "A common header for all APP-C requests";
+ container common-header {
+ description "A common header for all APP-C requests";
+
+ leaf originator-id {
+ description "originator-id an identifier of the calling system which can be
+ used addressing purposes, i.e. returning asynchronous response
+ to the proper destination over UEB (especially in case of multiple
+ consumers of APP-C APIs)";
+ type string;
+ mandatory true;
+ }
+
+ leaf request-id {
+ description "UUID for the request ID. An OSS/BSS identifier for the request
+ that caused the current action. Multiple API calls may be made
+ with the same request-id The request-id shall be recorded throughout
+ the operations on a single request";
+ type string;
+ mandatory true;
+ }
+
+ }
+ }
+
+ grouping status {
+ description "The specific response codes are to be aligned with ASDC reference
+ doc (main table removed to avoid duplication and digression from
+ main table). See ASDC and ECOMP Distribution Consumer Interface
+ Agreement";
+ container status {
+ description "The specific response codes are to be aligned with ASDC reference
+ doc (main table removed to avoid duplication and digression from
+ main table). See ASDC and ECOMP Distribution Consumer Interface
+ Agreement";
+ leaf code {
+ description "Response code";
+ type uint16;
+ mandatory true;
+ }
+ leaf message {
+ description "Response message";
+ type string;
+ mandatory true;
+ }
+ }
+ }
+
+ rpc get-metrics {
+ description "An operation to get list of registered Metrics in APP-C";
+ output {
+ list metrics {
+ key kpi-name;
+ description "KPI metrics definition";
+ leaf kpi-name {
+ description "metrics name";
+ type string;
+ mandatory true;
+ }
+ leaf last-reset-time {
+ description "Last reset time";
+ type string;
+ mandatory true;
+ }
+ list kpi-values {
+ key name;
+ description "KPI properties in form of key value pairs";
+ leaf name {
+ description "KPI property name";
+ type string;
+ }
+ leaf value {
+ description "KPI property value";
+ type string;
+ }
+ }
+ }
+ }
+ }
+
+ rpc stop {
+ description "An operation that disables appc-provider-lcm so that it no longer accepts LCM request. This
+ operation has no impact on queued and currently executing LCM request. A notification will be
+ sent out indicating the APP-C is idle once all LCM request have completed execution. ";
+ input {
+ uses common-header;
+ }
+ output {
+ uses common-header;
+ uses status;
+ }
+ }
+
+ rpc start {
+ description "An operation that enables appc-provider-lcm so that it can begin to accepts LCM request. ";
+ input {
+ uses common-header;
+ }
+ output {
+ uses common-header;
+ uses status;
+ }
+ }
+}