+ /**********************************************************************************
+ * Define the VNF UpgradePostCheck service
+ **********************************************************************************/
+ rpc upgrade-post-check {
+ description "An operation to check the VNF upgrade has been successful completed and all processes are running properly.";
+ input {
+ uses common-header;
+ leaf action {
+ type action;
+ mandatory true;
+ }
+ uses action-identifiers;
+ leaf payload {
+ type payload;
+ mandatory true;
+ }
+ }
+ output {
+ uses common-header;
+ uses status;
+ leaf payload {
+ type payload;
+ mandatory true;
+ }
+ }
+ }
+
+ /**********************************************************************************
+ * Define the VNF UpgradeBackup service
+ **********************************************************************************/
+ rpc upgrade-backup {
+ description "An operation to do full backup of the VNF data prior to an upgrade.";
+ input {
+ uses common-header;
+ leaf action {
+ type action;
+ mandatory true;
+ }
+ uses action-identifiers;
+ leaf payload {
+ type payload;
+ mandatory true;
+ }
+ }
+ output {
+ uses common-header;
+ uses status;
+ }
+ }
+
+ /**********************************************************************************
+ * Define the VNF UpgradeBackout service
+ **********************************************************************************/
+ rpc upgrade-backout {
+ description "An operation does a backout after an UpgradeSoftware is completed (either successfully or unsuccessfully).";
+ input {
+ uses common-header;
+ leaf action {
+ type action;
+ mandatory true;
+ }
+ uses action-identifiers;
+ leaf payload {
+ type payload;
+ mandatory true;
+ }
+ }
+ output {
+ uses common-header;
+ uses status;
+ }
+ }
+
+ /**********************************************************************************
+ * Define the rollback service
+ **********************************************************************************/
+ rpc rollback {
+ description "An operation to rollback to particular snapshot of a virtual network function (or VM)";
+ input {
+ uses common-header;
+ leaf action {
+ type action;
+ mandatory true;
+ }
+ uses action-identifiers;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
+ leaf identity-url {
+ type string;
+ mandatory true;
+ }
+ leaf snapshot-id {
+ type string;
+ mandatory true;
+ }
+ }
+ output {
+ uses common-header;
+ uses status;
+ }
+ }
+
+
+ /**********************************************************************************
+ * Additional RPCs added here...
+ **********************************************************************************/
+
+
+ /**********************************************************************************
+ * Define the sync service
+ **********************************************************************************/
+ rpc sync {
+ description "An operation to sync the configurations of a virtual network function (or VM)";
+ input {
+ uses common-header;
+ leaf action {
+ type action;
+ mandatory true;
+ }
+ uses action-identifiers;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
+ }
+ output {
+ uses common-header;
+ uses status;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
+ }
+ }
+
+ /**********************************************************************************
+ * Define the terminate service
+ **********************************************************************************/
+ rpc terminate {
+ description "An operation to terminate the configurations of a virtual network function (or VM)";
+ input {
+ uses common-header;
+ leaf action {
+ type action;
+ mandatory true;
+ }
+ uses action-identifiers;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
+ }
+ output {
+ uses common-header;
+ uses status;
+ }
+ }
+
+
+ rpc configure {
+ description "An operation to configure the configurations of a virtual network
+ function (or VM)";
+ input {
+ uses common-header;
+ leaf action {
+ type action;
+ mandatory true;
+ }
+ uses action-identifiers;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
+ }
+ output {
+ uses common-header;
+ uses status;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
+ }
+ }
+
+ rpc config-modify {
+ description "Use the ModifyConfig command when a full configuration cycle is either not required
+ or is considered too costly. The ModifyConfig LCM action affects only a subset of the
+ total configuration data of a VNF. The set of configuration parameters to be affected
+ is a subset of the total configuration data of the target VNF type. The payload Stop
+ Application must contain the configuration parameters to be modified and their values.
+ A successful modify returns a success response. A failed modify returns a failure
+ response and the specific failure messages in the response payload Stop Application";
+ input {
+ uses common-header;
+ leaf action {
+ type action;
+ mandatory true;
+ }
+ uses action-identifiers;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
+ }
+ output {
+ uses common-header;
+ uses status;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
+ }
+ }
+
+ rpc config-scale-out {
+ description "An operation to Modify the configuration or other action to support
+ a ConfigScaleOut of a VNF.";
+ input {
+ uses common-header;
+ leaf action {
+ type action;
+ mandatory true;
+ }