aboutsummaryrefslogtreecommitdiffstats
path: root/appc-sequence-generator/appc-sequence-generator-model
diff options
context:
space:
mode:
authorKalpesh Chaniyara <kalpeshkumar.chaniyara@amdocs.com>2017-08-15 23:40:34 +0530
committerPatrick Brady <pb071s@att.com>2017-08-18 10:47:29 -0700
commit5b7590935559fe9e286a703dc662a60b47b7ed1a (patch)
treea6047f527074406f30d0ba769a5c53a823e9c987 /appc-sequence-generator/appc-sequence-generator-model
parenta76f088b28738b03d3b3f01c71f11429b135ee2c (diff)
Initial commit for Sequence Generator
Added sequence generator for start and stop action with dependency model Removed java check style from json files from license maven plugin JIRA Issues : APPC-33,APPC-106 Issue-Id : APPC-106 Change-Id: I7f12d39b705d77d559790a10b914b8108f5faa5e Signed-off-by: Kalpesh Chaniyara <kalpeshkumar.chaniyara@amdocs.com>
Diffstat (limited to 'appc-sequence-generator/appc-sequence-generator-model')
-rw-r--r--appc-sequence-generator/appc-sequence-generator-model/pom.xml83
-rw-r--r--appc-sequence-generator/appc-sequence-generator-model/src/main/yang/sequence-generator.yang223
2 files changed, 306 insertions, 0 deletions
diff --git a/appc-sequence-generator/appc-sequence-generator-model/pom.xml b/appc-sequence-generator/appc-sequence-generator-model/pom.xml
new file mode 100644
index 000000000..8c492b046
--- /dev/null
+++ b/appc-sequence-generator/appc-sequence-generator-model/pom.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.openecomp.appc</groupId>
+ <artifactId>appc-sequence-generator</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>appc-sequence-generator-model</artifactId>
+ <name>appc-sequence-generator-model</name>
+ <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>
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.mdsal</groupId>
+ <artifactId>maven-sal-api-gen-plugin</artifactId>
+ <!--<version>${odl.yangtools.version}</version> -->
+ <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>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <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>
+ <version>${odl.ietf-inet-types.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.mdsal.model</groupId>
+ <artifactId>ietf-yang-types</artifactId>
+ <version>${odl.ietf-yang-types.version}</version>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/appc-sequence-generator/appc-sequence-generator-model/src/main/yang/sequence-generator.yang b/appc-sequence-generator/appc-sequence-generator-model/src/main/yang/sequence-generator.yang
new file mode 100644
index 000000000..6777dad63
--- /dev/null
+++ b/appc-sequence-generator/appc-sequence-generator-model/src/main/yang/sequence-generator.yang
@@ -0,0 +1,223 @@
+module sequence-generator {
+ yang-version 1;
+
+ namespace "org:openecomp:appc:sequencegenerator";
+ prefix sequencegenerator;
+
+ description
+ "Defines sequence generator api interface for App-C services";
+
+ revision "2017-07-06" {
+ description
+ "Initial draft";
+ }
+
+ grouping request-info {
+ container request-info{
+ leaf action {
+ type enumeration {
+ enum "Start";
+ enum "Stop";
+ }
+ }
+ leaf action-level {
+ type enumeration {
+ enum "vm";
+ enum "vnfc";
+ enum "vnf";
+ enum "vf-module";
+ }
+ }
+ container action-identifier {
+ leaf vnf-id {
+ description "identifies the VNF to which this action is to be applied(vnf-id uniquely identifies the service-instance referred to).";
+ type string;
+ }
+ leaf vnfc-name {
+ type string;
+ }
+ leaf vserver-id {
+ type string;
+ }
+ }
+ leaf payload {
+ description "An action-specific value opaque to the APPC handler.
+ The value can be any valid JSON type (primitive, object, collection of those two).
+ APPC will pass the value as raw JSON string";
+ type string;
+ }
+ }
+ }
+
+ grouping inventory-info {
+ container inventory-info {
+ container vnf-info {
+ leaf vnf-id {
+ type string;
+ }
+ leaf vnf-name {
+ type string;
+ }
+ leaf vnf-type {
+ type string;
+ }
+ list vm {
+ key "vserver-id";
+ leaf vserver-id {
+ type string;
+ }
+ container vnfc {
+ leaf vnfc-type {
+ type string;
+ }
+ leaf vnfc-name {
+ type string;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ grouping dependency-info {
+ container dependency-info {
+ list vnfcs {
+ leaf vnfc-type {
+ type string;
+ }
+ leaf mandatory {
+ type boolean;
+ }
+ leaf resilience {
+ type string;
+ }
+ leaf-list parents {
+ type string;
+ }
+ }
+ }
+ }
+
+ grouping tunable-parameters {
+ container tunable-parameters {
+ leaf strategy {
+ type enumeration {
+ enum "FORWARD";
+ enum "REVERSE";
+ }
+ }
+ leaf wait-time {
+ type uint16;
+ }
+ leaf retry-count {
+ type uint16;
+ }
+ }
+ }
+
+ grouping capabilities {
+ container capabilities {
+ leaf-list vnf {
+ type string;
+ }
+ leaf-list vf-module {
+ type string;
+ }
+ leaf-list vm {
+ type string;
+ }
+ leaf-list vnfc {
+ type string;
+ }
+ }
+ }
+
+ grouping response {
+ container status {
+ leaf code {
+ type uint16;
+ }
+ leaf message {
+ type string;
+ }
+ }
+ list transactions{
+ key "transaction-id";
+ leaf transaction-id{
+ type uint16;
+ }
+ leaf action{
+ type string;
+ }
+ leaf action-level{
+ type string;
+ }
+ container action-identifier{
+ leaf vserver-id {
+ type string;
+ }
+ leaf vnfc-name {
+ type string;
+ }
+ leaf vnf-id {
+ type string;
+ }
+ }
+ leaf payload{
+ type string;
+ }
+ leaf precheck-operator{
+ type string;
+ }
+ list precheck-options{
+ leaf pre-transaction-id{
+ type uint16;
+ }
+ leaf param-name{
+ type string;
+ }
+ leaf param-value{
+ type string;
+ }
+ leaf rule{
+ type string;
+ }
+ }
+ list responses{
+ leaf response-message{
+ type string;
+ }
+ container response-action{
+ leaf wait{
+ type uint16;
+ }
+ leaf retry{
+ type uint16;
+ }
+ leaf continue{
+ type boolean;
+ }
+ leaf stop{
+ type boolean;
+ }
+ leaf ignore{
+ type boolean;
+ }
+ }
+ }
+ }
+ }
+
+ rpc generate-sequence {
+ input{
+ uses request-info;
+ uses inventory-info;
+ uses dependency-info;
+ uses tunable-parameters;
+ uses capabilities;
+ }
+ output{
+ uses response;
+ }
+ }
+ } \ No newline at end of file