X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=appc-provider%2Fappc-provider-model%2Fsrc%2Fmain%2Fyang%2Fappc-provider-lcm.yang;h=c60ce1658297b06809a71d392c0e1fd998070d39;hb=f0318b256f3c94b98765569fa618878692a9949b;hp=a5947c4a4194c265d87c6bbf96109d37d58af722;hpb=ac97522c6eca08a4dd9c4b2486e07b89fb5d9d99;p=appc.git diff --git a/appc-provider/appc-provider-model/src/main/yang/appc-provider-lcm.yang b/appc-provider/appc-provider-model/src/main/yang/appc-provider-lcm.yang index a5947c4a4..c60ce1658 100644 --- a/appc-provider/appc-provider-model/src/main/yang/appc-provider-lcm.yang +++ b/appc-provider/appc-provider-model/src/main/yang/appc-provider-lcm.yang @@ -2,9 +2,11 @@ * ============LICENSE_START======================================================= * ONAP : APPC * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * 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. @@ -45,9 +47,6 @@ module appc-provider-lcm { yang-version 1; namespace "org:onap:appc:lcm"; prefix appc-provider-lcm; - organization "Copyright 2017 AT&T Intellectual Property."; - contact - "Dewayne Hafenstein "; description "Defines the services and request/response requirements for the ECOMP APP-C component."; @@ -74,7 +73,7 @@ module appc-provider-lcm { 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"; } } @@ -98,6 +97,7 @@ module appc-provider-lcm { enum "Terminate"; enum "SoftwareUpload"; enum "HealthCheck"; + enum "LicenseManagement"; enum "LiveUpgrade"; enum "Lock"; enum "Unlock"; @@ -124,7 +124,23 @@ module appc-provider-lcm { 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"; } @@ -222,6 +238,16 @@ module appc-provider-lcm { 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 @@ -492,6 +518,10 @@ module appc-provider-lcm { output { uses common-header; uses status; + leaf payload { + type payload; + mandatory false; + } } } @@ -516,6 +546,10 @@ module appc-provider-lcm { output { uses common-header; uses status; + leaf payload { + type payload; + mandatory false; + } } } @@ -539,6 +573,10 @@ module appc-provider-lcm { output { uses common-header; uses status; + leaf payload { + type payload; + mandatory true; + } } } @@ -562,6 +600,10 @@ module appc-provider-lcm { output { uses common-header; uses status; + leaf payload { + type payload; + mandatory false; + } } } @@ -585,6 +627,10 @@ module appc-provider-lcm { output { uses common-header; uses status; + leaf payload { + type payload; + mandatory true; + } } } @@ -608,6 +654,10 @@ module appc-provider-lcm { output { uses common-header; uses status; + leaf payload { + type payload; + mandatory false; + } } } @@ -631,6 +681,10 @@ module appc-provider-lcm { output { uses common-header; uses status; + leaf payload { + type payload; + mandatory false; + } } } @@ -662,6 +716,10 @@ module appc-provider-lcm { output { uses common-header; uses status; + leaf payload { + type payload; + mandatory false; + } } } @@ -777,30 +835,30 @@ module appc-provider-lcm { } } - rpc config-scaleout { - description "An operation to scaleout 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; + 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; + } + uses action-identifiers; + 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; + } } } - } rpc config-restore { description "An operation to restore the configurations of a virtual network @@ -963,6 +1021,10 @@ module appc-provider-lcm { output { uses common-header; uses status; + leaf payload { + type payload; + mandatory false; + } } } @@ -1144,6 +1206,10 @@ module appc-provider-lcm { output { uses common-header; uses status; + leaf payload { + type payload; + mandatory false; + } } } @@ -1167,6 +1233,10 @@ module appc-provider-lcm { output { uses common-header; uses status; + leaf payload { + type payload; + mandatory false; + } } } @@ -1304,9 +1374,486 @@ module appc-provider-lcm { } } + /********************************************************************************** + * 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; + } + } + } - /********************************************************************************** - * Additional RPCs added here... - **********************************************************************************/ + /********************************************************************************** + * 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; + } + } + + /********************************************************************************** + * 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... + **********************************************************************************/ }