Cisco-IOS-XE-verify-rpc

This module contains a collection of YANG definitions for Verify RPC. Copyright (c) 2021 by Cisco Systems, Inc. All rights reser...

  • Version: 2021-07-01

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


    
      module Cisco-IOS-XE-verify-rpc {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-verify-rpc";
    
        prefix verify-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
          "This module contains a collection of YANG definitions for
         Verify RPC.
         Copyright (c) 2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-07-01" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "1.0.0";
    
        typedef verify-action-hash-method {
          type enumeration {
            enum "verify-action-md5" {
              value 0;
              description
                "MD5 Hash calculation algorithm";
            }
            enum "verify-action-sha512" {
              value 1;
              description
                "SHA512 Hash calculation algorithm";
            }
          }
          description
            "Express algorithm of checksum";
        }
    
        grouping verify-action-file-details {
          description "Top level global type";
          leaf file-path {
            type string {
              length "1..500" {
                error-message
                  "Invalid string length";
                error-app-tag
                  "Invalid-string-length";
                reference
                  "Test string length";
    
              }
              pattern
                '(crashinfo(-[1-9])?:|flash(-[1-9])?:|bootflash:|cns:|crashinfo:|ftp:|tftp:|http:|https:|nvram:|scp:|rcp:|sftp:|system:|tar:|tmpsys:|webui:|stby-(flash|crashinfo|nvram|rcsf):)[-A-Za-z_.0-9/]*[-A-Za-z_0-9]' {
                error-message "Invalid filename";
                error-app-tag "Invalid-filename";
                reference
                  "Test file system type or name";
    
              }
            }
            mandatory true;
            description "the file path";
          }
    
          leaf hash-algo {
            type verify-action-hash-method;
            mandatory true;
            description
              "hashing algorithm to be used";
          }
    
          leaf hash {
            type string {
              length "1..128" {
                error-message
                  "Invalid string length";
                error-app-tag
                  "Invalid-string-length";
                reference
                  "Test string length";
    
              }
            }
            description "hash to compare with";
          }
        }  // grouping verify-action-file-details
    
        grouping verify-response {
          description
            "Response to action request.";
          leaf uuid {
            type string;
            description
              "The UUID is unique identifier generated per request. This is used
             in combination with event model, where event notification provide request specific UUID in it.
             This is useful in matching a  request with event notification.";
          }
        }  // grouping verify-response
    
        rpc verify {
          description
            "This RPC is to be used for calculating checksum of a given file.
           Also one can provide previously calculated hash and match against the given file.";
          input {
            uses verify-rpc:verify-action-file-details;
          }
    
          output {
            uses verify-rpc:verify-response;
          }
        }  // rpc verify
      }  // module Cisco-IOS-XE-verify-rpc
    

© 2023 YumaWorks, Inc. All rights reserved.