Cisco-IOS-XR-install-act

This module contains a collection of YANG definitions for Cisco IOS-XR install actions. Copyright (c) 2018-2021 by Cisco System...

  • Version: 2021-03-22

    Cisco-IOS-XR-install-act@2021-03-22


    
      module Cisco-IOS-XR-install-act {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-install-act";
    
        prefix install-act;
    
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-types {
          prefix csc;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
    Customer Service
    
    Postal: 170 West Tasman Drive
    San Jose, CA 95134
    
    Tel: +1 800 553-NETS
    
    E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
    for Cisco IOS-XR install actions.
    
    Copyright (c) 2018-2021 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2021-03-22" {
          description
            "7.4.1 release features:
    Ability to add a description to a commit.
    2019-12-10
      Addition of install-mode-type enum, deprecation of update-all leaf, and
    addition of tar to packages-source-type";
        }
    
        revision "2019-11-05" {
          description
            "Addition of INST-SHARED-OP-ID-TYPE for the return type of action RPCs";
        }
    
        revision "2019-10-03" {
          description
            "Addition of apply type enumeration and option for replace/source commands
    2019-10-01
    Made changes to be RFC6087 compliant";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2018-10-05" {
          description "IOS XR 7.0.1 revision.";
        }
    
        semver:module-version "1.2.0";
        semver:module-version "1.1.0";
        semver:module-version "1.1.0";
        semver:module-version "1.0.0";
    
        typedef replace-source-type {
          type enumeration {
            enum "local" {
              value 0;
              description
                "Install from a local file path";
            }
            enum "http" {
              value 1;
              description "Install over http";
            }
            enum "https" {
              value 2;
              description "Install over https";
            }
            enum "scp" {
              value 3;
              description "Install over scp";
            }
            enum "ftp" {
              value 4;
              description "Install over ftp";
            }
            enum "tftp" {
              value 5;
              description "Install over tftp";
            }
            enum "sftp" {
              value 6;
              description "Install over sftp";
            }
          }
          description "replace source type";
        }
    
        typedef packages-source-type {
          type enumeration {
            enum "local" {
              value 0;
              description
                "Install from a local directory or repository containing RPMs and/or
    tar files";
            }
            enum "http" {
              value 1;
              description "Install over http";
            }
            enum "https" {
              value 2;
              description "Install over https";
            }
            enum "scp" {
              value 3;
              description "Install over scp";
            }
            enum "ftp" {
              value 4;
              description "Install over ftp";
            }
            enum "tftp" {
              value 5;
              description "Install over tftp";
            }
            enum "sftp" {
              value 6;
              description "Install over sftp";
            }
            enum "any-configured-repository" {
              value 7;
              description
                "Install from any configured repository";
            }
            enum "configured-repository" {
              value 8;
              description
                "Install from the given repository";
            }
            enum "tar" {
              value 9;
              description
                "Install from a local tar file";
            }
          }
          description "packages source type";
        }
    
        typedef config-type {
          type enumeration {
            enum "ignore" {
              value 0;
              description
                "Ignore the configuration in the given ISO";
            }
            enum "merge" {
              value 1;
              description
                "Merge the configuration in the given ISO with existing
    configuration";
            }
            enum "replace" {
              value 2;
              description
                "Replace the existing configuration with the configuration
    in the given ISO";
            }
          }
          description "config type";
        }
    
        typedef apply-type {
          type enumeration {
            enum "restart" {
              value 0;
              description
                "Apply atomic change by restarting processes - only valid
    for the augmented 'install-apply' operation";
            }
            enum "reload" {
              value 1;
              description
                "Apply atomic change by reloading";
            }
            enum "least-impactful" {
              value 2;
              description
                "Apply atomic change by least impactful method";
            }
          }
          description "apply type";
        }
    
        typedef install-mode-type {
          type enumeration {
            enum "specified-packages" {
              value 0;
              description
                "Add the specified packages";
            }
            enum "upgrade-all" {
              value 1;
              description
                "Upgrade all packages that have a higher version available";
            }
            enum "install-all" {
              value 2;
              description
                "Install the highest compatible version of all packages
    from a specified source";
            }
          }
        }
    
        grouping INST-SHARED-OP-ID-TYPE {
          leaf op-id {
            type string;
            description
              "operation id of the triggered action";
          }
    
          leaf Error {
            type string;
            description "error information";
          }
        }  // grouping INST-SHARED-OP-ID-TYPE
    
        rpc install-replace {
          csc:xr-task "pkg-mgmt";
          description
            "Replace the existing software with that from the given ISO";
          input {
            leaf source-type {
              type replace-source-type;
              default "local";
              description
                "Type of source used to obtain the ISO";
            }
    
            leaf source {
              type string;
              mandatory true;
              description
                "Path to the location of the ISO";
            }
    
            leaf file {
              type string;
              mandatory true;
              description
                "Name of the ISO to install";
            }
    
            leaf commit {
              type boolean;
              default "false";
              description
                "Commit at the end of the replace operation, if the
    software is successfully applied";
            }
    
            leaf description {
              type string;
              description
                "Description to be stored for the transaction ID";
            }
    
            leaf config {
              type config-type;
              default "ignore";
              description
                "Action to take on any configuration present in the ISO";
            }
    
            leaf activation-type {
              type apply-type;
              default "least-impactful";
              description
                "Activate the software using the specified apply type";
            }
          }
    
          output {
            uses INST-SHARED-OP-ID-TYPE;
          }
        }  // rpc install-replace
    
        rpc install {
          csc:xr-task "pkg-mgmt";
          description
            "Install packages from a given source";
          input {
            container packages {
              description
                "Set of packages to install. Should be set only when 'install-mode'
    is 'specified-packages'";
              leaf-list packagename {
                type string;
                description "package name";
              }
            }  // container packages
    
            leaf update-all {
              type boolean;
              default "false";
              status deprecated;
              description
                "True to update all packages using the given source, False
    to only install or update the specified packages";
            }
    
            leaf source-type {
              type packages-source-type;
              default "local";
              description
                "Type of source used to obtain the packages";
            }
    
            leaf source {
              type string;
              description
                "Path to the location of the packages.  If source-type is
    'any-configured-repository' this field is unused, and if
    source-type is 'configured-repository' this should be the
    name of the repository to use.";
            }
    
            leaf activation-type {
              type apply-type;
              default "least-impactful";
              description
                "Activate the software using the specified apply type";
            }
    
            leaf install-mode {
              type install-mode-type;
              default "specified-packages";
              description
                "Mode of install operation";
            }
          }
    
          output {
            uses INST-SHARED-OP-ID-TYPE;
          }
        }  // rpc install
    
        rpc install-commit {
          csc:xr-task "pkg-mgmt";
          description
            "Commit the current software, such that it will persist over reload.";
          input {
            leaf description {
              type string;
              description
                "Description to be stored for the transaction ID";
            }
          }
    
          output {
            uses INST-SHARED-OP-ID-TYPE;
          }
        }  // rpc install-commit
      }  // module Cisco-IOS-XR-install-act
    

© 2023 YumaWorks, Inc. All rights reserved.