Cisco-IOS-XE-install-rpc

Copyright (c) 2019-2021 by Cisco Systems, Inc. All rights reserved.

  • Version: 2021-07-01

    Cisco-IOS-XE-install-rpc@2021-07-01


    
      module Cisco-IOS-XE-install-rpc {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-install-rpc";
    
        prefix install-ios-xe-rpc;
    
        import cisco-semver {
          prefix cisco-semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
    
         Postal: 170 W Tasman Drive
         San Jose, CA 95134
    
         Tel: +1 1800 553-NETS
    
         E-mail: cs-yang@cisco.com";
    
        description
          "Copyright (c) 2019-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-07-01" {
          description
            "- Added optional leaf download timeout and vpn in
             install RPC for controller mode install workflow.
           - Added set-default RPC for SDWAN image workflow";
          reference
            "3.2.0";
    
        }
    
        revision "2021-03-01" {
          description
            "- Added one shot commit option in activate RPC.
           - Added issu option for applicable RPC";
          reference
            "3.1.0";
    
        }
    
        revision "2020-11-01" {
          description
            "Modified path length to 255";
          reference
            "3.0.0";
    
        }
    
        revision "2020-07-01" {
          description
            "Added install by profile type";
          reference
            "2.0.0";
    
        }
    
        revision "2020-03-01" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "3.2.0";
        cisco-semver:module-version "3.1.0";
        cisco-semver:module-version "3.0.0";
        cisco-semver:module-version "2.0.0";
        cisco-semver:module-version "1.0.0";
    
        typedef rollback-type {
          type enumeration {
            enum "rollback-to-base" {
              value 0;
              description
                "Rollback to base image";
            }
            enum "rollback-to-committed" {
              value 1;
              description
                "Rollback to committed image";
            }
            enum "rollback-to-id" {
              value 2;
              description
                "Rollback to previous roll back id";
            }
            enum "rollback-to-label" {
              value 3;
              description "Rollback to label";
            }
          }
          description "Rollback to options";
        }
    
        typedef install-type {
          type enumeration {
            enum "install-use-path" {
              value 0;
              description
                "Install using image path";
            }
            enum "install-use-profile" {
              value 1;
              description
                "Install using profile";
            }
          }
          description "Install type options";
        }
    
        typedef remove-type {
          type enumeration {
            enum "remove-use-version" {
              value 0;
              description
                "Option to remove by image version";
            }
            enum "remove-use-path" {
              value 1;
              description
                "Option to remove using image path";
            }
            enum "remove-use-inactive" {
              value 2;
              description
                "Option to remove inactive image";
            }
            enum "remove-use-profile" {
              value 3;
              description
                "Option to remove using profile";
            }
          }
          description "Remove type options";
        }
    
        typedef activate-type {
          type enumeration {
            enum "activate-use-version" {
              value 0;
              description
                "Option to activate using image version";
            }
            enum "activate-use-path" {
              value 1;
              description
                "Option to activate using image path";
            }
            enum "activate-use-profile" {
              value 2;
              description
                "Option to activate using profile";
            }
          }
          description "activate type options";
        }
    
        grouping controller-options {
          description
            "Controller mode options only";
          leaf vpn {
            type uint32;
            description
              "The VPN ID is used to indicate device to select the interface
             for the image download";
          }
        }  // grouping controller-options
    
        grouping install {
          description
            "Install download image, installing or upgrading package and
           activate software image. Installs image only or allows one shot operation
           option to install, activate and commit image in one step action";
          leaf uuid {
            type string;
            mandatory true;
            description
              "The UUID (universally unique identifier) is a string and is a textual
             representation of a UUID.
             UUID is used to uniquely identify the install action invoked via RPC
             and it is replayed back in the install progress notifications to correlate
             them back to the original install operation.";
          }
    
          leaf one-shot {
            type boolean;
            description
              "Software activate and commit in one shot";
          }
    
          leaf reloadfast {
            when "(../one-shot = 'true')";
            type boolean;
            description
              "Reload fast flag option is applicable in one shot image install request.
             This option allows device to reload in fast mode during image upgrade
             and activate in an applicable device.";
          }
    
          leaf issu {
            when "(../one-shot = 'true')";
            type boolean;
            description
              "Perform one shot In Service Software Upgrade (ISSU)";
          }
    
          container controller-mode-options {
            description
              "Controller mode options only";
            uses install-ios-xe-rpc:controller-options;
          }  // container controller-mode-options
    
          leaf download-timeout {
            type uint32;
            units "minutes";
            description
              "Download timeout is used on device from initiating image download request
             to complete from remote repository. The image download timeout value is
             in minutes and in range between 1 and 1440";
          }
    
          choice install-type-by-choice {
            mandatory true;
            description
              "Install image by choice";
            leaf path {
              type string {
                length "0..256";
              }
              mandatory true;
              description
                "Path to software image";
            }
            leaf name {
              type string;
              mandatory true;
              description
                "Install profile is used in the wireless image
                 upgrade workflow. Currently it is only used in EWC 9100
                 wireless platform for AP pre-image download using profile
                 on device to upgrade APs in network. Profile name is string";
            }
          }  // choice install-type-by-choice
        }  // grouping install
    
        grouping activate {
          description "Activate software image";
          leaf uuid {
            type string;
            mandatory true;
            description
              "The UUID (universally unique identifier) is a string and is a textual
             representation of a UUID.
             UUID is used to uniquely identify the install action invoked via RPC
             and it is replayed back in the install progress notifications to correlate
             them back to the original install operation.";
          }
    
          leaf smuid {
            type uint32;
            description "ID for patching image";
          }
    
          leaf auto-abort-timer-val {
            type uint32 {
              range "30 .. 1200";
            }
            units "minutes";
            description
              "Option to change default auto abort wait timer during image
             activate action. The timer value is in minutes and
             in range between 30 and 1200 minutes. Image activate will
             auto abort if action is not confirmed through commit.";
          }
    
          leaf one-shot {
            type boolean;
            description
              "Software activate and commit in one shot";
          }
    
          leaf issu {
            type boolean;
            description
              "Perform activation via In Service Software Upgrade (ISSU)";
          }
    
          choice activate-type-by-choice {
            mandatory true;
            description
              "Activate image by choice";
            leaf version {
              type string;
              mandatory true;
              description
                "Image version to activate";
            }
            leaf path {
              type string;
              mandatory true;
              description
                "Path to the software image";
            }
            leaf name {
              type string;
              mandatory true;
              description "Profile name";
            }
          }  // choice activate-type-by-choice
        }  // grouping activate
    
        grouping install-commit {
          description "Commit software image";
          leaf uuid {
            type string;
            mandatory true;
            description
              "The UUID (universally unique identifier) is a string and is a textual
             representation of a UUID.
             UUID is used to uniquely identify the install action invoked via RPC
             and it is replayed back in the install progress notifications to correlate
             them back to the original install operation.";
          }
        }  // grouping install-commit
    
        grouping remove {
          description "Remove software image";
          leaf uuid {
            type string;
            mandatory true;
            description
              "The UUID (universally unique identifier) is a string and is a textual
             representation of a UUID.
             UUID is used to uniquely identify the install action invoked via RPC
             and it is replayed back in the install progress notifications to correlate
             them back to the original install operation.";
          }
    
          leaf smuid {
            type uint32;
            description "ID for patching image";
          }
    
          choice remove-type-by-choice {
            mandatory true;
            description "Remove image by choice";
            leaf version {
              type string {
                length "0..128";
              }
              mandatory true;
              description
                "Image version to remove software image";
            }
            leaf path {
              type string {
                length "0..256";
              }
              mandatory true;
              description
                "Image path to remove software image";
            }
            leaf inactive {
              type boolean;
              mandatory true;
              description
                "Remove inactive software image";
            }
            leaf name {
              type string;
              mandatory true;
              description
                "Profile name to remove profile";
            }
          }  // choice remove-type-by-choice
        }  // grouping remove
    
        grouping deactivate {
          description
            "Deactivate software image";
          leaf uuid {
            type string;
            mandatory true;
            description
              "The UUID (universally unique identifier) is a string and is a textual
             representation of a UUID.
             UUID is used to uniquely identify the install action invoked via RPC
             and it is replayed back in the install progress notifications to correlate
             them back to the original install operation.";
          }
    
          leaf auto-abort-timer-val {
            type uint32 {
              range "30 .. 1200";
            }
            units "minutes";
            description
              "Option to change default auto abort wait timer during image
             deactivate action. The timer value is in minutes and
             in range between 30 and 1200 minutes. Image deactivate will
             auto abort if action is not confirmed through commit.";
          }
    
          leaf path {
            type string {
              length "0..256";
            }
            mandatory true;
            description
              "Path to the software image";
          }
    
          leaf issu {
            type boolean;
            description
              "Perform deactivate operation via In Service Software Upgrade (ISSU)";
          }
        }  // grouping deactivate
    
        grouping abort {
          description "Abort install image";
          leaf uuid {
            type string;
            mandatory true;
            description
              "The UUID (universally unique identifier) is a string and is a textual
             representation of a UUID.
             UUID is used to uniquely identify the install action invoked via RPC
             and it is replayed back in the install progress notifications to correlate
             them back to the original install operation.";
          }
    
          leaf issu {
            type boolean;
            description
              "Perform abort via In Service Software Upgrade (ISSU)";
          }
        }  // grouping abort
    
        grouping auto-abort-timer {
          description
            "Option to stop auto abort timer";
          leaf uuid {
            type string;
            mandatory true;
            description
              "The UUID (universally unique identifier) is a string and is a textual
             representation of a UUID.
             UUID is used to uniquely identify the install action invoked via RPC
             and it is replayed back in the install progress notifications to correlate
             them back to the original install operation.";
          }
        }  // grouping auto-abort-timer
    
        grouping rollback {
          description "install roll back action";
          leaf uuid {
            type string;
            mandatory true;
            description
              "The UUID (universally unique identifier) is a string and is a textual
             representation of a UUID.
             UUID is used to uniquely identify the install action invoked via RPC
             and it is replayed back in the install progress notifications to correlate
             them back to the original install operation.";
          }
    
          leaf issu {
            type boolean;
            description "ISSU rollback";
          }
    
          choice rollback-type-to-choice {
            mandatory true;
            description "Rollback to choice";
            leaf base {
              type boolean;
              mandatory true;
              description
                "Confirm roll back to base";
            }
            leaf commited {
              type boolean;
              mandatory true;
              description "Confirm roll back";
            }
            leaf rollback-id {
              type uint32;
              mandatory true;
              description "Rollback Id";
            }
            leaf rollback-label {
              type string;
              mandatory true;
              description "Rollback label";
            }
          }  // choice rollback-type-to-choice
        }  // grouping rollback
    
        grouping set-default {
          description
            "The set-default RPC sets the default image in controller mode. Controller
           mode supports more than one installed image and one of the images can
           be the assigned default image. In the event of factory reset, the device
           boots up using the default image";
          leaf version {
            type string {
              length "0..256";
            }
            mandatory true;
            description
              "Software image version to set as default";
          }
        }  // grouping set-default
    
        rpc install {
          description
            "Software install action command";
          input {
            uses install-ios-xe-rpc:install;
          }
        }  // rpc install
    
        rpc activate {
          description
            "Software activate action command";
          input {
            uses install-ios-xe-rpc:activate;
          }
        }  // rpc activate
    
        rpc install-commit {
          description
            "Software commit or upgrade-confirm command";
          input {
            uses install-ios-xe-rpc:install-commit;
          }
        }  // rpc install-commit
    
        rpc remove {
          description
            "Software remove action command";
          input {
            uses install-ios-xe-rpc:remove;
          }
        }  // rpc remove
    
        rpc deactivate {
          description
            "Software deactivate action command";
          input {
            uses install-ios-xe-rpc:deactivate;
          }
        }  // rpc deactivate
    
        rpc abort {
          description
            "Software abort action command";
          input {
            uses install-ios-xe-rpc:abort;
          }
        }  // rpc abort
    
        rpc auto-abort-timer {
          description
            "Option to stop auto abort timer";
          input {
            uses install-ios-xe-rpc:auto-abort-timer;
          }
        }  // rpc auto-abort-timer
    
        rpc rollback {
          description "Install rollback action";
          input {
            uses install-ios-xe-rpc:rollback;
          }
        }  // rpc rollback
    
        rpc set-default {
          description
            "The set-default RPC is used to set the default image in controller mode.
           This RPC is only applicable in controller mode. The default image will
           be set if this RPC executes successfully";
          input {
            uses install-ios-xe-rpc:set-default;
          }
        }  // rpc set-default
      }  // module Cisco-IOS-XE-install-rpc
    

© 2023 YumaWorks, Inc. All rights reserved.