--- /dev/null
+
+/*
+ *
+ * Copyright 2016 RIFT.IO Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ */
+
+module rw-config-agent
+{
+ namespace "http://riftio.com/ns/riftware-1.0/rw-config-agent";
+ prefix "rw-config-agent";
+
+ import rw-pb-ext {
+ prefix "rwpb";
+ }
+
+ import ietf-inet-types {
+ prefix "inet";
+ }
+
+ import rwcal {
+ prefix "rwcal";
+ }
+
+ revision 2016-02-04 {
+ description
+ "Initial revision.";
+ }
+
+ typedef config-agent-account-type {
+ description "config agent account type";
+ type enumeration {
+ enum juju;
+ enum riftca;
+ }
+ }
+
+ container config-agent {
+ rwpb:msg-new ConfigAgent;
+
+ list account {
+ rwpb:msg-new ConfigAgentAccount;
+ key "name";
+
+ description "List of configuration agent accounts";
+
+ leaf name {
+ description "Name of this config agent account";
+ type string;
+ }
+
+ leaf account-type {
+ description
+ "Default account type is Rift Configuration Agent (RiftCA)";
+ type config-agent-account-type;
+ default "riftca";
+ }
+
+ choice config-agent-account-type {
+ case juju {
+ description
+ "Configure the VNF through Juju.";
+ container juju {
+ leaf ip-address {
+ description "Juju host IP address.";
+ type inet:ip-address;
+ }
+ leaf port {
+ description
+ "Juju host port number. Default 17070.";
+ type inet:port-number;
+ default 17070;
+ }
+ leaf user {
+ description
+ "User name to connect to Juju host. Default user-admin.";
+ type string;
+ default "user-admin" ;
+ }
+ leaf secret {
+ description
+ "Admin secret or password for Juju host.";
+ type string;
+ }
+ }
+ }
+ }
+ uses rwcal:connection-status;
+ }
+ }
+
+ rpc update-cfg-agent-status {
+ description "Begin config agent account connection status";
+ input {
+ leaf cfg-agent-account {
+ mandatory true;
+ description
+ "The config agent account name to update connection status for";
+ type string;
+ }
+ }
+ }
+}