summaryrefslogtreecommitdiffstats
path: root/lcm/model/src/main/yang/lcm.yang
diff options
context:
space:
mode:
Diffstat (limited to 'lcm/model/src/main/yang/lcm.yang')
-rw-r--r--lcm/model/src/main/yang/lcm.yang1412
1 files changed, 0 insertions, 1412 deletions
diff --git a/lcm/model/src/main/yang/lcm.yang b/lcm/model/src/main/yang/lcm.yang
deleted file mode 100644
index 188068a68..000000000
--- a/lcm/model/src/main/yang/lcm.yang
+++ /dev/null
@@ -1,1412 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP : APPC
- * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Copyright (C) 2017 Amdocs
- * =============================================================================
- * 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.
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * ============LICENSE_END=========================================================
- */
-
-/*
- * Yang model for the Application Controller (APP-C) component of ECOMP
- *
- * This model is used to define the data and services of the Application Controller
- * component of ECOMP. The APP-C controller initiates the processing of directed
- * graphs, which define the actual process implementations used. The name of the
- * directed graph is set by properties and cannot be changed dynamically.
- *
- * The services exposed by this provider are:
- *
- * restart-vnf:
- * Used to request a restart of a virtual network function (a VM).
- *
- * rebuild-vnf:
- * Used to request a rebuild of a virtual network function (a VM).
- *
- */
-
-module LCM {
-
- yang-version 1;
- namespace "org:onap:ccsdk:sli:northbound:lcm";
- prefix lcm;
-
- description
- "Defines the services and request/response requirements for the CCSDK LCM component.";
-
- /*
- * Note, the revision changes the package name of the generated java code. Do not
- * change the revision unless you also update all references to the bindings.
- */
- revision "2018-03-29" {
- description
- "CCSDK LCM interface version 0.2.1";
- }
-
- /**********************************************************************************
- * Data type definitions
- *
- * The following data type definitions are used to define common data structures,
- * define constraints, or to impart special meanings to data objects related to the
- * APP-C controller functions.
- **********************************************************************************/
-
- typedef ZULU {
- description "Define a common definition of a time stamp (expressed as a formatted
- 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";
- }
- }
-
- typedef payload {
- type string ;
- description "The payload can be any valid JSON string value. Json escape characters need to be added when required to include an inner json within the payload to make it a valid json string value";
- }
-
- typedef action {
- type enumeration {
- enum "Restart";
- enum "Rebuild";
- enum "Migrate";
- enum "Evacuate";
- enum "Snapshot";
- enum "Rollback";
- enum "Sync";
- enum "Audit";
- enum "Stop";
- enum "Start";
- enum "Terminate";
- enum "SoftwareUpload";
- enum "HealthCheck";
- enum "LiveUpgrade";
- enum "Lock";
- enum "Unlock";
- enum "Test";
- enum "CheckLock";
- enum "Configure";
- enum "ConfigModify";
- enum "ConfigScaleOut";
- enum "ConfigRestore";
- enum "ConfigBackup";
- enum "ConfigBackupDelete";
- enum "ConfigExport";
- enum "StopApplication";
- enum "StartApplication";
- enum "QuiesceTraffic";
- enum "ResumeTraffic";
- enum "DistributeTraffic";
- enum "UpgradePreCheck";
- enum "UpgradeSoftware";
- enum "DownloadNESw";
- enum "ActivateNESw";
- enum "UpgradePostCheck";
- enum "UpgradeBackup";
- enum "UpgradeBackout";
- enum "ActionStatus";
- enum "Query";
- enum "Reboot";
- enum "AttachVolume";
- enum "DetachVolume";
-
- }
- description "The action to be taken by APP-C, e.g. Restart, Rebuild, Migrate";
- }
-
- typedef vm-state {
- description "The state of a VM";
- type enumeration {
- enum "active";
- enum "standby";
- enum "inactive";
- enum "unknown";
- }
- }
-
- typedef vm-status {
- description "The status of a VM";
- type enumeration {
- enum "healthy";
- enum "unhealthy";
- enum "unknown";
- }
- }
-
-
- /**********************************************************************************
- * Basic manipulation of a VNF (or VM) will typically include querying the current
- * state, restarting, rebuilding, stopping, starting, etc. In all of these basic
- * "state"-type operations, the services require the identification of the VNF to
- * be operated on, and the region or LCP that contains that resource. This
- * information is used across all of these services, so it has been defined as a
- * common structure here and is referenced in the appropriate RPC definitions.
- **********************************************************************************/
-
-
- /**********************************************************************************
- * All requests will include this standard header
- *
- * The standard request header is used to define a correlation identification for
- * the request that is returned on all responses. This correlation identifier
- * (called the service-request-id) is meaningful to the caller and is included on
- * all responses from the services.
- **********************************************************************************/
-
- /**********************************************************************************
- * All responses will include this standard header
- *
- * The standard response header includes the time of completion as well as a
- * success|failure indication
- **********************************************************************************/
-
- grouping common-header {
- description "A common header for all APP-C requests";
- container common-header {
- description "A common header for all APP-C requests";
- leaf timestamp {
- description "timestamp is in ISO 8601 timestamp format ZULU offset";
- type ZULU;
- mandatory true;
- }
-
- leaf api-ver {
- description "api-ver is the API version identifier. A given release of APPC
- should support all previous versions of APPC API (correlate with
- general requirements)";
- type string {
- pattern "[2]\.\d\d" {
- error-message "API Version 2.XX is supported at this end point";
- }
- }
- mandatory true;
- }
-
- leaf originator-id {
- description "originator-id an identifier of the calling system which can be
- used addressing purposes, i.e. returning asynchronous response
- to the proper destination over DMaaP (especially in case of multiple
- consumers of APP-C APIs)";
- type string;
- mandatory true;
- }
-
- leaf request-id {
- description "UUID for the request ID. An OSS/BSS identifier for the request
- that caused the current action. Multiple API calls may be made
- with the same request-id The request-id shall be recorded throughout
- the operations on a single request";
- type string;
- mandatory true;
- }
-
- leaf sub-request-id {
- description "Uniquely identifies a specific LCM action. It is persistent over
- the life-cycle of a single request";
- type string;
- mandatory false;
- }
-
-
- /**********************************************************************************
- * Flags are generic flags that apply to any and all commands, all are optional
- * force = TRUE/FALSE - Execute command even if target is in unstable (i.e. locked, transiting, etc)
- * state. Specific behaviour of forced commands varies, but implies cancellation
- * of previous command and an override by the new command. The FALSE value is
- * used by default.
- * ttl = <0....N> - The timeout value for command execution, expressed in seconds
- * mode = EXCLUSIVE/NORMAL - defines execution mode as follows:
- * - EXCLUSIVE ? on encountering an exclusive command, the APP-C will:
- * * Cease accepting additional command requests
- * * Complete execution of outstanding commands
- * * Execute the exclusive command to completion
- * * Optionally report the result of the command
- * * Optionally resume command acceptance and processing
- * - NORMAL - Obverse of EXCLUSIVE, the default one.
- **********************************************************************************/
- container flags {
- description "Flags are generic flags that apply to any and all commands, all are optional";
- leaf mode {
- type enumeration {
- enum "EXCLUSIVE";
- enum "NORMAL";
- }
- description "EXCLUSIVE (accept no queued requests on this VNF while processing)
- or NORMAL (queue other requests until complete)";
- mandatory false;
- }
- leaf force {
- type enumeration {
- enum "TRUE";
- enum "FALSE";
- }
- description "TRUE/FALSE - Execute action even if target is in unstable (i.e.
- locked, transiting, etc.) state";
- mandatory false;
- }
- leaf ttl {
- description "<0....N> - The timeout value (expressed in seconds) for action
- execution, between action being received by APPC and action initiation";
- type uint16;
- mandatory false;
- }
- }
- }
- }
-
-
- grouping action-identifiers {
- description "A block containing the action arguments. These are used to specify
- the object upon which APP-C LCM command is to operate";
- container action-identifiers {
- description "A block containing the action arguments. These are used to specify
- the object upon which APP-C LCM command is to operate";
- leaf service-instance-id {
- description "identifies a specific service the command refers to. When multiple
- APP-C instances are used and applied to a subset of services,
- this will become significant . The field is mandatory when the
- vnf-id is empty";
- type string;
- mandatory false;
- }
- leaf vnf-id {
- description "identifies the VNF to which this action is to be applied(vnf-id
- uniquely identifies the service-instance referred to). Note that
- some actions are applied to multiple VNFs in the same service.
- When this is the case, vnf-id may be left out, but service-instance-id
- must appear. The field is mandatory when service-instance-id is
- empty";
- type string;
- mandatory false;
- }
- leaf vf-module-id {
- description "identifies the VF module to which this action is to be applied.";
- type string;
- mandatory false;
- }
- leaf vnfc-name {
- description "identifies the VNFC to which this action is to be applied. Some
- actions apply only to a component within a VNF (e.g. RESTART is
- sometimes applied to on VM only). In such a case, the name of
- the VNFC is used to search for the component within the VNF";
- type string;
- mandatory false;
- }
- leaf vserver-id {
- description "identifies a specific VM within the given service/vnf to which
- this action is to be applied";
- type string;
- mandatory false;
- }
- leaf pnf-name {
- description "identifies the PNF to which this action is to be applied.";
- type string;
- mandatory false;
- }
- }
- }
-
-
- grouping status {
- description "The specific response codes are to be aligned with SDC reference doc
- (main table removed to avoid duplication and digression from main table).
- See SDC and ECOMP Distribution Consumer Interface Agreement";
- container status {
- description "The specific response codes are to be aligned with SDC reference doc
- (main table removed to avoid duplication and digression from main table).
- See SDC and ECOMP Distribution Consumer Interface Agreement";
- leaf code {
- description "Response code";
- type uint16;
- mandatory true;
- }
- leaf message {
- description "Response message";
- type string;
- mandatory true;
- }
- }
- }
-
- typedef lcm-action-status {
- type enumeration {
- enum "IN_PROGRESS";
- enum "SUCCESSFUL";
- enum "FAILED";
- enum "NOT_FOUND";
- enum "ABORTED";
- enum "MULTIPLE_REQUESTS_FOUND";
- }
- description "The status of the requested LCM action";
- }
-
- /**********************************************************************************
- * Define the restart service
- **********************************************************************************/
- rpc restart {
- description "An operation to restart 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;
- }
- }
-
- /**********************************************************************************
- * Define the rebuild service
- **********************************************************************************/
- rpc rebuild {
- description "An operation to rebuild 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;
- }
- }
-
- /**********************************************************************************
- * Define the migrate service
- **********************************************************************************/
- rpc migrate {
- description "An operation to migrate 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;
- }
- }
-
- /**********************************************************************************
- * Define the evacuate service
- **********************************************************************************/
- rpc evacuate {
- description "An operation to evacuate 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;
- }
- }
-
- /**********************************************************************************
- * Define the snapshot service
- **********************************************************************************/
- rpc snapshot {
- description "An operation to create a 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;
- }
- }
- output {
- uses common-header;
- uses status;
- leaf snapshot-id {
- type string;
- }
- }
- }
- /**********************************************************************************
- * Define the VNF quiesce traffic service
- **********************************************************************************/
- rpc quiesce-traffic {
- description "An operation to stop traffic gracefully on the VF.
- It stops traffic gracefully without stopping the application";
- 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 resume traffic service
- **********************************************************************************/
- rpc resume-traffic {
- description "An operation to resume traffic gracefully on the VF.
- It resumes traffic gracefully without stopping the application";
- 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 distribute traffic service
- **********************************************************************************/
- rpc distribute-traffic {
- description "An operation to distribute traffic gracefully on the VF.
- It distributes traffic gracefully without stopping the application";
- 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 UpgradePreCheck service
- **********************************************************************************/
- rpc upgrade-pre-check {
- description "An operation to check that the VNF has the correct software version needed for a software 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;
- leaf payload {
- type payload;
- mandatory true;
- }
- }
- }
-
- /**********************************************************************************
- * Define the VNF UpgradeSoftware service
- **********************************************************************************/
- rpc upgrade-software {
- description "An operation to upgrade the target VNF to a new version and expected that the VNF is in a quiesced status .";
- 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 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;
- }
- }
- }
-
- /**********************************************************************************
- * 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 false;
- }
- leaf snapshot-id {
- type string;
- mandatory false;
- }
- }
- output {
- uses common-header;
- uses status;
- leaf payload {
- type payload;
- mandatory false;
- }
- }
- }
-
-
- /**********************************************************************************
- * 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;
- }
- uses action-identifiers;
- leaf payload {
- type payload;
- mandatory true;
- }
- }
- 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
- 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 test service
- **********************************************************************************/
- rpc test {
- description "An operation to test 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;
- }
- }
-
- /**********************************************************************************
- * Define the stop service
- **********************************************************************************/
- rpc stop {
- description "An operation to stop 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 start {
- description "An operation to start 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;
- }
- }
-
- /**********************************************************************************
- * Define the audit service
- **********************************************************************************/
- rpc audit {
- description "An operation to audit 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 SoftwareUpload vSCP service
- **********************************************************************************/
- rpc software-upload {
- description "An operation to upload a new version of vSCP image to vSCP for updating it";
- 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;
- }
- }
-
- /**********************************************************************************
- * Define the PreHealthCheck vSCP service
- **********************************************************************************/
- rpc health-check {
- description "An operation to perform health check of vSCP prior its upgrading";
- 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 true;
- }
-
- }
- }
-
-
- /**********************************************************************************
- * Define the Upgrade vSCP service
- **********************************************************************************/
- rpc live-upgrade {
- description "An operation to perform upgrade of vSCP";
- 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;
- }
- }
-
-
- /**********************************************************************************
- * Define the VNF lock service
- **********************************************************************************/
- rpc lock {
- description "An operation to perform VNF lock operation";
- 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;
- }
- }
-
- /**********************************************************************************
- * Define the VNF unlock service
- **********************************************************************************/
- rpc unlock {
- description "An operation to perform VNF unlock operation";
- 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;
- }
- }
-
- /**********************************************************************************
- * Define the VNF check lock service
- **********************************************************************************/
- rpc check-lock {
- description "An operation to check VNF lock status";
- input {
- uses common-header;
- leaf action {
- type action;
- mandatory true;
- }
- uses action-identifiers;
- }
- output {
- uses common-header;
- uses status;
- leaf locked {
- type enumeration {
- enum "TRUE";
- enum "FALSE";
- }
- description "TRUE/FALSE - returns TRUE when the given VNF was locked, otherwise returns FALSE";
- mandatory false;
- }
- }
- }
-
-
- rpc config-backup {
- description "An operation to Backup 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-backup-delete {
- description "An operation to Delete backup configurations of a virtual network
- function (or VM)";
- input {
- uses common-header;
- leaf action {
- type action;
- mandatory true;
- }
- uses action-identifiers;
- }
- output {
- uses common-header;
- uses status;
- leaf payload {
- type payload;
- mandatory false;
- }
- }
- }
-
- rpc config-export {
- description "An operation to Export configurations of a virtual network function
- (or VM)";
- input {
- uses common-header;
- leaf action {
- type action;
- mandatory true;
- }
- uses action-identifiers;
- }
- output {
- uses common-header;
- uses status;
- }
- }
- rpc stop-application {
- description "An operation to Stop Application traffic to a virtual network function";
- 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;
- }
- }
-
- /**********************************************************************************
- * Define the VNF Start Application service
- **********************************************************************************/
- rpc start-application {
- description "An operation to perform VNF Start Application operation";
- 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;
- }
- }
-
-
- /**********************************************************************************
- * Gets the current state of the previously submitted LCM request
- **********************************************************************************/
- rpc action-status {
- description "An operation to get the current state of the previously submitted LCM request";
- 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;
- }
- }
- }
-
- /**********************************************************************************
- * Define the VNF Query service
- **********************************************************************************/
- rpc query {
- description "An operation to query the status of a targe VNF.
- Returns information on each VM, including state (active or standby)
- and status (healthy or unhealthy)";
- input {
- uses common-header;
- leaf action {
- type action;
- mandatory true;
- }
- uses action-identifiers;
- }
- output {
- uses common-header;
- uses status;
- list query-results {
- leaf vserver-id {
- description "Identifier of a VM";
- type string;
- mandatory true;
- }
- leaf vm-state {
- description "The state of the VM";
- type vm-state;
- mandatory true;
- }
- leaf vm-status {
- description "the status of the VM";
- type vm-status;
- mandatory true;
- }
- }
- }
- }
-
- /**********************************************************************************
- * Define the Reboot service
- **********************************************************************************/
- rpc reboot {
- description "An operation to reboot a specified 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;
- }
- }
-
- /**********************************************************************************
- * Define the VM attach volume service
- **********************************************************************************/
- rpc attach-volume {
- description "An operation to attach a cinder volume to a VM";
- 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 VM detach volume service
- **********************************************************************************/
- rpc detach-volume {
- description "An operation to detach a cinder volume from a VM";
- 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...
- **********************************************************************************/
-}