4 * Copyright 2016-2017 RIFT.IO Inc
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
23 namespace "http://riftio.com/ns/riftware-1.0/rwsdnal";
30 import rw-yang-types {
42 import ietf-inet-types {
46 import ietf-yang-types {
56 "Update model to support projects.";
63 "RIFT RWSDN cloud data";
66 typedef sdn-connection-status-enum {
67 description "Connection status for the sdn account";
76 grouping connection-status {
77 container connection-status {
80 type sdn-connection-status-enum;
88 // uses connection-status;
90 typedef sdn-account-type {
91 description "SDN account type";
100 grouping sdn-provider-auth {
102 type sdn-account-type;
105 choice provider-specific-info {
135 default "rwsdn_mock";
143 leaf topology-source {
152 container openstack {
181 description "Domain of the OpenStack user";
184 leaf project-domain {
187 description "Domain of the OpenStack project";
197 default "rwsdn_openstack";
203 description "Certificate validatation policy in case of SSL/TLS connection";
210 augment "/rw-project:project" {
211 container sdn-accounts {
212 list sdn-account-list {
219 uses sdn-provider-auth;
220 uses connection-status;
225 augment "/rw-project:project" {
234 list vnf-chain-path {
238 description " Order of the VNF in VNFFG chain";
240 leaf service-function-type {
246 leaf transport-type {
258 type inet:ip-address;
261 type inet:port-number;
275 type inet:ip-address;
278 type inet:port-number;
282 description "SFF name useful for non OVS based SFF";
296 type inet:ip-address;
299 type inet:port-number;
307 type inet:ip-address;
310 type inet:port-number;
320 leaf classifier-name {
327 augment "/rw-project:project" {
328 container vnffg-rendered-paths {
329 list vnffg-rendered-path {
337 "Unique Identifier for the service path";
340 list rendered-path-hop {
347 "Location within the service path";
353 container service-function-forwarder {
356 "Service Function Forwarder name";
361 "Service Function Forwarder Data Plane IP address";
362 type inet:ip-address;
366 "Service Function Forwarder Data Plane port";
367 type inet:port-number;
375 augment "/rw-project:project" {
376 container vnffg-classifiers {
377 list vnffg-classifier {
398 container vnffg-metadata {
412 list match-attributes {
414 "List of match attributes.";
418 "Name for the Access list";
428 leaf source-ip-address {
430 "Source IP address.";
434 leaf destination-ip-address {
436 "Destination IP address.";
442 "Source port number.";
443 type inet:port-number;
446 leaf destination-port {
448 "Destination port number.";
449 type inet:port-number;
458 /* vim: set ts=2:sw=2: */