* Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
+ * ================================================================================
+ * Modifications Copyright (C) 2018-2019 Orange Nokia
* =============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
string) as follows yyyy-MM-ddTHH:mm:ss.SSSSSSSSZ";
type string {
length "16..28";
- pattern "[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}T[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}.[0-9]{1,6}Z";
+ pattern "[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}T[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2}[.][0-9]{1,6}Z";
}
}
enum "Terminate";
enum "SoftwareUpload";
enum "HealthCheck";
+ enum "LicenseManagement";
enum "LiveUpgrade";
enum "Lock";
enum "Unlock";
enum "Reboot";
enum "AttachVolume";
enum "DetachVolume";
-
+ enum "PreConfigure";
+ enum "GetConfig";
+ enum "DistributeTraffic";
+ enum "DistributeTrafficCheck";
+ enum "PostRebuild";
+ enum "PreRebuild";
+ enum "PreEvacuate";
+ enum "PostEvacuate";
+ enum "PreMigrate";
+ enum "PostMigrate";
+ enum "Provisioning";
+ enum "StartTraffic";
+ enum "StatusTraffic";
+ enum "StopTraffic";
+ enum "ConfigScaleIn";
+ enum "DownloadNESw";
+ enum "ActivateNESw";
}
description "The action to be taken by APP-C, e.g. Restart, Rebuild, Migrate";
}
mandatory false;
}
+ leaf x-onap-requestorid {
+ description "This is the user who initiated the LCM action. The content of the
+ header should be in the format of attuid@domain or mechid@domain.
+ If id or domain is missing, return an error. This parameter is
+ mandatory for v2.01 and optional for v2.00. The Yang model has it as
+ optional and software makes determination";
+ type string;
+ mandatory false;
+ }
+
/**********************************************************************************
* Flags are generic flags that apply to any and all commands, all are optional
output {
uses common-header;
uses status;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
}
}
output {
uses common-header;
uses status;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
}
}
output {
uses common-header;
uses status;
+ leaf payload {
+ type payload;
+ mandatory true;
+ }
}
}
output {
uses common-header;
uses status;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
}
}
output {
uses common-header;
uses status;
+ leaf payload {
+ type payload;
+ mandatory true;
+ }
}
}
output {
uses common-header;
uses status;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
}
}
output {
uses common-header;
uses status;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
}
}
output {
uses common-header;
uses status;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
}
}
uses action-identifiers;
leaf payload {
type payload;
- mandatory true;
+ mandatory false;
}
}
output {
output {
uses common-header;
uses status;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
}
}
output {
uses common-header;
uses status;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
}
}
output {
uses common-header;
uses status;
+ leaf payload {
+ type payload;
+ mandatory false;
+ }
}
}
}
}
+ /**********************************************************************************
+ * Define the PreConfigure service
+ **********************************************************************************/
+ rpc pre-configure {
+ description "An operation to retrieve the current config";
+ 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 false;
+ }
+ }
+ }
+
+ /**********************************************************************************
+ * Define the VNF GetConfig service
+ **********************************************************************************/
+ rpc get-config {
+ description "An operation to retrieve the current running config";
+ 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 false;
+ }
+ }
+ }
+ /**********************************************************************************
+ * Define the traffic distribution service
+ **********************************************************************************/
+ rpc distribute-traffic {
+ description "An operation to distribute traffic between VMs";
+ 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;
+ }
+ }
- /**********************************************************************************
- * Additional RPCs added here...
- **********************************************************************************/
+ /**********************************************************************************
+ * Define the distribute traffic check service
+ **********************************************************************************/
+ rpc distribute-traffic-check {
+ description "An operation to check conditions and the result of DistributeTraffic.";
+ 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 PreRebuild service
+ **********************************************************************************/
+ rpc pre-rebuild {
+ description "An operation to perform prerequisite steps before a rebuild action";
+ 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 false;
+ }
+ }
+ }
+
+ /**********************************************************************************
+ * Define the PostRebuild service
+ **********************************************************************************/
+ rpc post-rebuild {
+ description "An operation to perform subsequent steps after a rebuild action";
+ 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 false;
+ }
+ }
+ }
+
+ /**********************************************************************************
+ * Define the PreEvacuate service
+ **********************************************************************************/
+ rpc pre-evacuate {
+ description "An operation to perform prerequisite steps before an evacuate action";
+ 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 PostEvacuate service
+ **********************************************************************************/
+ rpc post-evacuate {
+ description "An operation to perform postevacuate on specified Ansible virtual machine (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 PreMigrate service
+ **********************************************************************************/
+ rpc pre-migrate {
+ description "An operation to perform premigrate on specified Ansible virtual machine (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 PostMigrate service
+ **********************************************************************************/
+ rpc post-migrate {
+ description "An operation to perform postmigrate on specified Ansible virtual machine (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 StartTraffic service
+ **********************************************************************************/
+ rpc start-traffic {
+ description "An operation to start a traffic action on specified Ansible virtual machine (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 StatusTraffic service
+ **********************************************************************************/
+ rpc status-traffic {
+ description "An operation to perform status-traffic on specified Ansible virtual machine (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 StopTraffic service
+ **********************************************************************************/
+ rpc stop-traffic {
+ description "An operation to stop an in-process traffic action";
+ 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 VNF provisioning service
+ **********************************************************************************/
+ rpc provisioning {
+ description "An vnf operation for provisioning";
+ 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 false;
+ }
+ }
+ }
+
+ /**********************************************************************************
+ * Define the VNF LicenseManagement service
+ **********************************************************************************/
+ rpc license-management {
+ description "An vnf operation for provisioning";
+ 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 false;
+ }
+ }
+ }
+
+ /**********************************************************************************
+ * Define the VNF ConfigScaleIn service
+ **********************************************************************************/
+ rpc config-scale-in {
+ description "An operation to Modify the configuration or other action to support
+ a ConfigScaleIn of a VNF.";
+ 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 downloadNESw operation
+ **********************************************************************************/
+ rpc download-n-e-sw {
+ description "An operation to download NE software";
+ 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 activateNESw operation
+ **********************************************************************************/
+ rpc activate-n-e-sw {
+ description "An operation to activate NE software";
+ 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;
+ }
+ }
+ }
+
+ /**********************************************************************************
+ * Additional RPCs added here...
+ **********************************************************************************/
}