Cisco-IOS-XR-install-augmented-oper

This module contains a collection of YANG definitions for Cisco IOS-XR install-augmented package operational data. This module ...

  • Version: 2021-03-22

    Cisco-IOS-XR-install-augmented-oper@2021-03-22


    
      module Cisco-IOS-XR-install-augmented-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-install-augmented-oper";
    
        prefix install-augmented-oper;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        include Cisco-IOS-XR-install-augmented-oper-sub2 {
          revision-date "2021-03-22";
        }
        include Cisco-IOS-XR-install-augmented-oper-sub1 {
          revision-date "2021-03-22";
        }
    
        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-augmented package operational data.
    
    This module contains definitions
    for the following management objects:
      install: Install operational data
    
    Copyright (c) 2013-2021 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2021-03-22" {
          description
            "7.4.1 release features.
    2020-09-30
      7.3.1 release features.";
        }
    
        revision "2020-05-12" {
          description
            "Removal of compound from enum naming conventions to avoid confusion.
    2019-12-11
    Obsoleted the nodes list for history items.
    2019-10-14
    Combined platform updates including updates to show install rollback list-ids";
        }
    
        revision "2019-10-13" {
          description
            "NCS540L 7.1.1 release
    2019-10-12
    8000 series 7.0.11 release";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.1.0";
        semver:module-version "2.0.0";
        semver:module-version "1.1.0";
        semver:module-version "1.0.0";
    
        container install {
          config false;
          description "Install operational data";
          container platform-support {
            description
              "Information about what features are supported on
    this platform";
            container platform-support-info {
              description
                "Information about what features are supported
    on this platform";
              leaf max-rollback-space {
                type uint64;
                description
                  "The maximum amount of space allowed for rollback
    points on this platform. A value of 0 indicates
    that rollback is not supported.";
              }
            }  // container platform-support-info
          }  // container platform-support
    
          container history {
            description "Operation history";
            container latest-transaction {
              description
                "Latest transaction data";
              container transaction-info-nodes {
                description
                  "Table for per-node information when carrying out
    a transaction";
                list transaction-info-node {
                  key "node";
                  description
                    "Node specific information when carrying out a
    transaction";
                  leaf node {
                    type xr:Node-id;
                    description "Node name";
                  }
    
                  list event {
                    description
                      "Per-node events";
                    leaf event {
                      type Inst-node-event;
                      description "Event";
                    }
    
                    leaf time {
                      type string;
                      description
                        "Timestamp, in RFC3339 internet date/time format";
                    }
    
                    leaf reason {
                      type String1;
                      description
                        "Reason for the event, for example an error
    string";
                    }
    
                    leaf event-id {
                      type uint32;
                      description
                        "Transaction level identifier for this event";
                    }
                  }  // list event
                }  // list transaction-info-node
              }  // container transaction-info-nodes
    
              container transaction-info {
                description
                  "Summary information about the transaction";
                container started-by-user-request {
                  description
                    "Packaging operation that started this
    transaction";
                  container unknown-packages {
                    when
                      "../request = 'unknown'" {
                      description
                        "../Request = 'Unknown'";
                    }
                    description
                      "List of packages";
                    leaf-list package-name {
                      type String1;
                      description "package name";
                    }
                  }  // container unknown-packages
    
                  container install-packages {
                    when "../request = 'add'" {
                      description
                        "../Request = 'Add'";
                    }
                    description
                      "List of packages";
                    leaf-list package-name {
                      type String1;
                      description "package name";
                    }
                  }  // container install-packages
    
                  container remove-packages {
                    when "../request = 'remove'" {
                      description
                        "../Request = 'Remove'";
                    }
                    description
                      "List of packages";
                    leaf-list package-name {
                      type String1;
                      description "package name";
                    }
                  }  // container remove-packages
    
                  container upgrade-packages {
                    when
                      "../request = 'upgrade'" {
                      description
                        "../Request = 'Upgrade'";
                    }
                    description
                      "List of packages";
                    leaf-list package-name {
                      type String1;
                      description "package name";
                    }
                  }  // container upgrade-packages
    
                  container downgrade-packages {
                    when
                      "../request = 'downgrade'" {
                      description
                        "../Request = 'Downgrade'";
                    }
                    description
                      "List of packages";
                    leaf-list package-name {
                      type String1;
                      description "package name";
                    }
                  }  // container downgrade-packages
    
                  leaf request {
                    type Inst-request;
                    description "Request";
                  }
    
                  leaf replace-iso {
                    when
                      "../request = 'replace'" {
                      description
                        "../Request = 'Replace'";
                    }
                    type String1;
                    description "ISO";
                  }
    
                  leaf rollback-to-transaction {
                    when
                      "../request = 'rollback'" {
                      description
                        "../Request = 'Rollback'";
                    }
                    type uint32;
                    description "Transaction ID";
                  }
                }  // container started-by-user-request
    
                leaf transaction-id {
                  type uint32;
                  description "Transaction ID";
                }
    
                list status-history {
                  description
                    "Status history for this transaction, in reverse
    chronological order";
                  leaf status {
                    type Inst-trans-status;
                    description "Status";
                  }
    
                  leaf reason {
                    type String1;
                    description
                      "Reason this status was set, which could be an
    error or a recovery action";
                  }
    
                  leaf time {
                    type string;
                    description
                      "Timestamp this status was set, in RFC3339
    internet date/time format";
                  }
    
                  leaf event-id {
                    type uint32;
                    description
                      "Transaction level identifier for this status
    change";
                  }
                }  // list status-history
    
                list nodes {
                  status obsolete;
                  description
                    "Node-specific information";
                  leaf node {
                    type String1;
                    description "Node name";
                  }
    
                  list event {
                    description
                      "Per-node events";
                    leaf event {
                      type Inst-node-event;
                      description "Event";
                    }
    
                    leaf time {
                      type string;
                      description
                        "Timestamp, in RFC3339 internet date/time format";
                    }
    
                    leaf reason {
                      type String1;
                      description
                        "Reason for the event, for example an error
    string";
                    }
    
                    leaf event-id {
                      type uint32;
                      description
                        "Transaction level identifier for this event";
                    }
                  }  // list event
                }  // list nodes
              }  // container transaction-info
    
              container atomic-changes {
                description
                  "Table for atomic software change specific
    operational data";
                list atomic-change {
                  key "index";
                  description
                    "Information about a particular atomic change";
                  leaf index {
                    type uint32;
                    description "Index";
                  }
    
                  container packaging-operations {
                    description
                      "Table for packaging operation specific
    operational data";
                    list packaging-operation {
                      key "index";
                      description
                        "Data about a particular packaging operation";
                      leaf index {
                        type uint32;
                        description "Index";
                      }
    
                      container packaging-operation-errors-nodes {
                        description
                          "Table for per-node DNF errors when carrying out
    a packaging operation";
                        list packaging-operation-errors-node {
                          key "node";
                          description
                            "Node specific DNF errors when carrying out a
    packaging operation";
                          leaf node {
                            type xr:Node-id;
                            description
                              "Node name";
                          }
    
                          leaf-list lines {
                            type String1;
                            description
                              "Lines of the DNF output";
                          }
                        }  // list packaging-operation-errors-node
                      }  // container packaging-operation-errors-nodes
    
                      container packaging-operation-info-nodes {
                        description
                          "Table for per-node information when carrying out
    a packaging operation";
                        list packaging-operation-info-node {
                          key "node";
                          description
                            "Node specific information when carrying out a
    packaging operation";
                          leaf node {
                            type xr:Node-id;
                            description
                              "Node name";
                          }
    
                          container disk-space-check {
                            description
                              "Disk space pre-check information";
                            leaf phase {
                              type Inst-disk-space-check-phase;
                              description
                                "Phase the disk space check failed at";
                            }
    
                            leaf required-space {
                              type uint64;
                              units "byte";
                              description
                                "Space required in the rootfs in bytes";
                            }
    
                            leaf available-space {
                              type uint64;
                              units "byte";
                              description
                                "Space available in the rootfs in bytes";
                            }
                          }  // container disk-space-check
    
                          leaf download-size {
                            type uint64;
                            units "byte";
                            description
                              "Download size in bytes (deprecated)";
                          }
    
                          leaf installed-size {
                            type uint64;
                            units "byte";
                            description
                              "Total installed size of packages in bytes
    (deprecated)";
                          }
    
                          list package {
                            description
                              "List of packages";
                            container package {
                              description
                                "Package";
                              leaf name {
                                type string;
                                description
                                  "Package name";
                              }
    
                              leaf version {
                                type String1;
                                description
                                  "Version";
                              }
    
                              leaf architecture {
                                type String1;
                                description
                                  "Package architecture";
                              }
                            }  // container package
    
                            leaf action {
                              type Inst-pkg-op-act;
                              description
                                "Action taken on this package";
                            }
                          }  // list package
    
                          list packages-no-action {
                            description
                              "List of input packages on which no action was
    taken, for example because there was no suitable
    version to upgrade or downgrade to";
                            container package {
                              description
                                "Package or user input on which no action was
    taken";
                              leaf name {
                                type string;
                                description
                                  "Package name";
                              }
    
                              leaf version {
                                type String1;
                                description
                                  "Version";
                              }
    
                              leaf architecture {
                                type String1;
                                description
                                  "Package architecture";
                              }
                            }  // container package
    
                            leaf reason {
                              type Inst-no-action-reason;
                              description
                                "Reason that no action was taken on this package";
                            }
                          }  // list packages-no-action
    
                          list veto-notification {
                            description
                              "List of notifications sent in 'Veto' phase";
                            container notification-trigger {
                              description
                                "Notification trigger";
                              container trigger-changeset {
                                when
                                  "../client-type = 'default'" {
                                  description
                                    "../ClientType = 'Default'";
                                }
                                description
                                  "Trigger Changeset";
                                container reload-reasons {
                                  description
                                    "Reload reasons";
                                  container packages {
                                    description
                                      "List of packages which has requested a reload";
                                    leaf-list package-name {
                                      type String1;
                                      description
                                        "package name";
                                    }
                                  }  // container packages
    
                                  leaf too-many-processes {
                                    type boolean;
                                    description
                                      "True if too many processes requested a restart";
                                  }
    
                                  list client {
                                    description
                                      "List of clients which have requested a reload";
                                    leaf name {
                                      type string;
                                      description
                                        "The name of the client";
                                    }
    
                                    leaf jid {
                                      type string;
                                      description
                                        "Job ID of the client";
                                    }
    
                                    leaf reason {
                                      type string;
                                      description
                                        "Reason to request a reload";
                                    }
                                  }  // list client
                                }  // container reload-reasons
    
                                list changed-file {
                                  description
                                    "Changed files";
                                  leaf path {
                                    type string;
                                    description
                                      "File path, relative to /opt/cisco/iosxr";
                                  }
    
                                  leaf change {
                                    type Inst-file-change;
                                    description
                                      "Change type";
                                  }
                                }  // list changed-file
    
                                list impacted-process {
                                  description
                                    "Impacted processes";
                                  leaf name {
                                    type string;
                                    description
                                      "Process name";
                                  }
    
                                  leaf change {
                                    type Inst-proc-change;
                                    description
                                      "Type of change";
                                  }
    
                                  leaf pid {
                                    type uint32;
                                    description
                                      "Process ID";
                                  }
                                }  // list impacted-process
    
                                list changed-feature {
                                  description
                                    "Changed features";
                                  leaf feature-name {
                                    type string;
                                    description
                                      "Name of feature";
                                  }
    
                                  leaf change {
                                    type Inst-feature-change;
                                    description
                                      "Change type";
                                  }
                                }  // list changed-feature
                              }  // container trigger-changeset
    
                              leaf client-type {
                                type Inst-client;
                                description
                                  "ClientType";
                              }
    
                              leaf legacy-client {
                                when
                                  "../client-type = 'legacy'" {
                                  description
                                    "../ClientType = 'Legacy'";
                                }
                                type boolean;
                                description
                                  "Legacy client - notifications are sent
    regardless of changeset";
                              }
                            }  // container notification-trigger
    
                            leaf client {
                              type string;
                              description
                                "Client notification was sent to";
                            }
    
                            leaf description {
                              type string;
                              description
                                "Description of the client";
                            }
    
                            leaf sent-time {
                              type string;
                              description
                                "Time notification was sent, in RFC3339 internet
    date/time format";
                            }
    
                            leaf response-status {
                              type Inst-notif-res;
                              description
                                "Status of response from client";
                            }
    
                            leaf error {
                              type String1;
                              description
                                "Error, if any";
                            }
    
                            leaf response-time {
                              type string;
                              description
                                "Time of clients response, in RFC3339 internet
    date/time format";
                            }
    
                            leaf veto-reason {
                              type String1;
                              description
                                "Reason for requested veto";
                            }
    
                            list reload-reason {
                              description
                                "Reasons for reload, if any";
                              leaf node {
                                type string;
                                description
                                  "Which node is to be reloaded";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for requested reload";
                              }
                            }  // list reload-reason
    
                            list extra-time-request {
                              description
                                "Requests for extra time, if any";
                              leaf time {
                                type string;
                                description
                                  "Timestamp of request, in RFC3339 internet
    date/time format";
                              }
    
                              leaf extra-time {
                                type uint32;
                                units "second";
                                description
                                  "Amount of extra time requested in seconds";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for the extra time being requested (if
    known)";
                              }
                            }  // list extra-time-request
                          }  // list veto-notification
    
                          list prepare-veto-notification {
                            description
                              "List of veto notifications sent in 'Prepare'
    phase";
                            container notification-trigger {
                              description
                                "Notification trigger";
                              container trigger-changeset {
                                when
                                  "../client-type = 'default'" {
                                  description
                                    "../ClientType = 'Default'";
                                }
                                description
                                  "Trigger Changeset";
                                container reload-reasons {
                                  description
                                    "Reload reasons";
                                  container packages {
                                    description
                                      "List of packages which has requested a reload";
                                    leaf-list package-name {
                                      type String1;
                                      description
                                        "package name";
                                    }
                                  }  // container packages
    
                                  leaf too-many-processes {
                                    type boolean;
                                    description
                                      "True if too many processes requested a restart";
                                  }
    
                                  list client {
                                    description
                                      "List of clients which have requested a reload";
                                    leaf name {
                                      type string;
                                      description
                                        "The name of the client";
                                    }
    
                                    leaf jid {
                                      type string;
                                      description
                                        "Job ID of the client";
                                    }
    
                                    leaf reason {
                                      type string;
                                      description
                                        "Reason to request a reload";
                                    }
                                  }  // list client
                                }  // container reload-reasons
    
                                list changed-file {
                                  description
                                    "Changed files";
                                  leaf path {
                                    type string;
                                    description
                                      "File path, relative to /opt/cisco/iosxr";
                                  }
    
                                  leaf change {
                                    type Inst-file-change;
                                    description
                                      "Change type";
                                  }
                                }  // list changed-file
    
                                list impacted-process {
                                  description
                                    "Impacted processes";
                                  leaf name {
                                    type string;
                                    description
                                      "Process name";
                                  }
    
                                  leaf change {
                                    type Inst-proc-change;
                                    description
                                      "Type of change";
                                  }
    
                                  leaf pid {
                                    type uint32;
                                    description
                                      "Process ID";
                                  }
                                }  // list impacted-process
    
                                list changed-feature {
                                  description
                                    "Changed features";
                                  leaf feature-name {
                                    type string;
                                    description
                                      "Name of feature";
                                  }
    
                                  leaf change {
                                    type Inst-feature-change;
                                    description
                                      "Change type";
                                  }
                                }  // list changed-feature
                              }  // container trigger-changeset
    
                              leaf client-type {
                                type Inst-client;
                                description
                                  "ClientType";
                              }
    
                              leaf legacy-client {
                                when
                                  "../client-type = 'legacy'" {
                                  description
                                    "../ClientType = 'Legacy'";
                                }
                                type boolean;
                                description
                                  "Legacy client - notifications are sent
    regardless of changeset";
                              }
                            }  // container notification-trigger
    
                            leaf client {
                              type string;
                              description
                                "Client notification was sent to";
                            }
    
                            leaf description {
                              type string;
                              description
                                "Description of the client";
                            }
    
                            leaf sent-time {
                              type string;
                              description
                                "Time notification was sent, in RFC3339 internet
    date/time format";
                            }
    
                            leaf response-status {
                              type Inst-notif-res;
                              description
                                "Status of response from client";
                            }
    
                            leaf error {
                              type String1;
                              description
                                "Error, if any";
                            }
    
                            leaf response-time {
                              type string;
                              description
                                "Time of clients response, in RFC3339 internet
    date/time format";
                            }
    
                            leaf veto-reason {
                              type String1;
                              description
                                "Reason for requested veto";
                            }
    
                            list reload-reason {
                              description
                                "Reasons for reload, if any";
                              leaf node {
                                type string;
                                description
                                  "Which node is to be reloaded";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for requested reload";
                              }
                            }  // list reload-reason
    
                            list extra-time-request {
                              description
                                "Requests for extra time, if any";
                              leaf time {
                                type string;
                                description
                                  "Timestamp of request, in RFC3339 internet
    date/time format";
                              }
    
                              leaf extra-time {
                                type uint32;
                                units "second";
                                description
                                  "Amount of extra time requested in seconds";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for the extra time being requested (if
    known)";
                              }
                            }  // list extra-time-request
                          }  // list prepare-veto-notification
    
                          list prepare-notification {
                            description
                              "List of prepare notifications sent in 'Prepare'
    phase";
                            container notification-trigger {
                              description
                                "Notification trigger";
                              container trigger-changeset {
                                when
                                  "../client-type = 'default'" {
                                  description
                                    "../ClientType = 'Default'";
                                }
                                description
                                  "Trigger Changeset";
                                container reload-reasons {
                                  description
                                    "Reload reasons";
                                  container packages {
                                    description
                                      "List of packages which has requested a reload";
                                    leaf-list package-name {
                                      type String1;
                                      description
                                        "package name";
                                    }
                                  }  // container packages
    
                                  leaf too-many-processes {
                                    type boolean;
                                    description
                                      "True if too many processes requested a restart";
                                  }
    
                                  list client {
                                    description
                                      "List of clients which have requested a reload";
                                    leaf name {
                                      type string;
                                      description
                                        "The name of the client";
                                    }
    
                                    leaf jid {
                                      type string;
                                      description
                                        "Job ID of the client";
                                    }
    
                                    leaf reason {
                                      type string;
                                      description
                                        "Reason to request a reload";
                                    }
                                  }  // list client
                                }  // container reload-reasons
    
                                list changed-file {
                                  description
                                    "Changed files";
                                  leaf path {
                                    type string;
                                    description
                                      "File path, relative to /opt/cisco/iosxr";
                                  }
    
                                  leaf change {
                                    type Inst-file-change;
                                    description
                                      "Change type";
                                  }
                                }  // list changed-file
    
                                list impacted-process {
                                  description
                                    "Impacted processes";
                                  leaf name {
                                    type string;
                                    description
                                      "Process name";
                                  }
    
                                  leaf change {
                                    type Inst-proc-change;
                                    description
                                      "Type of change";
                                  }
    
                                  leaf pid {
                                    type uint32;
                                    description
                                      "Process ID";
                                  }
                                }  // list impacted-process
    
                                list changed-feature {
                                  description
                                    "Changed features";
                                  leaf feature-name {
                                    type string;
                                    description
                                      "Name of feature";
                                  }
    
                                  leaf change {
                                    type Inst-feature-change;
                                    description
                                      "Change type";
                                  }
                                }  // list changed-feature
                              }  // container trigger-changeset
    
                              leaf client-type {
                                type Inst-client;
                                description
                                  "ClientType";
                              }
    
                              leaf legacy-client {
                                when
                                  "../client-type = 'legacy'" {
                                  description
                                    "../ClientType = 'Legacy'";
                                }
                                type boolean;
                                description
                                  "Legacy client - notifications are sent
    regardless of changeset";
                              }
                            }  // container notification-trigger
    
                            leaf client {
                              type string;
                              description
                                "Client notification was sent to";
                            }
    
                            leaf description {
                              type string;
                              description
                                "Description of the client";
                            }
    
                            leaf sent-time {
                              type string;
                              description
                                "Time notification was sent, in RFC3339 internet
    date/time format";
                            }
    
                            leaf response-status {
                              type Inst-notif-res;
                              description
                                "Status of response from client";
                            }
    
                            leaf error {
                              type String1;
                              description
                                "Error, if any";
                            }
    
                            leaf response-time {
                              type string;
                              description
                                "Time of clients response, in RFC3339 internet
    date/time format";
                            }
    
                            leaf veto-reason {
                              type String1;
                              description
                                "Reason for requested veto";
                            }
    
                            list reload-reason {
                              description
                                "Reasons for reload, if any";
                              leaf node {
                                type string;
                                description
                                  "Which node is to be reloaded";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for requested reload";
                              }
                            }  // list reload-reason
    
                            list extra-time-request {
                              description
                                "Requests for extra time, if any";
                              leaf time {
                                type string;
                                description
                                  "Timestamp of request, in RFC3339 internet
    date/time format";
                              }
    
                              leaf extra-time {
                                type uint32;
                                units "second";
                                description
                                  "Amount of extra time requested in seconds";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for the extra time being requested (if
    known)";
                              }
                            }  // list extra-time-request
                          }  // list prepare-notification
    
                          list event {
                            description
                              "Per node events";
                            leaf event {
                              type Inst-node-event;
                              description
                                "Event";
                            }
    
                            leaf time {
                              type string;
                              description
                                "Timestamp, in RFC3339 internet date/time format";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the event, for example an error
    string";
                            }
    
                            leaf event-id {
                              type uint32;
                              description
                                "Transaction level identifier for this event";
                            }
                          }  // list event
                        }  // list packaging-operation-info-node
                      }  // container packaging-operation-info-nodes
    
                      container packaging-operation-info {
                        description
                          "Information about a packaging operation";
                        container request {
                          description
                            "Requested operation";
                          container operation {
                            when
                              "../reason = 'user'" {
                              description
                                "../Reason = 'User'";
                            }
                            description
                              "Details of user request";
                            container unknown-packages {
                              when
                                "../request = 'unknown'" {
                                description
                                  "../Request = 'Unknown'";
                              }
                              description
                                "List of packages";
                              leaf-list package-name {
                                type String1;
                                description
                                  "package name";
                              }
                            }  // container unknown-packages
    
                            container install-packages {
                              when
                                "../request = 'add'" {
                                description
                                  "../Request = 'Add'";
                              }
                              description
                                "List of packages";
                              leaf-list package-name {
                                type String1;
                                description
                                  "package name";
                              }
                            }  // container install-packages
    
                            container remove-packages {
                              when
                                "../request = 'remove'" {
                                description
                                  "../Request = 'Remove'";
                              }
                              description
                                "List of packages";
                              leaf-list package-name {
                                type String1;
                                description
                                  "package name";
                              }
                            }  // container remove-packages
    
                            container upgrade-packages {
                              when
                                "../request = 'upgrade'" {
                                description
                                  "../Request = 'Upgrade'";
                              }
                              description
                                "List of packages";
                              leaf-list package-name {
                                type String1;
                                description
                                  "package name";
                              }
                            }  // container upgrade-packages
    
                            container downgrade-packages {
                              when
                                "../request = 'downgrade'" {
                                description
                                  "../Request = 'Downgrade'";
                              }
                              description
                                "List of packages";
                              leaf-list package-name {
                                type String1;
                                description
                                  "package name";
                              }
                            }  // container downgrade-packages
    
                            leaf request {
                              type Inst-request;
                              description
                                "Request";
                            }
    
                            leaf replace-iso {
                              when
                                "../request = 'replace'" {
                                description
                                  "../Request = 'Replace'";
                              }
                              type String1;
                              description "ISO";
                            }
    
                            leaf rollback-to-transaction {
                              when
                                "../request = 'rollback'" {
                                description
                                  "../Request = 'Rollback'";
                              }
                              type uint32;
                              description
                                "Transaction ID";
                            }
                          }  // container operation
    
                          container abort-operation {
                            when
                              "../reason = 'undoing-due-to-abort'" {
                              description
                                "../Reason = 'UndoingDueToAbort'";
                            }
                            description
                              "Details of packaging operation(s) being undone";
                            leaf abort-type {
                              type Inst-package-abort;
                              description
                                "Abort Type";
                            }
    
                            leaf-list packaging-operation {
                              type uint32;
                              description
                                "Indices of packaging operations being undone";
                            }
                          }  // container abort-operation
    
                          leaf reason {
                            type Inst-req-reason;
                            description "Reason";
                          }
                        }  // container request
    
                        leaf index {
                          type uint32;
                          description
                            "Packaging operation index";
                        }
    
                        leaf error-string {
                          type String1;
                          description
                            "String pointing the user to any packaging
    manager error information";
                        }
    
                        list status-history {
                          description
                            "Status history for the package operation, in
    reverse chronological order";
                          leaf status {
                            type Inst-pkg-op-status;
                            description "Status";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason this status was set, which could be an
    error or a recovery action";
                          }
    
                          leaf time {
                            type string;
                            description
                              "Timestamp this status was set, in RFC3339
    internet date/time format";
                          }
    
                          leaf event-id {
                            type uint32;
                            description
                              "Transaction level identifier for this status
    change";
                          }
                        }  // list status-history
    
                        list nodes {
                          status obsolete;
                          description
                            "Node-specific information";
                          container disk-space-check {
                            description
                              "Disk space pre-check information";
                            leaf phase {
                              type Inst-disk-space-check-phase;
                              description
                                "Phase the disk space check failed at";
                            }
    
                            leaf required-space {
                              type uint64;
                              units "byte";
                              description
                                "Space required in the rootfs in bytes";
                            }
    
                            leaf available-space {
                              type uint64;
                              units "byte";
                              description
                                "Space available in the rootfs in bytes";
                            }
                          }  // container disk-space-check
    
                          leaf node {
                            type string;
                            description
                              "Node name";
                          }
    
                          leaf download-size {
                            type uint64;
                            units "byte";
                            description
                              "Download size in bytes (deprecated)";
                          }
    
                          leaf installed-size {
                            type uint64;
                            units "byte";
                            description
                              "Total installed size of packages in bytes
    (deprecated)";
                          }
    
                          list package {
                            description
                              "List of packages";
                            container package {
                              description
                                "Package";
                              leaf name {
                                type string;
                                description
                                  "Package name";
                              }
    
                              leaf version {
                                type String1;
                                description
                                  "Version";
                              }
    
                              leaf architecture {
                                type String1;
                                description
                                  "Package architecture";
                              }
                            }  // container package
    
                            leaf action {
                              type Inst-pkg-op-act;
                              description
                                "Action taken on this package";
                            }
                          }  // list package
    
                          list packages-no-action {
                            description
                              "List of input packages on which no action was
    taken, for example because there was no suitable
    version to upgrade or downgrade to";
                            container package {
                              description
                                "Package or user input on which no action was
    taken";
                              leaf name {
                                type string;
                                description
                                  "Package name";
                              }
    
                              leaf version {
                                type String1;
                                description
                                  "Version";
                              }
    
                              leaf architecture {
                                type String1;
                                description
                                  "Package architecture";
                              }
                            }  // container package
    
                            leaf reason {
                              type Inst-no-action-reason;
                              description
                                "Reason that no action was taken on this package";
                            }
                          }  // list packages-no-action
    
                          list veto-notification {
                            description
                              "List of notifications sent in 'Veto' phase";
                            container notification-trigger {
                              description
                                "Notification trigger";
                              container trigger-changeset {
                                when
                                  "../client-type = 'default'" {
                                  description
                                    "../ClientType = 'Default'";
                                }
                                description
                                  "Trigger Changeset";
                                container reload-reasons {
                                  description
                                    "Reload reasons";
                                  container packages {
                                    description
                                      "List of packages which has requested a reload";
                                    leaf-list package-name {
                                      type String1;
                                      description
                                        "package name";
                                    }
                                  }  // container packages
    
                                  leaf too-many-processes {
                                    type boolean;
                                    description
                                      "True if too many processes requested a restart";
                                  }
    
                                  list client {
                                    description
                                      "List of clients which have requested a reload";
                                    leaf name {
                                      type string;
                                      description
                                        "The name of the client";
                                    }
    
                                    leaf jid {
                                      type string;
                                      description
                                        "Job ID of the client";
                                    }
    
                                    leaf reason {
                                      type string;
                                      description
                                        "Reason to request a reload";
                                    }
                                  }  // list client
                                }  // container reload-reasons
    
                                list changed-file {
                                  description
                                    "Changed files";
                                  leaf path {
                                    type string;
                                    description
                                      "File path, relative to /opt/cisco/iosxr";
                                  }
    
                                  leaf change {
                                    type Inst-file-change;
                                    description
                                      "Change type";
                                  }
                                }  // list changed-file
    
                                list impacted-process {
                                  description
                                    "Impacted processes";
                                  leaf name {
                                    type string;
                                    description
                                      "Process name";
                                  }
    
                                  leaf change {
                                    type Inst-proc-change;
                                    description
                                      "Type of change";
                                  }
    
                                  leaf pid {
                                    type uint32;
                                    description
                                      "Process ID";
                                  }
                                }  // list impacted-process
    
                                list changed-feature {
                                  description
                                    "Changed features";
                                  leaf feature-name {
                                    type string;
                                    description
                                      "Name of feature";
                                  }
    
                                  leaf change {
                                    type Inst-feature-change;
                                    description
                                      "Change type";
                                  }
                                }  // list changed-feature
                              }  // container trigger-changeset
    
                              leaf client-type {
                                type Inst-client;
                                description
                                  "ClientType";
                              }
    
                              leaf legacy-client {
                                when
                                  "../client-type = 'legacy'" {
                                  description
                                    "../ClientType = 'Legacy'";
                                }
                                type boolean;
                                description
                                  "Legacy client - notifications are sent
    regardless of changeset";
                              }
                            }  // container notification-trigger
    
                            leaf client {
                              type string;
                              description
                                "Client notification was sent to";
                            }
    
                            leaf description {
                              type string;
                              description
                                "Description of the client";
                            }
    
                            leaf sent-time {
                              type string;
                              description
                                "Time notification was sent, in RFC3339 internet
    date/time format";
                            }
    
                            leaf response-status {
                              type Inst-notif-res;
                              description
                                "Status of response from client";
                            }
    
                            leaf error {
                              type String1;
                              description
                                "Error, if any";
                            }
    
                            leaf response-time {
                              type string;
                              description
                                "Time of clients response, in RFC3339 internet
    date/time format";
                            }
    
                            leaf veto-reason {
                              type String1;
                              description
                                "Reason for requested veto";
                            }
    
                            list reload-reason {
                              description
                                "Reasons for reload, if any";
                              leaf node {
                                type string;
                                description
                                  "Which node is to be reloaded";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for requested reload";
                              }
                            }  // list reload-reason
    
                            list extra-time-request {
                              description
                                "Requests for extra time, if any";
                              leaf time {
                                type string;
                                description
                                  "Timestamp of request, in RFC3339 internet
    date/time format";
                              }
    
                              leaf extra-time {
                                type uint32;
                                units "second";
                                description
                                  "Amount of extra time requested in seconds";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for the extra time being requested (if
    known)";
                              }
                            }  // list extra-time-request
                          }  // list veto-notification
    
                          list prepare-veto-notification {
                            description
                              "List of veto notifications sent in 'Prepare'
    phase";
                            container notification-trigger {
                              description
                                "Notification trigger";
                              container trigger-changeset {
                                when
                                  "../client-type = 'default'" {
                                  description
                                    "../ClientType = 'Default'";
                                }
                                description
                                  "Trigger Changeset";
                                container reload-reasons {
                                  description
                                    "Reload reasons";
                                  container packages {
                                    description
                                      "List of packages which has requested a reload";
                                    leaf-list package-name {
                                      type String1;
                                      description
                                        "package name";
                                    }
                                  }  // container packages
    
                                  leaf too-many-processes {
                                    type boolean;
                                    description
                                      "True if too many processes requested a restart";
                                  }
    
                                  list client {
                                    description
                                      "List of clients which have requested a reload";
                                    leaf name {
                                      type string;
                                      description
                                        "The name of the client";
                                    }
    
                                    leaf jid {
                                      type string;
                                      description
                                        "Job ID of the client";
                                    }
    
                                    leaf reason {
                                      type string;
                                      description
                                        "Reason to request a reload";
                                    }
                                  }  // list client
                                }  // container reload-reasons
    
                                list changed-file {
                                  description
                                    "Changed files";
                                  leaf path {
                                    type string;
                                    description
                                      "File path, relative to /opt/cisco/iosxr";
                                  }
    
                                  leaf change {
                                    type Inst-file-change;
                                    description
                                      "Change type";
                                  }
                                }  // list changed-file
    
                                list impacted-process {
                                  description
                                    "Impacted processes";
                                  leaf name {
                                    type string;
                                    description
                                      "Process name";
                                  }
    
                                  leaf change {
                                    type Inst-proc-change;
                                    description
                                      "Type of change";
                                  }
    
                                  leaf pid {
                                    type uint32;
                                    description
                                      "Process ID";
                                  }
                                }  // list impacted-process
    
                                list changed-feature {
                                  description
                                    "Changed features";
                                  leaf feature-name {
                                    type string;
                                    description
                                      "Name of feature";
                                  }
    
                                  leaf change {
                                    type Inst-feature-change;
                                    description
                                      "Change type";
                                  }
                                }  // list changed-feature
                              }  // container trigger-changeset
    
                              leaf client-type {
                                type Inst-client;
                                description
                                  "ClientType";
                              }
    
                              leaf legacy-client {
                                when
                                  "../client-type = 'legacy'" {
                                  description
                                    "../ClientType = 'Legacy'";
                                }
                                type boolean;
                                description
                                  "Legacy client - notifications are sent
    regardless of changeset";
                              }
                            }  // container notification-trigger
    
                            leaf client {
                              type string;
                              description
                                "Client notification was sent to";
                            }
    
                            leaf description {
                              type string;
                              description
                                "Description of the client";
                            }
    
                            leaf sent-time {
                              type string;
                              description
                                "Time notification was sent, in RFC3339 internet
    date/time format";
                            }
    
                            leaf response-status {
                              type Inst-notif-res;
                              description
                                "Status of response from client";
                            }
    
                            leaf error {
                              type String1;
                              description
                                "Error, if any";
                            }
    
                            leaf response-time {
                              type string;
                              description
                                "Time of clients response, in RFC3339 internet
    date/time format";
                            }
    
                            leaf veto-reason {
                              type String1;
                              description
                                "Reason for requested veto";
                            }
    
                            list reload-reason {
                              description
                                "Reasons for reload, if any";
                              leaf node {
                                type string;
                                description
                                  "Which node is to be reloaded";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for requested reload";
                              }
                            }  // list reload-reason
    
                            list extra-time-request {
                              description
                                "Requests for extra time, if any";
                              leaf time {
                                type string;
                                description
                                  "Timestamp of request, in RFC3339 internet
    date/time format";
                              }
    
                              leaf extra-time {
                                type uint32;
                                units "second";
                                description
                                  "Amount of extra time requested in seconds";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for the extra time being requested (if
    known)";
                              }
                            }  // list extra-time-request
                          }  // list prepare-veto-notification
    
                          list prepare-notification {
                            description
                              "List of prepare notifications sent in 'Prepare'
    phase";
                            container notification-trigger {
                              description
                                "Notification trigger";
                              container trigger-changeset {
                                when
                                  "../client-type = 'default'" {
                                  description
                                    "../ClientType = 'Default'";
                                }
                                description
                                  "Trigger Changeset";
                                container reload-reasons {
                                  description
                                    "Reload reasons";
                                  container packages {
                                    description
                                      "List of packages which has requested a reload";
                                    leaf-list package-name {
                                      type String1;
                                      description
                                        "package name";
                                    }
                                  }  // container packages
    
                                  leaf too-many-processes {
                                    type boolean;
                                    description
                                      "True if too many processes requested a restart";
                                  }
    
                                  list client {
                                    description
                                      "List of clients which have requested a reload";
                                    leaf name {
                                      type string;
                                      description
                                        "The name of the client";
                                    }
    
                                    leaf jid {
                                      type string;
                                      description
                                        "Job ID of the client";
                                    }
    
                                    leaf reason {
                                      type string;
                                      description
                                        "Reason to request a reload";
                                    }
                                  }  // list client
                                }  // container reload-reasons
    
                                list changed-file {
                                  description
                                    "Changed files";
                                  leaf path {
                                    type string;
                                    description
                                      "File path, relative to /opt/cisco/iosxr";
                                  }
    
                                  leaf change {
                                    type Inst-file-change;
                                    description
                                      "Change type";
                                  }
                                }  // list changed-file
    
                                list impacted-process {
                                  description
                                    "Impacted processes";
                                  leaf name {
                                    type string;
                                    description
                                      "Process name";
                                  }
    
                                  leaf change {
                                    type Inst-proc-change;
                                    description
                                      "Type of change";
                                  }
    
                                  leaf pid {
                                    type uint32;
                                    description
                                      "Process ID";
                                  }
                                }  // list impacted-process
    
                                list changed-feature {
                                  description
                                    "Changed features";
                                  leaf feature-name {
                                    type string;
                                    description
                                      "Name of feature";
                                  }
    
                                  leaf change {
                                    type Inst-feature-change;
                                    description
                                      "Change type";
                                  }
                                }  // list changed-feature
                              }  // container trigger-changeset
    
                              leaf client-type {
                                type Inst-client;
                                description
                                  "ClientType";
                              }
    
                              leaf legacy-client {
                                when
                                  "../client-type = 'legacy'" {
                                  description
                                    "../ClientType = 'Legacy'";
                                }
                                type boolean;
                                description
                                  "Legacy client - notifications are sent
    regardless of changeset";
                              }
                            }  // container notification-trigger
    
                            leaf client {
                              type string;
                              description
                                "Client notification was sent to";
                            }
    
                            leaf description {
                              type string;
                              description
                                "Description of the client";
                            }
    
                            leaf sent-time {
                              type string;
                              description
                                "Time notification was sent, in RFC3339 internet
    date/time format";
                            }
    
                            leaf response-status {
                              type Inst-notif-res;
                              description
                                "Status of response from client";
                            }
    
                            leaf error {
                              type String1;
                              description
                                "Error, if any";
                            }
    
                            leaf response-time {
                              type string;
                              description
                                "Time of clients response, in RFC3339 internet
    date/time format";
                            }
    
                            leaf veto-reason {
                              type String1;
                              description
                                "Reason for requested veto";
                            }
    
                            list reload-reason {
                              description
                                "Reasons for reload, if any";
                              leaf node {
                                type string;
                                description
                                  "Which node is to be reloaded";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for requested reload";
                              }
                            }  // list reload-reason
    
                            list extra-time-request {
                              description
                                "Requests for extra time, if any";
                              leaf time {
                                type string;
                                description
                                  "Timestamp of request, in RFC3339 internet
    date/time format";
                              }
    
                              leaf extra-time {
                                type uint32;
                                units "second";
                                description
                                  "Amount of extra time requested in seconds";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for the extra time being requested (if
    known)";
                              }
                            }  // list extra-time-request
                          }  // list prepare-notification
    
                          list event {
                            description
                              "Per node events";
                            leaf event {
                              type Inst-node-event;
                              description
                                "Event";
                            }
    
                            leaf time {
                              type string;
                              description
                                "Timestamp, in RFC3339 internet date/time format";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the event, for example an error
    string";
                            }
    
                            leaf event-id {
                              type uint32;
                              description
                                "Transaction level identifier for this event";
                            }
                          }  // list event
                        }  // list nodes
                      }  // container packaging-operation-info
                    }  // list packaging-operation
                  }  // container packaging-operations
    
                  container atomic-change-info {
                    description
                      "Summary information about the atomic change";
                    leaf index {
                      type uint32;
                      description
                        "Atomic change index";
                    }
    
                    leaf requested-apply-method {
                      type Inst-activation;
                      description
                        "Requested apply method";
                    }
    
                    leaf least-impactful-apply-method {
                      type Inst-activation;
                      description
                        "Least impactful apply method required to apply
    packaging operations thus far.";
                    }
    
                    leaf install-restart {
                      type boolean;
                      description
                        "Install infra restart during apply";
                    }
    
                    list status-history {
                      description
                        "Status history for this atomic change, in
    reverse chronological order";
                      leaf status {
                        type Inst-atomic-status;
                        description "Status";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason this status was set, which could be an
    error or a recovery action";
                      }
    
                      leaf time {
                        type string;
                        description
                          "Timestamp this status was set, in RFC3339
    internet date/time format";
                      }
    
                      leaf event-id {
                        type uint32;
                        description
                          "Transaction level identifier for this status
    change";
                      }
                    }  // list status-history
    
                    list nodes {
                      status obsolete;
                      description
                        "Node-specific information";
                      container changeset {
                        description
                          "Changeset information";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container changeset
    
                      leaf node {
                        type string;
                        description "Node name";
                      }
    
                      list pre-pre-apply-notification {
                        description
                          "Notifications sent for 'Pre-pre-apply' phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list pre-pre-apply-notification
    
                      list pre-apply-notification {
                        description
                          "Notifications sent for 'Pre-apply' phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list pre-apply-notification
    
                      list apply-notification {
                        description
                          "Notifications sent for 'Apply' phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list apply-notification
    
                      list further-apply-notification {
                        description
                          "Further notifications sent for 'Apply' phase,
    after allowing for processes to restart";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list further-apply-notification
    
                      list post-apply-notification {
                        description
                          "Notifications sent for 'Post-apply' phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list post-apply-notification
    
                      list post-post-apply-notification {
                        description
                          "Notifications sent for 'Post-post-apply' phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list post-post-apply-notification
    
                      list event {
                        description
                          "Per node events";
                        leaf event {
                          type Inst-node-event;
                          description "Event";
                        }
    
                        leaf time {
                          type string;
                          description
                            "Timestamp, in RFC3339 internet date/time format";
                        }
    
                        leaf reason {
                          type String1;
                          description
                            "Reason for the event, for example an error
    string";
                        }
    
                        leaf event-id {
                          type uint32;
                          description
                            "Transaction level identifier for this event";
                        }
                      }  // list event
                    }  // list nodes
                  }  // container atomic-change-info
    
                  container atomic-change-info-nodes {
                    description
                      "Table for per-node information when carrying out
    an atomic change";
                    list atomic-change-info-node {
                      key "node";
                      description
                        "Node specific information when carrying out an
    atomic change";
                      leaf node {
                        type xr:Node-id;
                        description "Node name";
                      }
    
                      container changeset {
                        description
                          "Changeset information";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container changeset
    
                      list pre-pre-apply-notification {
                        description
                          "Notifications sent for 'Pre-pre-apply' phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list pre-pre-apply-notification
    
                      list pre-apply-notification {
                        description
                          "Notifications sent for 'Pre-apply' phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list pre-apply-notification
    
                      list apply-notification {
                        description
                          "Notifications sent for 'Apply' phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list apply-notification
    
                      list further-apply-notification {
                        description
                          "Further notifications sent for 'Apply' phase,
    after allowing for processes to restart";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list further-apply-notification
    
                      list post-apply-notification {
                        description
                          "Notifications sent for 'Post-apply' phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list post-apply-notification
    
                      list post-post-apply-notification {
                        description
                          "Notifications sent for 'Post-post-apply' phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list post-post-apply-notification
    
                      list event {
                        description
                          "Per node events";
                        leaf event {
                          type Inst-node-event;
                          description "Event";
                        }
    
                        leaf time {
                          type string;
                          description
                            "Timestamp, in RFC3339 internet date/time format";
                        }
    
                        leaf reason {
                          type String1;
                          description
                            "Reason for the event, for example an error
    string";
                        }
    
                        leaf event-id {
                          type uint32;
                          description
                            "Transaction level identifier for this event";
                        }
                      }  // list event
                    }  // list atomic-change-info-node
                  }  // container atomic-change-info-nodes
                }  // list atomic-change
              }  // container atomic-changes
            }  // container latest-transaction
    
            container latest-packaging-operation {
              description
                "Information about the latest packaging
    operation";
              container packaging-operation-errors-nodes {
                description
                  "Table for per-node DNF errors when carrying out
    a packaging operation";
                list packaging-operation-errors-node {
                  key "node";
                  description
                    "Node specific DNF errors when carrying out a
    packaging operation";
                  leaf node {
                    type xr:Node-id;
                    description "Node name";
                  }
    
                  leaf-list lines {
                    type String1;
                    description
                      "Lines of the DNF output";
                  }
                }  // list packaging-operation-errors-node
              }  // container packaging-operation-errors-nodes
    
              container packaging-operation-info-nodes {
                description
                  "Table for per-node information when carrying out
    a packaging operation";
                list packaging-operation-info-node {
                  key "node";
                  description
                    "Node specific information when carrying out a
    packaging operation";
                  leaf node {
                    type xr:Node-id;
                    description "Node name";
                  }
    
                  container disk-space-check {
                    description
                      "Disk space pre-check information";
                    leaf phase {
                      type Inst-disk-space-check-phase;
                      description
                        "Phase the disk space check failed at";
                    }
    
                    leaf required-space {
                      type uint64;
                      units "byte";
                      description
                        "Space required in the rootfs in bytes";
                    }
    
                    leaf available-space {
                      type uint64;
                      units "byte";
                      description
                        "Space available in the rootfs in bytes";
                    }
                  }  // container disk-space-check
    
                  leaf download-size {
                    type uint64;
                    units "byte";
                    description
                      "Download size in bytes (deprecated)";
                  }
    
                  leaf installed-size {
                    type uint64;
                    units "byte";
                    description
                      "Total installed size of packages in bytes
    (deprecated)";
                  }
    
                  list package {
                    description
                      "List of packages";
                    container package {
                      description "Package";
                      leaf name {
                        type string;
                        description
                          "Package name";
                      }
    
                      leaf version {
                        type String1;
                        description "Version";
                      }
    
                      leaf architecture {
                        type String1;
                        description
                          "Package architecture";
                      }
                    }  // container package
    
                    leaf action {
                      type Inst-pkg-op-act;
                      description
                        "Action taken on this package";
                    }
                  }  // list package
    
                  list packages-no-action {
                    description
                      "List of input packages on which no action was
    taken, for example because there was no suitable
    version to upgrade or downgrade to";
                    container package {
                      description
                        "Package or user input on which no action was
    taken";
                      leaf name {
                        type string;
                        description
                          "Package name";
                      }
    
                      leaf version {
                        type String1;
                        description "Version";
                      }
    
                      leaf architecture {
                        type String1;
                        description
                          "Package architecture";
                      }
                    }  // container package
    
                    leaf reason {
                      type Inst-no-action-reason;
                      description
                        "Reason that no action was taken on this package";
                    }
                  }  // list packages-no-action
    
                  list veto-notification {
                    description
                      "List of notifications sent in 'Veto' phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list veto-notification
    
                  list prepare-veto-notification {
                    description
                      "List of veto notifications sent in 'Prepare'
    phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list prepare-veto-notification
    
                  list prepare-notification {
                    description
                      "List of prepare notifications sent in 'Prepare'
    phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list prepare-notification
    
                  list event {
                    description
                      "Per node events";
                    leaf event {
                      type Inst-node-event;
                      description "Event";
                    }
    
                    leaf time {
                      type string;
                      description
                        "Timestamp, in RFC3339 internet date/time format";
                    }
    
                    leaf reason {
                      type String1;
                      description
                        "Reason for the event, for example an error
    string";
                    }
    
                    leaf event-id {
                      type uint32;
                      description
                        "Transaction level identifier for this event";
                    }
                  }  // list event
                }  // list packaging-operation-info-node
              }  // container packaging-operation-info-nodes
    
              container packaging-operation-info {
                description
                  "Information about a packaging operation";
                container request {
                  description
                    "Requested operation";
                  container operation {
                    when "../reason = 'user'" {
                      description
                        "../Reason = 'User'";
                    }
                    description
                      "Details of user request";
                    container unknown-packages {
                      when
                        "../request = 'unknown'" {
                        description
                          "../Request = 'Unknown'";
                      }
                      description
                        "List of packages";
                      leaf-list package-name {
                        type String1;
                        description
                          "package name";
                      }
                    }  // container unknown-packages
    
                    container install-packages {
                      when "../request = 'add'" {
                        description
                          "../Request = 'Add'";
                      }
                      description
                        "List of packages";
                      leaf-list package-name {
                        type String1;
                        description
                          "package name";
                      }
                    }  // container install-packages
    
                    container remove-packages {
                      when
                        "../request = 'remove'" {
                        description
                          "../Request = 'Remove'";
                      }
                      description
                        "List of packages";
                      leaf-list package-name {
                        type String1;
                        description
                          "package name";
                      }
                    }  // container remove-packages
    
                    container upgrade-packages {
                      when
                        "../request = 'upgrade'" {
                        description
                          "../Request = 'Upgrade'";
                      }
                      description
                        "List of packages";
                      leaf-list package-name {
                        type String1;
                        description
                          "package name";
                      }
                    }  // container upgrade-packages
    
                    container downgrade-packages {
                      when
                        "../request = 'downgrade'" {
                        description
                          "../Request = 'Downgrade'";
                      }
                      description
                        "List of packages";
                      leaf-list package-name {
                        type String1;
                        description
                          "package name";
                      }
                    }  // container downgrade-packages
    
                    leaf request {
                      type Inst-request;
                      description "Request";
                    }
    
                    leaf replace-iso {
                      when
                        "../request = 'replace'" {
                        description
                          "../Request = 'Replace'";
                      }
                      type String1;
                      description "ISO";
                    }
    
                    leaf rollback-to-transaction {
                      when
                        "../request = 'rollback'" {
                        description
                          "../Request = 'Rollback'";
                      }
                      type uint32;
                      description
                        "Transaction ID";
                    }
                  }  // container operation
    
                  container abort-operation {
                    when
                      "../reason = 'undoing-due-to-abort'" {
                      description
                        "../Reason = 'UndoingDueToAbort'";
                    }
                    description
                      "Details of packaging operation(s) being undone";
                    leaf abort-type {
                      type Inst-package-abort;
                      description "Abort Type";
                    }
    
                    leaf-list packaging-operation {
                      type uint32;
                      description
                        "Indices of packaging operations being undone";
                    }
                  }  // container abort-operation
    
                  leaf reason {
                    type Inst-req-reason;
                    description "Reason";
                  }
                }  // container request
    
                leaf index {
                  type uint32;
                  description
                    "Packaging operation index";
                }
    
                leaf error-string {
                  type String1;
                  description
                    "String pointing the user to any packaging
    manager error information";
                }
    
                list status-history {
                  description
                    "Status history for the package operation, in
    reverse chronological order";
                  leaf status {
                    type Inst-pkg-op-status;
                    description "Status";
                  }
    
                  leaf reason {
                    type String1;
                    description
                      "Reason this status was set, which could be an
    error or a recovery action";
                  }
    
                  leaf time {
                    type string;
                    description
                      "Timestamp this status was set, in RFC3339
    internet date/time format";
                  }
    
                  leaf event-id {
                    type uint32;
                    description
                      "Transaction level identifier for this status
    change";
                  }
                }  // list status-history
    
                list nodes {
                  status obsolete;
                  description
                    "Node-specific information";
                  container disk-space-check {
                    description
                      "Disk space pre-check information";
                    leaf phase {
                      type Inst-disk-space-check-phase;
                      description
                        "Phase the disk space check failed at";
                    }
    
                    leaf required-space {
                      type uint64;
                      units "byte";
                      description
                        "Space required in the rootfs in bytes";
                    }
    
                    leaf available-space {
                      type uint64;
                      units "byte";
                      description
                        "Space available in the rootfs in bytes";
                    }
                  }  // container disk-space-check
    
                  leaf node {
                    type string;
                    description "Node name";
                  }
    
                  leaf download-size {
                    type uint64;
                    units "byte";
                    description
                      "Download size in bytes (deprecated)";
                  }
    
                  leaf installed-size {
                    type uint64;
                    units "byte";
                    description
                      "Total installed size of packages in bytes
    (deprecated)";
                  }
    
                  list package {
                    description
                      "List of packages";
                    container package {
                      description "Package";
                      leaf name {
                        type string;
                        description
                          "Package name";
                      }
    
                      leaf version {
                        type String1;
                        description "Version";
                      }
    
                      leaf architecture {
                        type String1;
                        description
                          "Package architecture";
                      }
                    }  // container package
    
                    leaf action {
                      type Inst-pkg-op-act;
                      description
                        "Action taken on this package";
                    }
                  }  // list package
    
                  list packages-no-action {
                    description
                      "List of input packages on which no action was
    taken, for example because there was no suitable
    version to upgrade or downgrade to";
                    container package {
                      description
                        "Package or user input on which no action was
    taken";
                      leaf name {
                        type string;
                        description
                          "Package name";
                      }
    
                      leaf version {
                        type String1;
                        description "Version";
                      }
    
                      leaf architecture {
                        type String1;
                        description
                          "Package architecture";
                      }
                    }  // container package
    
                    leaf reason {
                      type Inst-no-action-reason;
                      description
                        "Reason that no action was taken on this package";
                    }
                  }  // list packages-no-action
    
                  list veto-notification {
                    description
                      "List of notifications sent in 'Veto' phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list veto-notification
    
                  list prepare-veto-notification {
                    description
                      "List of veto notifications sent in 'Prepare'
    phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list prepare-veto-notification
    
                  list prepare-notification {
                    description
                      "List of prepare notifications sent in 'Prepare'
    phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list prepare-notification
    
                  list event {
                    description
                      "Per node events";
                    leaf event {
                      type Inst-node-event;
                      description "Event";
                    }
    
                    leaf time {
                      type string;
                      description
                        "Timestamp, in RFC3339 internet date/time format";
                    }
    
                    leaf reason {
                      type String1;
                      description
                        "Reason for the event, for example an error
    string";
                    }
    
                    leaf event-id {
                      type uint32;
                      description
                        "Transaction level identifier for this event";
                    }
                  }  // list event
                }  // list nodes
              }  // container packaging-operation-info
            }  // container latest-packaging-operation
    
            container latest-atomic-change {
              description
                "Latest atomic software change";
              container packaging-operations {
                description
                  "Table for packaging operation specific
    operational data";
                list packaging-operation {
                  key "index";
                  description
                    "Data about a particular packaging operation";
                  leaf index {
                    type uint32;
                    description "Index";
                  }
    
                  container packaging-operation-errors-nodes {
                    description
                      "Table for per-node DNF errors when carrying out
    a packaging operation";
                    list packaging-operation-errors-node {
                      key "node";
                      description
                        "Node specific DNF errors when carrying out a
    packaging operation";
                      leaf node {
                        type xr:Node-id;
                        description "Node name";
                      }
    
                      leaf-list lines {
                        type String1;
                        description
                          "Lines of the DNF output";
                      }
                    }  // list packaging-operation-errors-node
                  }  // container packaging-operation-errors-nodes
    
                  container packaging-operation-info-nodes {
                    description
                      "Table for per-node information when carrying out
    a packaging operation";
                    list packaging-operation-info-node {
                      key "node";
                      description
                        "Node specific information when carrying out a
    packaging operation";
                      leaf node {
                        type xr:Node-id;
                        description "Node name";
                      }
    
                      container disk-space-check {
                        description
                          "Disk space pre-check information";
                        leaf phase {
                          type Inst-disk-space-check-phase;
                          description
                            "Phase the disk space check failed at";
                        }
    
                        leaf required-space {
                          type uint64;
                          units "byte";
                          description
                            "Space required in the rootfs in bytes";
                        }
    
                        leaf available-space {
                          type uint64;
                          units "byte";
                          description
                            "Space available in the rootfs in bytes";
                        }
                      }  // container disk-space-check
    
                      leaf download-size {
                        type uint64;
                        units "byte";
                        description
                          "Download size in bytes (deprecated)";
                      }
    
                      leaf installed-size {
                        type uint64;
                        units "byte";
                        description
                          "Total installed size of packages in bytes
    (deprecated)";
                      }
    
                      list package {
                        description
                          "List of packages";
                        container package {
                          description "Package";
                          leaf name {
                            type string;
                            description
                              "Package name";
                          }
    
                          leaf version {
                            type String1;
                            description
                              "Version";
                          }
    
                          leaf architecture {
                            type String1;
                            description
                              "Package architecture";
                          }
                        }  // container package
    
                        leaf action {
                          type Inst-pkg-op-act;
                          description
                            "Action taken on this package";
                        }
                      }  // list package
    
                      list packages-no-action {
                        description
                          "List of input packages on which no action was
    taken, for example because there was no suitable
    version to upgrade or downgrade to";
                        container package {
                          description
                            "Package or user input on which no action was
    taken";
                          leaf name {
                            type string;
                            description
                              "Package name";
                          }
    
                          leaf version {
                            type String1;
                            description
                              "Version";
                          }
    
                          leaf architecture {
                            type String1;
                            description
                              "Package architecture";
                          }
                        }  // container package
    
                        leaf reason {
                          type Inst-no-action-reason;
                          description
                            "Reason that no action was taken on this package";
                        }
                      }  // list packages-no-action
    
                      list veto-notification {
                        description
                          "List of notifications sent in 'Veto' phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list veto-notification
    
                      list prepare-veto-notification {
                        description
                          "List of veto notifications sent in 'Prepare'
    phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list prepare-veto-notification
    
                      list prepare-notification {
                        description
                          "List of prepare notifications sent in 'Prepare'
    phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list prepare-notification
    
                      list event {
                        description
                          "Per node events";
                        leaf event {
                          type Inst-node-event;
                          description "Event";
                        }
    
                        leaf time {
                          type string;
                          description
                            "Timestamp, in RFC3339 internet date/time format";
                        }
    
                        leaf reason {
                          type String1;
                          description
                            "Reason for the event, for example an error
    string";
                        }
    
                        leaf event-id {
                          type uint32;
                          description
                            "Transaction level identifier for this event";
                        }
                      }  // list event
                    }  // list packaging-operation-info-node
                  }  // container packaging-operation-info-nodes
    
                  container packaging-operation-info {
                    description
                      "Information about a packaging operation";
                    container request {
                      description
                        "Requested operation";
                      container operation {
                        when
                          "../reason = 'user'" {
                          description
                            "../Reason = 'User'";
                        }
                        description
                          "Details of user request";
                        container unknown-packages {
                          when
                            "../request = 'unknown'" {
                            description
                              "../Request = 'Unknown'";
                          }
                          description
                            "List of packages";
                          leaf-list package-name {
                            type String1;
                            description
                              "package name";
                          }
                        }  // container unknown-packages
    
                        container install-packages {
                          when
                            "../request = 'add'" {
                            description
                              "../Request = 'Add'";
                          }
                          description
                            "List of packages";
                          leaf-list package-name {
                            type String1;
                            description
                              "package name";
                          }
                        }  // container install-packages
    
                        container remove-packages {
                          when
                            "../request = 'remove'" {
                            description
                              "../Request = 'Remove'";
                          }
                          description
                            "List of packages";
                          leaf-list package-name {
                            type String1;
                            description
                              "package name";
                          }
                        }  // container remove-packages
    
                        container upgrade-packages {
                          when
                            "../request = 'upgrade'" {
                            description
                              "../Request = 'Upgrade'";
                          }
                          description
                            "List of packages";
                          leaf-list package-name {
                            type String1;
                            description
                              "package name";
                          }
                        }  // container upgrade-packages
    
                        container downgrade-packages {
                          when
                            "../request = 'downgrade'" {
                            description
                              "../Request = 'Downgrade'";
                          }
                          description
                            "List of packages";
                          leaf-list package-name {
                            type String1;
                            description
                              "package name";
                          }
                        }  // container downgrade-packages
    
                        leaf request {
                          type Inst-request;
                          description "Request";
                        }
    
                        leaf replace-iso {
                          when
                            "../request = 'replace'" {
                            description
                              "../Request = 'Replace'";
                          }
                          type String1;
                          description "ISO";
                        }
    
                        leaf rollback-to-transaction {
                          when
                            "../request = 'rollback'" {
                            description
                              "../Request = 'Rollback'";
                          }
                          type uint32;
                          description
                            "Transaction ID";
                        }
                      }  // container operation
    
                      container abort-operation {
                        when
                          "../reason = 'undoing-due-to-abort'" {
                          description
                            "../Reason = 'UndoingDueToAbort'";
                        }
                        description
                          "Details of packaging operation(s) being undone";
                        leaf abort-type {
                          type Inst-package-abort;
                          description
                            "Abort Type";
                        }
    
                        leaf-list packaging-operation {
                          type uint32;
                          description
                            "Indices of packaging operations being undone";
                        }
                      }  // container abort-operation
    
                      leaf reason {
                        type Inst-req-reason;
                        description "Reason";
                      }
                    }  // container request
    
                    leaf index {
                      type uint32;
                      description
                        "Packaging operation index";
                    }
    
                    leaf error-string {
                      type String1;
                      description
                        "String pointing the user to any packaging
    manager error information";
                    }
    
                    list status-history {
                      description
                        "Status history for the package operation, in
    reverse chronological order";
                      leaf status {
                        type Inst-pkg-op-status;
                        description "Status";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason this status was set, which could be an
    error or a recovery action";
                      }
    
                      leaf time {
                        type string;
                        description
                          "Timestamp this status was set, in RFC3339
    internet date/time format";
                      }
    
                      leaf event-id {
                        type uint32;
                        description
                          "Transaction level identifier for this status
    change";
                      }
                    }  // list status-history
    
                    list nodes {
                      status obsolete;
                      description
                        "Node-specific information";
                      container disk-space-check {
                        description
                          "Disk space pre-check information";
                        leaf phase {
                          type Inst-disk-space-check-phase;
                          description
                            "Phase the disk space check failed at";
                        }
    
                        leaf required-space {
                          type uint64;
                          units "byte";
                          description
                            "Space required in the rootfs in bytes";
                        }
    
                        leaf available-space {
                          type uint64;
                          units "byte";
                          description
                            "Space available in the rootfs in bytes";
                        }
                      }  // container disk-space-check
    
                      leaf node {
                        type string;
                        description "Node name";
                      }
    
                      leaf download-size {
                        type uint64;
                        units "byte";
                        description
                          "Download size in bytes (deprecated)";
                      }
    
                      leaf installed-size {
                        type uint64;
                        units "byte";
                        description
                          "Total installed size of packages in bytes
    (deprecated)";
                      }
    
                      list package {
                        description
                          "List of packages";
                        container package {
                          description "Package";
                          leaf name {
                            type string;
                            description
                              "Package name";
                          }
    
                          leaf version {
                            type String1;
                            description
                              "Version";
                          }
    
                          leaf architecture {
                            type String1;
                            description
                              "Package architecture";
                          }
                        }  // container package
    
                        leaf action {
                          type Inst-pkg-op-act;
                          description
                            "Action taken on this package";
                        }
                      }  // list package
    
                      list packages-no-action {
                        description
                          "List of input packages on which no action was
    taken, for example because there was no suitable
    version to upgrade or downgrade to";
                        container package {
                          description
                            "Package or user input on which no action was
    taken";
                          leaf name {
                            type string;
                            description
                              "Package name";
                          }
    
                          leaf version {
                            type String1;
                            description
                              "Version";
                          }
    
                          leaf architecture {
                            type String1;
                            description
                              "Package architecture";
                          }
                        }  // container package
    
                        leaf reason {
                          type Inst-no-action-reason;
                          description
                            "Reason that no action was taken on this package";
                        }
                      }  // list packages-no-action
    
                      list veto-notification {
                        description
                          "List of notifications sent in 'Veto' phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list veto-notification
    
                      list prepare-veto-notification {
                        description
                          "List of veto notifications sent in 'Prepare'
    phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list prepare-veto-notification
    
                      list prepare-notification {
                        description
                          "List of prepare notifications sent in 'Prepare'
    phase";
                        container notification-trigger {
                          description
                            "Notification trigger";
                          container trigger-changeset {
                            when
                              "../client-type = 'default'" {
                              description
                                "../ClientType = 'Default'";
                            }
                            description
                              "Trigger Changeset";
                            container reload-reasons {
                              description
                                "Reload reasons";
                              container packages {
                                description
                                  "List of packages which has requested a reload";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container packages
    
                              leaf too-many-processes {
                                type boolean;
                                description
                                  "True if too many processes requested a restart";
                              }
    
                              list client {
                                description
                                  "List of clients which have requested a reload";
                                leaf name {
                                  type string;
                                  description
                                    "The name of the client";
                                }
    
                                leaf jid {
                                  type string;
                                  description
                                    "Job ID of the client";
                                }
    
                                leaf reason {
                                  type string;
                                  description
                                    "Reason to request a reload";
                                }
                              }  // list client
                            }  // container reload-reasons
    
                            list changed-file {
                              description
                                "Changed files";
                              leaf path {
                                type string;
                                description
                                  "File path, relative to /opt/cisco/iosxr";
                              }
    
                              leaf change {
                                type Inst-file-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-file
    
                            list impacted-process {
                              description
                                "Impacted processes";
                              leaf name {
                                type string;
                                description
                                  "Process name";
                              }
    
                              leaf change {
                                type Inst-proc-change;
                                description
                                  "Type of change";
                              }
    
                              leaf pid {
                                type uint32;
                                description
                                  "Process ID";
                              }
                            }  // list impacted-process
    
                            list changed-feature {
                              description
                                "Changed features";
                              leaf feature-name {
                                type string;
                                description
                                  "Name of feature";
                              }
    
                              leaf change {
                                type Inst-feature-change;
                                description
                                  "Change type";
                              }
                            }  // list changed-feature
                          }  // container trigger-changeset
    
                          leaf client-type {
                            type Inst-client;
                            description
                              "ClientType";
                          }
    
                          leaf legacy-client {
                            when
                              "../client-type = 'legacy'" {
                              description
                                "../ClientType = 'Legacy'";
                            }
                            type boolean;
                            description
                              "Legacy client - notifications are sent
    regardless of changeset";
                          }
                        }  // container notification-trigger
    
                        leaf client {
                          type string;
                          description
                            "Client notification was sent to";
                        }
    
                        leaf description {
                          type string;
                          description
                            "Description of the client";
                        }
    
                        leaf sent-time {
                          type string;
                          description
                            "Time notification was sent, in RFC3339 internet
    date/time format";
                        }
    
                        leaf response-status {
                          type Inst-notif-res;
                          description
                            "Status of response from client";
                        }
    
                        leaf error {
                          type String1;
                          description
                            "Error, if any";
                        }
    
                        leaf response-time {
                          type string;
                          description
                            "Time of clients response, in RFC3339 internet
    date/time format";
                        }
    
                        leaf veto-reason {
                          type String1;
                          description
                            "Reason for requested veto";
                        }
    
                        list reload-reason {
                          description
                            "Reasons for reload, if any";
                          leaf node {
                            type string;
                            description
                              "Which node is to be reloaded";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for requested reload";
                          }
                        }  // list reload-reason
    
                        list extra-time-request {
                          description
                            "Requests for extra time, if any";
                          leaf time {
                            type string;
                            description
                              "Timestamp of request, in RFC3339 internet
    date/time format";
                          }
    
                          leaf extra-time {
                            type uint32;
                            units "second";
                            description
                              "Amount of extra time requested in seconds";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the extra time being requested (if
    known)";
                          }
                        }  // list extra-time-request
                      }  // list prepare-notification
    
                      list event {
                        description
                          "Per node events";
                        leaf event {
                          type Inst-node-event;
                          description "Event";
                        }
    
                        leaf time {
                          type string;
                          description
                            "Timestamp, in RFC3339 internet date/time format";
                        }
    
                        leaf reason {
                          type String1;
                          description
                            "Reason for the event, for example an error
    string";
                        }
    
                        leaf event-id {
                          type uint32;
                          description
                            "Transaction level identifier for this event";
                        }
                      }  // list event
                    }  // list nodes
                  }  // container packaging-operation-info
                }  // list packaging-operation
              }  // container packaging-operations
    
              container atomic-change-info {
                description
                  "Summary information about the atomic change";
                leaf index {
                  type uint32;
                  description
                    "Atomic change index";
                }
    
                leaf requested-apply-method {
                  type Inst-activation;
                  description
                    "Requested apply method";
                }
    
                leaf least-impactful-apply-method {
                  type Inst-activation;
                  description
                    "Least impactful apply method required to apply
    packaging operations thus far.";
                }
    
                leaf install-restart {
                  type boolean;
                  description
                    "Install infra restart during apply";
                }
    
                list status-history {
                  description
                    "Status history for this atomic change, in
    reverse chronological order";
                  leaf status {
                    type Inst-atomic-status;
                    description "Status";
                  }
    
                  leaf reason {
                    type String1;
                    description
                      "Reason this status was set, which could be an
    error or a recovery action";
                  }
    
                  leaf time {
                    type string;
                    description
                      "Timestamp this status was set, in RFC3339
    internet date/time format";
                  }
    
                  leaf event-id {
                    type uint32;
                    description
                      "Transaction level identifier for this status
    change";
                  }
                }  // list status-history
    
                list nodes {
                  status obsolete;
                  description
                    "Node-specific information";
                  container changeset {
                    description
                      "Changeset information";
                    container reload-reasons {
                      description
                        "Reload reasons";
                      container packages {
                        description
                          "List of packages which has requested a reload";
                        leaf-list package-name {
                          type String1;
                          description
                            "package name";
                        }
                      }  // container packages
    
                      leaf too-many-processes {
                        type boolean;
                        description
                          "True if too many processes requested a restart";
                      }
    
                      list client {
                        description
                          "List of clients which have requested a reload";
                        leaf name {
                          type string;
                          description
                            "The name of the client";
                        }
    
                        leaf jid {
                          type string;
                          description
                            "Job ID of the client";
                        }
    
                        leaf reason {
                          type string;
                          description
                            "Reason to request a reload";
                        }
                      }  // list client
                    }  // container reload-reasons
    
                    list changed-file {
                      description
                        "Changed files";
                      leaf path {
                        type string;
                        description
                          "File path, relative to /opt/cisco/iosxr";
                      }
    
                      leaf change {
                        type Inst-file-change;
                        description
                          "Change type";
                      }
                    }  // list changed-file
    
                    list impacted-process {
                      description
                        "Impacted processes";
                      leaf name {
                        type string;
                        description
                          "Process name";
                      }
    
                      leaf change {
                        type Inst-proc-change;
                        description
                          "Type of change";
                      }
    
                      leaf pid {
                        type uint32;
                        description "Process ID";
                      }
                    }  // list impacted-process
    
                    list changed-feature {
                      description
                        "Changed features";
                      leaf feature-name {
                        type string;
                        description
                          "Name of feature";
                      }
    
                      leaf change {
                        type Inst-feature-change;
                        description
                          "Change type";
                      }
                    }  // list changed-feature
                  }  // container changeset
    
                  leaf node {
                    type string;
                    description "Node name";
                  }
    
                  list pre-pre-apply-notification {
                    description
                      "Notifications sent for 'Pre-pre-apply' phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list pre-pre-apply-notification
    
                  list pre-apply-notification {
                    description
                      "Notifications sent for 'Pre-apply' phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list pre-apply-notification
    
                  list apply-notification {
                    description
                      "Notifications sent for 'Apply' phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list apply-notification
    
                  list further-apply-notification {
                    description
                      "Further notifications sent for 'Apply' phase,
    after allowing for processes to restart";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list further-apply-notification
    
                  list post-apply-notification {
                    description
                      "Notifications sent for 'Post-apply' phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list post-apply-notification
    
                  list post-post-apply-notification {
                    description
                      "Notifications sent for 'Post-post-apply' phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list post-post-apply-notification
    
                  list event {
                    description
                      "Per node events";
                    leaf event {
                      type Inst-node-event;
                      description "Event";
                    }
    
                    leaf time {
                      type string;
                      description
                        "Timestamp, in RFC3339 internet date/time format";
                    }
    
                    leaf reason {
                      type String1;
                      description
                        "Reason for the event, for example an error
    string";
                    }
    
                    leaf event-id {
                      type uint32;
                      description
                        "Transaction level identifier for this event";
                    }
                  }  // list event
                }  // list nodes
              }  // container atomic-change-info
    
              container atomic-change-info-nodes {
                description
                  "Table for per-node information when carrying out
    an atomic change";
                list atomic-change-info-node {
                  key "node";
                  description
                    "Node specific information when carrying out an
    atomic change";
                  leaf node {
                    type xr:Node-id;
                    description "Node name";
                  }
    
                  container changeset {
                    description
                      "Changeset information";
                    container reload-reasons {
                      description
                        "Reload reasons";
                      container packages {
                        description
                          "List of packages which has requested a reload";
                        leaf-list package-name {
                          type String1;
                          description
                            "package name";
                        }
                      }  // container packages
    
                      leaf too-many-processes {
                        type boolean;
                        description
                          "True if too many processes requested a restart";
                      }
    
                      list client {
                        description
                          "List of clients which have requested a reload";
                        leaf name {
                          type string;
                          description
                            "The name of the client";
                        }
    
                        leaf jid {
                          type string;
                          description
                            "Job ID of the client";
                        }
    
                        leaf reason {
                          type string;
                          description
                            "Reason to request a reload";
                        }
                      }  // list client
                    }  // container reload-reasons
    
                    list changed-file {
                      description
                        "Changed files";
                      leaf path {
                        type string;
                        description
                          "File path, relative to /opt/cisco/iosxr";
                      }
    
                      leaf change {
                        type Inst-file-change;
                        description
                          "Change type";
                      }
                    }  // list changed-file
    
                    list impacted-process {
                      description
                        "Impacted processes";
                      leaf name {
                        type string;
                        description
                          "Process name";
                      }
    
                      leaf change {
                        type Inst-proc-change;
                        description
                          "Type of change";
                      }
    
                      leaf pid {
                        type uint32;
                        description "Process ID";
                      }
                    }  // list impacted-process
    
                    list changed-feature {
                      description
                        "Changed features";
                      leaf feature-name {
                        type string;
                        description
                          "Name of feature";
                      }
    
                      leaf change {
                        type Inst-feature-change;
                        description
                          "Change type";
                      }
                    }  // list changed-feature
                  }  // container changeset
    
                  list pre-pre-apply-notification {
                    description
                      "Notifications sent for 'Pre-pre-apply' phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list pre-pre-apply-notification
    
                  list pre-apply-notification {
                    description
                      "Notifications sent for 'Pre-apply' phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list pre-apply-notification
    
                  list apply-notification {
                    description
                      "Notifications sent for 'Apply' phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list apply-notification
    
                  list further-apply-notification {
                    description
                      "Further notifications sent for 'Apply' phase,
    after allowing for processes to restart";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list further-apply-notification
    
                  list post-apply-notification {
                    description
                      "Notifications sent for 'Post-apply' phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list post-apply-notification
    
                  list post-post-apply-notification {
                    description
                      "Notifications sent for 'Post-post-apply' phase";
                    container notification-trigger {
                      description
                        "Notification trigger";
                      container trigger-changeset {
                        when
                          "../client-type = 'default'" {
                          description
                            "../ClientType = 'Default'";
                        }
                        description
                          "Trigger Changeset";
                        container reload-reasons {
                          description
                            "Reload reasons";
                          container packages {
                            description
                              "List of packages which has requested a reload";
                            leaf-list package-name {
                              type String1;
                              description
                                "package name";
                            }
                          }  // container packages
    
                          leaf too-many-processes {
                            type boolean;
                            description
                              "True if too many processes requested a restart";
                          }
    
                          list client {
                            description
                              "List of clients which have requested a reload";
                            leaf name {
                              type string;
                              description
                                "The name of the client";
                            }
    
                            leaf jid {
                              type string;
                              description
                                "Job ID of the client";
                            }
    
                            leaf reason {
                              type string;
                              description
                                "Reason to request a reload";
                            }
                          }  // list client
                        }  // container reload-reasons
    
                        list changed-file {
                          description
                            "Changed files";
                          leaf path {
                            type string;
                            description
                              "File path, relative to /opt/cisco/iosxr";
                          }
    
                          leaf change {
                            type Inst-file-change;
                            description
                              "Change type";
                          }
                        }  // list changed-file
    
                        list impacted-process {
                          description
                            "Impacted processes";
                          leaf name {
                            type string;
                            description
                              "Process name";
                          }
    
                          leaf change {
                            type Inst-proc-change;
                            description
                              "Type of change";
                          }
    
                          leaf pid {
                            type uint32;
                            description
                              "Process ID";
                          }
                        }  // list impacted-process
    
                        list changed-feature {
                          description
                            "Changed features";
                          leaf feature-name {
                            type string;
                            description
                              "Name of feature";
                          }
    
                          leaf change {
                            type Inst-feature-change;
                            description
                              "Change type";
                          }
                        }  // list changed-feature
                      }  // container trigger-changeset
    
                      leaf client-type {
                        type Inst-client;
                        description "ClientType";
                      }
    
                      leaf legacy-client {
                        when
                          "../client-type = 'legacy'" {
                          description
                            "../ClientType = 'Legacy'";
                        }
                        type boolean;
                        description
                          "Legacy client - notifications are sent
    regardless of changeset";
                      }
                    }  // container notification-trigger
    
                    leaf client {
                      type string;
                      description
                        "Client notification was sent to";
                    }
    
                    leaf description {
                      type string;
                      description
                        "Description of the client";
                    }
    
                    leaf sent-time {
                      type string;
                      description
                        "Time notification was sent, in RFC3339 internet
    date/time format";
                    }
    
                    leaf response-status {
                      type Inst-notif-res;
                      description
                        "Status of response from client";
                    }
    
                    leaf error {
                      type String1;
                      description
                        "Error, if any";
                    }
    
                    leaf response-time {
                      type string;
                      description
                        "Time of clients response, in RFC3339 internet
    date/time format";
                    }
    
                    leaf veto-reason {
                      type String1;
                      description
                        "Reason for requested veto";
                    }
    
                    list reload-reason {
                      description
                        "Reasons for reload, if any";
                      leaf node {
                        type string;
                        description
                          "Which node is to be reloaded";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for requested reload";
                      }
                    }  // list reload-reason
    
                    list extra-time-request {
                      description
                        "Requests for extra time, if any";
                      leaf time {
                        type string;
                        description
                          "Timestamp of request, in RFC3339 internet
    date/time format";
                      }
    
                      leaf extra-time {
                        type uint32;
                        units "second";
                        description
                          "Amount of extra time requested in seconds";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the extra time being requested (if
    known)";
                      }
                    }  // list extra-time-request
                  }  // list post-post-apply-notification
    
                  list event {
                    description
                      "Per node events";
                    leaf event {
                      type Inst-node-event;
                      description "Event";
                    }
    
                    leaf time {
                      type string;
                      description
                        "Timestamp, in RFC3339 internet date/time format";
                    }
    
                    leaf reason {
                      type String1;
                      description
                        "Reason for the event, for example an error
    string";
                    }
    
                    leaf event-id {
                      type uint32;
                      description
                        "Transaction level identifier for this event";
                    }
                  }  // list event
                }  // list atomic-change-info-node
              }  // container atomic-change-info-nodes
            }  // container latest-atomic-change
    
            container transactions {
              description
                "Table for transaction-specific operational data";
              list transaction {
                key "transaction-id";
                description
                  "Information about a particular transaction";
                leaf transaction-id {
                  type uint32;
                  description
                    "Install Transaction ID";
                }
    
                container transaction-info-nodes {
                  description
                    "Table for per-node information when carrying out
    a transaction";
                  list transaction-info-node {
                    key "node";
                    description
                      "Node specific information when carrying out a
    transaction";
                    leaf node {
                      type xr:Node-id;
                      description "Node name";
                    }
    
                    list event {
                      description
                        "Per-node events";
                      leaf event {
                        type Inst-node-event;
                        description "Event";
                      }
    
                      leaf time {
                        type string;
                        description
                          "Timestamp, in RFC3339 internet date/time format";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the event, for example an error
    string";
                      }
    
                      leaf event-id {
                        type uint32;
                        description
                          "Transaction level identifier for this event";
                      }
                    }  // list event
                  }  // list transaction-info-node
                }  // container transaction-info-nodes
    
                container transaction-info {
                  description
                    "Summary information about the transaction";
                  container started-by-user-request {
                    description
                      "Packaging operation that started this
    transaction";
                    container unknown-packages {
                      when
                        "../request = 'unknown'" {
                        description
                          "../Request = 'Unknown'";
                      }
                      description
                        "List of packages";
                      leaf-list package-name {
                        type String1;
                        description
                          "package name";
                      }
                    }  // container unknown-packages
    
                    container install-packages {
                      when "../request = 'add'" {
                        description
                          "../Request = 'Add'";
                      }
                      description
                        "List of packages";
                      leaf-list package-name {
                        type String1;
                        description
                          "package name";
                      }
                    }  // container install-packages
    
                    container remove-packages {
                      when
                        "../request = 'remove'" {
                        description
                          "../Request = 'Remove'";
                      }
                      description
                        "List of packages";
                      leaf-list package-name {
                        type String1;
                        description
                          "package name";
                      }
                    }  // container remove-packages
    
                    container upgrade-packages {
                      when
                        "../request = 'upgrade'" {
                        description
                          "../Request = 'Upgrade'";
                      }
                      description
                        "List of packages";
                      leaf-list package-name {
                        type String1;
                        description
                          "package name";
                      }
                    }  // container upgrade-packages
    
                    container downgrade-packages {
                      when
                        "../request = 'downgrade'" {
                        description
                          "../Request = 'Downgrade'";
                      }
                      description
                        "List of packages";
                      leaf-list package-name {
                        type String1;
                        description
                          "package name";
                      }
                    }  // container downgrade-packages
    
                    leaf request {
                      type Inst-request;
                      description "Request";
                    }
    
                    leaf replace-iso {
                      when
                        "../request = 'replace'" {
                        description
                          "../Request = 'Replace'";
                      }
                      type String1;
                      description "ISO";
                    }
    
                    leaf rollback-to-transaction {
                      when
                        "../request = 'rollback'" {
                        description
                          "../Request = 'Rollback'";
                      }
                      type uint32;
                      description
                        "Transaction ID";
                    }
                  }  // container started-by-user-request
    
                  leaf transaction-id {
                    type uint32;
                    description "Transaction ID";
                  }
    
                  list status-history {
                    description
                      "Status history for this transaction, in reverse
    chronological order";
                    leaf status {
                      type Inst-trans-status;
                      description "Status";
                    }
    
                    leaf reason {
                      type String1;
                      description
                        "Reason this status was set, which could be an
    error or a recovery action";
                    }
    
                    leaf time {
                      type string;
                      description
                        "Timestamp this status was set, in RFC3339
    internet date/time format";
                    }
    
                    leaf event-id {
                      type uint32;
                      description
                        "Transaction level identifier for this status
    change";
                    }
                  }  // list status-history
    
                  list nodes {
                    status obsolete;
                    description
                      "Node-specific information";
                    leaf node {
                      type String1;
                      description "Node name";
                    }
    
                    list event {
                      description
                        "Per-node events";
                      leaf event {
                        type Inst-node-event;
                        description "Event";
                      }
    
                      leaf time {
                        type string;
                        description
                          "Timestamp, in RFC3339 internet date/time format";
                      }
    
                      leaf reason {
                        type String1;
                        description
                          "Reason for the event, for example an error
    string";
                      }
    
                      leaf event-id {
                        type uint32;
                        description
                          "Transaction level identifier for this event";
                      }
                    }  // list event
                  }  // list nodes
                }  // container transaction-info
    
                container atomic-changes {
                  description
                    "Table for atomic software change specific
    operational data";
                  list atomic-change {
                    key "index";
                    description
                      "Information about a particular atomic change";
                    leaf index {
                      type uint32;
                      description "Index";
                    }
    
                    container packaging-operations {
                      description
                        "Table for packaging operation specific
    operational data";
                      list packaging-operation {
                        key "index";
                        description
                          "Data about a particular packaging operation";
                        leaf index {
                          type uint32;
                          description "Index";
                        }
    
                        container packaging-operation-errors-nodes {
                          description
                            "Table for per-node DNF errors when carrying out
    a packaging operation";
                          list packaging-operation-errors-node {
                            key "node";
                            description
                              "Node specific DNF errors when carrying out a
    packaging operation";
                            leaf node {
                              type xr:Node-id;
                              description
                                "Node name";
                            }
    
                            leaf-list lines {
                              type String1;
                              description
                                "Lines of the DNF output";
                            }
                          }  // list packaging-operation-errors-node
                        }  // container packaging-operation-errors-nodes
    
                        container packaging-operation-info-nodes {
                          description
                            "Table for per-node information when carrying out
    a packaging operation";
                          list packaging-operation-info-node {
                            key "node";
                            description
                              "Node specific information when carrying out a
    packaging operation";
                            leaf node {
                              type xr:Node-id;
                              description
                                "Node name";
                            }
    
                            container disk-space-check {
                              description
                                "Disk space pre-check information";
                              leaf phase {
                                type Inst-disk-space-check-phase;
                                description
                                  "Phase the disk space check failed at";
                              }
    
                              leaf required-space {
                                type uint64;
                                units "byte";
                                description
                                  "Space required in the rootfs in bytes";
                              }
    
                              leaf available-space {
                                type uint64;
                                units "byte";
                                description
                                  "Space available in the rootfs in bytes";
                              }
                            }  // container disk-space-check
    
                            leaf download-size {
                              type uint64;
                              units "byte";
                              description
                                "Download size in bytes (deprecated)";
                            }
    
                            leaf installed-size {
                              type uint64;
                              units "byte";
                              description
                                "Total installed size of packages in bytes
    (deprecated)";
                            }
    
                            list package {
                              description
                                "List of packages";
                              container package {
                                description
                                  "Package";
                                leaf name {
                                  type string;
                                  description
                                    "Package name";
                                }
    
                                leaf version {
                                  type String1;
                                  description
                                    "Version";
                                }
    
                                leaf architecture {
                                  type String1;
                                  description
                                    "Package architecture";
                                }
                              }  // container package
    
                              leaf action {
                                type Inst-pkg-op-act;
                                description
                                  "Action taken on this package";
                              }
                            }  // list package
    
                            list packages-no-action {
                              description
                                "List of input packages on which no action was
    taken, for example because there was no suitable
    version to upgrade or downgrade to";
                              container package {
                                description
                                  "Package or user input on which no action was
    taken";
                                leaf name {
                                  type string;
                                  description
                                    "Package name";
                                }
    
                                leaf version {
                                  type String1;
                                  description
                                    "Version";
                                }
    
                                leaf architecture {
                                  type String1;
                                  description
                                    "Package architecture";
                                }
                              }  // container package
    
                              leaf reason {
                                type Inst-no-action-reason;
                                description
                                  "Reason that no action was taken on this package";
                              }
                            }  // list packages-no-action
    
                            list veto-notification {
                              description
                                "List of notifications sent in 'Veto' phase";
                              container notification-trigger {
                                description
                                  "Notification trigger";
                                container trigger-changeset {
                                  when
                                    "../client-type = 'default'" {
                                    description
                                      "../ClientType = 'Default'";
                                  }
                                  description
                                    "Trigger Changeset";
                                  container reload-reasons {
                                    description
                                      "Reload reasons";
                                    container packages {
                                      description
                                        "List of packages which has requested a reload";
                                      leaf-list package-name {
                                        type String1;
                                        description
                                          "package name";
                                      }
                                    }  // container packages
    
                                    leaf too-many-processes {
                                      type boolean;
                                      description
                                        "True if too many processes requested a restart";
                                    }
    
                                    list client {
                                      description
                                        "List of clients which have requested a reload";
                                      leaf name {
                                        type string;
                                        description
                                          "The name of the client";
                                      }
    
                                      leaf jid {
                                        type string;
                                        description
                                          "Job ID of the client";
                                      }
    
                                      leaf reason {
                                        type string;
                                        description
                                          "Reason to request a reload";
                                      }
                                    }  // list client
                                  }  // container reload-reasons
    
                                  list changed-file {
                                    description
                                      "Changed files";
                                    leaf path {
                                      type string;
                                      description
                                        "File path, relative to /opt/cisco/iosxr";
                                    }
    
                                    leaf change {
                                      type Inst-file-change;
                                      description
                                        "Change type";
                                    }
                                  }  // list changed-file
    
                                  list impacted-process {
                                    description
                                      "Impacted processes";
                                    leaf name {
                                      type string;
                                      description
                                        "Process name";
                                    }
    
                                    leaf change {
                                      type Inst-proc-change;
                                      description
                                        "Type of change";
                                    }
    
                                    leaf pid {
                                      type uint32;
                                      description
                                        "Process ID";
                                    }
                                  }  // list impacted-process
    
                                  list changed-feature {
                                    description
                                      "Changed features";
                                    leaf feature-name {
                                      type string;
                                      description
                                        "Name of feature";
                                    }
    
                                    leaf change {
                                      type Inst-feature-change;
                                      description
                                        "Change type";
                                    }
                                  }  // list changed-feature
                                }  // container trigger-changeset
    
                                leaf client-type {
                                  type Inst-client;
                                  description
                                    "ClientType";
                                }
    
                                leaf legacy-client {
                                  when
                                    "../client-type = 'legacy'" {
                                    description
                                      "../ClientType = 'Legacy'";
                                  }
                                  type boolean;
                                  description
                                    "Legacy client - notifications are sent
    regardless of changeset";
                                }
                              }  // container notification-trigger
    
                              leaf client {
                                type string;
                                description
                                  "Client notification was sent to";
                              }
    
                              leaf description {
                                type string;
                                description
                                  "Description of the client";
                              }
    
                              leaf sent-time {
                                type string;
                                description
                                  "Time notification was sent, in RFC3339 internet
    date/time format";
                              }
    
                              leaf response-status {
                                type Inst-notif-res;
                                description
                                  "Status of response from client";
                              }
    
                              leaf error {
                                type String1;
                                description
                                  "Error, if any";
                              }
    
                              leaf response-time {
                                type string;
                                description
                                  "Time of clients response, in RFC3339 internet
    date/time format";
                              }
    
                              leaf veto-reason {
                                type String1;
                                description
                                  "Reason for requested veto";
                              }
    
                              list reload-reason {
                                description
                                  "Reasons for reload, if any";
                                leaf node {
                                  type string;
                                  description
                                    "Which node is to be reloaded";
                                }
    
                                leaf reason {
                                  type String1;
                                  description
                                    "Reason for requested reload";
                                }
                              }  // list reload-reason
    
                              list extra-time-request {
                                description
                                  "Requests for extra time, if any";
                                leaf time {
                                  type string;
                                  description
                                    "Timestamp of request, in RFC3339 internet
    date/time format";
                                }
    
                                leaf extra-time {
                                  type uint32;
                                  units "second";
                                  description
                                    "Amount of extra time requested in seconds";
                                }
    
                                leaf reason {
                                  type String1;
                                  description
                                    "Reason for the extra time being requested (if
    known)";
                                }
                              }  // list extra-time-request
                            }  // list veto-notification
    
                            list prepare-veto-notification {
                              description
                                "List of veto notifications sent in 'Prepare'
    phase";
                              container notification-trigger {
                                description
                                  "Notification trigger";
                                container trigger-changeset {
                                  when
                                    "../client-type = 'default'" {
                                    description
                                      "../ClientType = 'Default'";
                                  }
                                  description
                                    "Trigger Changeset";
                                  container reload-reasons {
                                    description
                                      "Reload reasons";
                                    container packages {
                                      description
                                        "List of packages which has requested a reload";
                                      leaf-list package-name {
                                        type String1;
                                        description
                                          "package name";
                                      }
                                    }  // container packages
    
                                    leaf too-many-processes {
                                      type boolean;
                                      description
                                        "True if too many processes requested a restart";
                                    }
    
                                    list client {
                                      description
                                        "List of clients which have requested a reload";
                                      leaf name {
                                        type string;
                                        description
                                          "The name of the client";
                                      }
    
                                      leaf jid {
                                        type string;
                                        description
                                          "Job ID of the client";
                                      }
    
                                      leaf reason {
                                        type string;
                                        description
                                          "Reason to request a reload";
                                      }
                                    }  // list client
                                  }  // container reload-reasons
    
                                  list changed-file {
                                    description
                                      "Changed files";
                                    leaf path {
                                      type string;
                                      description
                                        "File path, relative to /opt/cisco/iosxr";
                                    }
    
                                    leaf change {
                                      type Inst-file-change;
                                      description
                                        "Change type";
                                    }
                                  }  // list changed-file
    
                                  list impacted-process {
                                    description
                                      "Impacted processes";
                                    leaf name {
                                      type string;
                                      description
                                        "Process name";
                                    }
    
                                    leaf change {
                                      type Inst-proc-change;
                                      description
                                        "Type of change";
                                    }
    
                                    leaf pid {
                                      type uint32;
                                      description
                                        "Process ID";
                                    }
                                  }  // list impacted-process
    
                                  list changed-feature {
                                    description
                                      "Changed features";
                                    leaf feature-name {
                                      type string;
                                      description
                                        "Name of feature";
                                    }
    
                                    leaf change {
                                      type Inst-feature-change;
                                      description
                                        "Change type";
                                    }
                                  }  // list changed-feature
                                }  // container trigger-changeset
    
                                leaf client-type {
                                  type Inst-client;
                                  description
                                    "ClientType";
                                }
    
                                leaf legacy-client {
                                  when
                                    "../client-type = 'legacy'" {
                                    description
                                      "../ClientType = 'Legacy'";
                                  }
                                  type boolean;
                                  description
                                    "Legacy client - notifications are sent
    regardless of changeset";
                                }
                              }  // container notification-trigger
    
                              leaf client {
                                type string;
                                description
                                  "Client notification was sent to";
                              }
    
                              leaf description {
                                type string;
                                description
                                  "Description of the client";
                              }
    
                              leaf sent-time {
                                type string;
                                description
                                  "Time notification was sent, in RFC3339 internet
    date/time format";
                              }
    
                              leaf response-status {
                                type Inst-notif-res;
                                description
                                  "Status of response from client";
                              }
    
                              leaf error {
                                type String1;
                                description
                                  "Error, if any";
                              }
    
                              leaf response-time {
                                type string;
                                description
                                  "Time of clients response, in RFC3339 internet
    date/time format";
                              }
    
                              leaf veto-reason {
                                type String1;
                                description
                                  "Reason for requested veto";
                              }
    
                              list reload-reason {
                                description
                                  "Reasons for reload, if any";
                                leaf node {
                                  type string;
                                  description
                                    "Which node is to be reloaded";
                                }
    
                                leaf reason {
                                  type String1;
                                  description
                                    "Reason for requested reload";
                                }
                              }  // list reload-reason
    
                              list extra-time-request {
                                description
                                  "Requests for extra time, if any";
                                leaf time {
                                  type string;
                                  description
                                    "Timestamp of request, in RFC3339 internet
    date/time format";
                                }
    
                                leaf extra-time {
                                  type uint32;
                                  units "second";
                                  description
                                    "Amount of extra time requested in seconds";
                                }
    
                                leaf reason {
                                  type String1;
                                  description
                                    "Reason for the extra time being requested (if
    known)";
                                }
                              }  // list extra-time-request
                            }  // list prepare-veto-notification
    
                            list prepare-notification {
                              description
                                "List of prepare notifications sent in 'Prepare'
    phase";
                              container notification-trigger {
                                description
                                  "Notification trigger";
                                container trigger-changeset {
                                  when
                                    "../client-type = 'default'" {
                                    description
                                      "../ClientType = 'Default'";
                                  }
                                  description
                                    "Trigger Changeset";
                                  container reload-reasons {
                                    description
                                      "Reload reasons";
                                    container packages {
                                      description
                                        "List of packages which has requested a reload";
                                      leaf-list package-name {
                                        type String1;
                                        description
                                          "package name";
                                      }
                                    }  // container packages
    
                                    leaf too-many-processes {
                                      type boolean;
                                      description
                                        "True if too many processes requested a restart";
                                    }
    
                                    list client {
                                      description
                                        "List of clients which have requested a reload";
                                      leaf name {
                                        type string;
                                        description
                                          "The name of the client";
                                      }
    
                                      leaf jid {
                                        type string;
                                        description
                                          "Job ID of the client";
                                      }
    
                                      leaf reason {
                                        type string;
                                        description
                                          "Reason to request a reload";
                                      }
                                    }  // list client
                                  }  // container reload-reasons
    
                                  list changed-file {
                                    description
                                      "Changed files";
                                    leaf path {
                                      type string;
                                      description
                                        "File path, relative to /opt/cisco/iosxr";
                                    }
    
                                    leaf change {
                                      type Inst-file-change;
                                      description
                                        "Change type";
                                    }
                                  }  // list changed-file
    
                                  list impacted-process {
                                    description
                                      "Impacted processes";
                                    leaf name {
                                      type string;
                                      description
                                        "Process name";
                                    }
    
                                    leaf change {
                                      type Inst-proc-change;
                                      description
                                        "Type of change";
                                    }
    
                                    leaf pid {
                                      type uint32;
                                      description
                                        "Process ID";
                                    }
                                  }  // list impacted-process
    
                                  list changed-feature {
                                    description
                                      "Changed features";
                                    leaf feature-name {
                                      type string;
                                      description
                                        "Name of feature";
                                    }
    
                                    leaf change {
                                      type Inst-feature-change;
                                      description
                                        "Change type";
                                    }
                                  }  // list changed-feature
                                }  // container trigger-changeset
    
                                leaf client-type {
                                  type Inst-client;
                                  description
                                    "ClientType";
                                }
    
                                leaf legacy-client {
                                  when
                                    "../client-type = 'legacy'" {
                                    description
                                      "../ClientType = 'Legacy'";
                                  }
                                  type boolean;
                                  description
                                    "Legacy client - notifications are sent
    regardless of changeset";
                                }
                              }  // container notification-trigger
    
                              leaf client {
                                type string;
                                description
                                  "Client notification was sent to";
                              }
    
                              leaf description {
                                type string;
                                description
                                  "Description of the client";
                              }
    
                              leaf sent-time {
                                type string;
                                description
                                  "Time notification was sent, in RFC3339 internet
    date/time format";
                              }
    
                              leaf response-status {
                                type Inst-notif-res;
                                description
                                  "Status of response from client";
                              }
    
                              leaf error {
                                type String1;
                                description
                                  "Error, if any";
                              }
    
                              leaf response-time {
                                type string;
                                description
                                  "Time of clients response, in RFC3339 internet
    date/time format";
                              }
    
                              leaf veto-reason {
                                type String1;
                                description
                                  "Reason for requested veto";
                              }
    
                              list reload-reason {
                                description
                                  "Reasons for reload, if any";
                                leaf node {
                                  type string;
                                  description
                                    "Which node is to be reloaded";
                                }
    
                                leaf reason {
                                  type String1;
                                  description
                                    "Reason for requested reload";
                                }
                              }  // list reload-reason
    
                              list extra-time-request {
                                description
                                  "Requests for extra time, if any";
                                leaf time {
                                  type string;
                                  description
                                    "Timestamp of request, in RFC3339 internet
    date/time format";
                                }
    
                                leaf extra-time {
                                  type uint32;
                                  units "second";
                                  description
                                    "Amount of extra time requested in seconds";
                                }
    
                                leaf reason {
                                  type String1;
                                  description
                                    "Reason for the extra time being requested (if
    known)";
                                }
                              }  // list extra-time-request
                            }  // list prepare-notification
    
                            list event {
                              description
                                "Per node events";
                              leaf event {
                                type Inst-node-event;
                                description
                                  "Event";
                              }
    
                              leaf time {
                                type string;
                                description
                                  "Timestamp, in RFC3339 internet date/time format";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for the event, for example an error
    string";
                              }
    
                              leaf event-id {
                                type uint32;
                                description
                                  "Transaction level identifier for this event";
                              }
                            }  // list event
                          }  // list packaging-operation-info-node
                        }  // container packaging-operation-info-nodes
    
                        container packaging-operation-info {
                          description
                            "Information about a packaging operation";
                          container request {
                            description
                              "Requested operation";
                            container operation {
                              when
                                "../reason = 'user'" {
                                description
                                  "../Reason = 'User'";
                              }
                              description
                                "Details of user request";
                              container unknown-packages {
                                when
                                  "../request = 'unknown'" {
                                  description
                                    "../Request = 'Unknown'";
                                }
                                description
                                  "List of packages";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container unknown-packages
    
                              container install-packages {
                                when
                                  "../request = 'add'" {
                                  description
                                    "../Request = 'Add'";
                                }
                                description
                                  "List of packages";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container install-packages
    
                              container remove-packages {
                                when
                                  "../request = 'remove'" {
                                  description
                                    "../Request = 'Remove'";
                                }
                                description
                                  "List of packages";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container remove-packages
    
                              container upgrade-packages {
                                when
                                  "../request = 'upgrade'" {
                                  description
                                    "../Request = 'Upgrade'";
                                }
                                description
                                  "List of packages";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container upgrade-packages
    
                              container downgrade-packages {
                                when
                                  "../request = 'downgrade'" {
                                  description
                                    "../Request = 'Downgrade'";
                                }
                                description
                                  "List of packages";
                                leaf-list package-name {
                                  type String1;
                                  description
                                    "package name";
                                }
                              }  // container downgrade-packages
    
                              leaf request {
                                type Inst-request;
                                description
                                  "Request";
                              }
    
                              leaf replace-iso {
                                when
                                  "../request = 'replace'" {
                                  description
                                    "../Request = 'Replace'";
                                }
                                type String1;
                                description
                                  "ISO";
                              }
    
                              leaf rollback-to-transaction {
                                when
                                  "../request = 'rollback'" {
                                  description
                                    "../Request = 'Rollback'";
                                }
                                type uint32;
                                description
                                  "Transaction ID";
                              }
                            }  // container operation
    
                            container abort-operation {
                              when
                                "../reason = 'undoing-due-to-abort'" {
                                description
                                  "../Reason = 'UndoingDueToAbort'";
                              }
                              description
                                "Details of packaging operation(s) being undone";
                              leaf abort-type {
                                type Inst-package-abort;
                                description
                                  "Abort Type";
                              }
    
                              leaf-list packaging-operation {
                                type uint32;
                                description
                                  "Indices of packaging operations being undone";
                              }
                            }  // container abort-operation
    
                            leaf reason {
                              type Inst-req-reason;
                              description
                                "Reason";
                            }
                          }  // container request
    
                          leaf index {
                            type uint32;
                            description
                              "Packaging operation index";
                          }
    
                          leaf error-string {
                            type String1;
                            description
                              "String pointing the user to any packaging
    manager error information";
                          }
    
                          list status-history {
                            description
                              "Status history for the package operation, in
    reverse chronological order";
                            leaf status {
                              type Inst-pkg-op-status;
                              description
                                "Status";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason this status was set, which could be an
    error or a recovery action";
                            }
    
                            leaf time {
                              type string;
                              description
                                "Timestamp this status was set, in RFC3339
    internet date/time format";
                            }
    
                            leaf event-id {
                              type uint32;
                              description
                                "Transaction level identifier for this status
    change";
                            }
                          }  // list status-history
    
                          list nodes {
                            status obsolete;
                            description
                              "Node-specific information";
                            container disk-space-check {
                              description
                                "Disk space pre-check information";
                              leaf phase {
                                type Inst-disk-space-check-phase;
                                description
                                  "Phase the disk space check failed at";
                              }
    
                              leaf required-space {
                                type uint64;
                                units "byte";
                                description
                                  "Space required in the rootfs in bytes";
                              }
    
                              leaf available-space {
                                type uint64;
                                units "byte";
                                description
                                  "Space available in the rootfs in bytes";
                              }
                            }  // container disk-space-check
    
                            leaf node {
                              type string;
                              description
                                "Node name";
                            }
    
                            leaf download-size {
                              type uint64;
                              units "byte";
                              description
                                "Download size in bytes (deprecated)";
                            }
    
                            leaf installed-size {
                              type uint64;
                              units "byte";
                              description
                                "Total installed size of packages in bytes
    (deprecated)";
                            }
    
                            list package {
                              description
                                "List of packages";
                              container package {
                                description
                                  "Package";
                                leaf name {
                                  type string;
                                  description
                                    "Package name";
                                }
    
                                leaf version {
                                  type String1;
                                  description
                                    "Version";
                                }
    
                                leaf architecture {
                                  type String1;
                                  description
                                    "Package architecture";
                                }
                              }  // container package
    
                              leaf action {
                                type Inst-pkg-op-act;
                                description
                                  "Action taken on this package";
                              }
                            }  // list package
    
                            list packages-no-action {
                              description
                                "List of input packages on which no action was
    taken, for example because there was no suitable
    version to upgrade or downgrade to";
                              container package {
                                description
                                  "Package or user input on which no action was
    taken";
                                leaf name {
                                  type string;
                                  description
                                    "Package name";
                                }
    
                                leaf version {
                                  type String1;
                                  description
                                    "Version";
                                }
    
                                leaf architecture {
                                  type String1;
                                  description
                                    "Package architecture";
                                }
                              }  // container package
    
                              leaf reason {
                                type Inst-no-action-reason;
                                description
                                  "Reason that no action was taken on this package";
                              }
                            }  // list packages-no-action
    
                            list veto-notification {
                              description
                                "List of notifications sent in 'Veto' phase";
                              container notification-trigger {
                                description
                                  "Notification trigger";
                                container trigger-changeset {
                                  when
                                    "../client-type = 'default'" {
                                    description
                                      "../ClientType = 'Default'";
                                  }
                                  description
                                    "Trigger Changeset";
                                  container reload-reasons {
                                    description
                                      "Reload reasons";
                                    container packages {
                                      description
                                        "List of packages which has requested a reload";
                                      leaf-list package-name {
                                        type String1;
                                        description
                                          "package name";
                                      }
                                    }  // container packages
    
                                    leaf too-many-processes {
                                      type boolean;
                                      description
                                        "True if too many processes requested a restart";
                                    }
    
                                    list client {
                                      description
                                        "List of clients which have requested a reload";
                                      leaf name {
                                        type string;
                                        description
                                          "The name of the client";
                                      }
    
                                      leaf jid {
                                        type string;
                                        description
                                          "Job ID of the client";
                                      }
    
                                      leaf reason {
                                        type string;
                                        description
                                          "Reason to request a reload";
                                      }
                                    }  // list client
                                  }  // container reload-reasons
    
                                  list changed-file {
                                    description
                                      "Changed files";
                                    leaf path {
                                      type string;
                                      description
                                        "File path, relative to /opt/cisco/iosxr";
                                    }
    
                                    leaf change {
                                      type Inst-file-change;
                                      description
                                        "Change type";
                                    }
                                  }  // list changed-file
    
                                  list impacted-process {
                                    description
                                      "Impacted processes";
                                    leaf name {
                                      type string;
                                      description
                                        "Process name";
                                    }
    
                                    leaf change {
                                      type Inst-proc-change;
                                      description
                                        "Type of change";
                                    }
    
                                    leaf pid {
                                      type uint32;
                                      description
                                        "Process ID";
                                    }
                                  }  // list impacted-process
    
                                  list changed-feature {
                                    description
                                      "Changed features";
                                    leaf feature-name {
                                      type string;
                                      description
                                        "Name of feature";
                                    }
    
                                    leaf change {
                                      type Inst-feature-change;
                                      description
                                        "Change type";
                                    }
                                  }  // list changed-feature
                                }  // container trigger-changeset
    
                                leaf client-type {
                                  type Inst-client;
                                  description
                                    "ClientType";
                                }
    
                                leaf legacy-client {
                                  when
                                    "../client-type = 'legacy'" {
                                    description
                                      "../ClientType = 'Legacy'";
                                  }
                                  type boolean;
                                  description
                                    "Legacy client - notifications are sent
    regardless of changeset";
                                }
                              }  // container notification-trigger
    
                              leaf client {
                                type string;
                                description
                                  "Client notification was sent to";
                              }
    
                              leaf description {
                                type string;
                                description
                                  "Description of the client";
                              }
    
                              leaf sent-time {
                                type string;
                                description
                                  "Time notification was sent, in RFC3339 internet
    date/time format";
                              }
    
                              leaf response-status {
                                type Inst-notif-res;
                                description
                                  "Status of response from client";
                              }
    
                              leaf error {
                                type String1;
                                description
                                  "Error, if any";
                              }
    
                              leaf response-time {
                                type string;
                                description
                                  "Time of clients response, in RFC3339 internet
    date/time format";
                              }
    
                              leaf veto-reason {
                                type String1;
                                description
                                  "Reason for requested veto";
                              }
    
                              list reload-reason {
                                description
                                  "Reasons for reload, if any";
                                leaf node {
                                  type string;
                                  description
                                    "Which node is to be reloaded";
                                }
    
                                leaf reason {
                                  type String1;
                                  description
                                    "Reason for requested reload";
                                }
                              }  // list reload-reason
    
                              list extra-time-request {
                                description
                                  "Requests for extra time, if any";
                                leaf time {
                                  type string;
                                  description
                                    "Timestamp of request, in RFC3339 internet
    date/time format";
                                }
    
                                leaf extra-time {
                                  type uint32;
                                  units "second";
                                  description
                                    "Amount of extra time requested in seconds";
                                }
    
                                leaf reason {
                                  type String1;
                                  description
                                    "Reason for the extra time being requested (if
    known)";
                                }
                              }  // list extra-time-request
                            }  // list veto-notification
    
                            list prepare-veto-notification {
                              description
                                "List of veto notifications sent in 'Prepare'
    phase";
                              container notification-trigger {
                                description
                                  "Notification trigger";
                                container trigger-changeset {
                                  when
                                    "../client-type = 'default'" {
                                    description
                                      "../ClientType = 'Default'";
                                  }
                                  description
                                    "Trigger Changeset";
                                  container reload-reasons {
                                    description
                                      "Reload reasons";
                                    container packages {
                                      description
                                        "List of packages which has requested a reload";
                                      leaf-list package-name {
                                        type String1;
                                        description
                                          "package name";
                                      }
                                    }  // container packages
    
                                    leaf too-many-processes {
                                      type boolean;
                                      description
                                        "True if too many processes requested a restart";
                                    }
    
                                    list client {
                                      description
                                        "List of clients which have requested a reload";
                                      leaf name {
                                        type string;
                                        description
                                          "The name of the client";
                                      }
    
                                      leaf jid {
                                        type string;
                                        description
                                          "Job ID of the client";
                                      }
    
                                      leaf reason {
                                        type string;
                                        description
                                          "Reason to request a reload";
                                      }
                                    }  // list client
                                  }  // container reload-reasons
    
                                  list changed-file {
                                    description
                                      "Changed files";
                                    leaf path {
                                      type string;
                                      description
                                        "File path, relative to /opt/cisco/iosxr";
                                    }
    
                                    leaf change {
                                      type Inst-file-change;
                                      description
                                        "Change type";
                                    }
                                  }  // list changed-file
    
                                  list impacted-process {
                                    description
                                      "Impacted processes";
                                    leaf name {
                                      type string;
                                      description
                                        "Process name";
                                    }
    
                                    leaf change {
                                      type Inst-proc-change;
                                      description
                                        "Type of change";
                                    }
    
                                    leaf pid {
                                      type uint32;
                                      description
                                        "Process ID";
                                    }
                                  }  // list impacted-process
    
                                  list changed-feature {
                                    description
                                      "Changed features";
                                    leaf feature-name {
                                      type string;
                                      description
                                        "Name of feature";
                                    }
    
                                    leaf change {
                                      type Inst-feature-change;
                                      description
                                        "Change type";
                                    }
                                  }  // list changed-feature
                                }  // container trigger-changeset
    
                                leaf client-type {
                                  type Inst-client;
                                  description
                                    "ClientType";
                                }
    
                                leaf legacy-client {
                                  when
                                    "../client-type = 'legacy'" {
                                    description
                                      "../ClientType = 'Legacy'";
                                  }
                                  type boolean;
                                  description
                                    "Legacy client - notifications are sent
    regardless of changeset";
                                }
                              }  // container notification-trigger
    
                              leaf client {
                                type string;
                                description
                                  "Client notification was sent to";
                              }
    
                              leaf description {
                                type string;
                                description
                                  "Description of the client";
                              }
    
                              leaf sent-time {
                                type string;
                                description
                                  "Time notification was sent, in RFC3339 internet
    date/time format";
                              }
    
                              leaf response-status {
                                type Inst-notif-res;
                                description
                                  "Status of response from client";
                              }
    
                              leaf error {
                                type String1;
                                description
                                  "Error, if any";
                              }
    
                              leaf response-time {
                                type string;
                                description
                                  "Time of clients response, in RFC3339 internet
    date/time format";
                              }
    
                              leaf veto-reason {
                                type String1;
                                description
                                  "Reason for requested veto";
                              }
    
                              list reload-reason {
                                description
                                  "Reasons for reload, if any";
                                leaf node {
                                  type string;
                                  description
                                    "Which node is to be reloaded";
                                }
    
                                leaf reason {
                                  type String1;
                                  description
                                    "Reason for requested reload";
                                }
                              }  // list reload-reason
    
                              list extra-time-request {
                                description
                                  "Requests for extra time, if any";
                                leaf time {
                                  type string;
                                  description
                                    "Timestamp of request, in RFC3339 internet
    date/time format";
                                }
    
                                leaf extra-time {
                                  type uint32;
                                  units "second";
                                  description
                                    "Amount of extra time requested in seconds";
                                }
    
                                leaf reason {
                                  type String1;
                                  description
                                    "Reason for the extra time being requested (if
    known)";
                                }
                              }  // list extra-time-request
                            }  // list prepare-veto-notification
    
                            list prepare-notification {
                              description
                                "List of prepare notifications sent in 'Prepare'
    phase";
                              container notification-trigger {
                                description
                                  "Notification trigger";
                                container trigger-changeset {
                                  when
                                    "../client-type = 'default'" {
                                    description
                                      "../ClientType = 'Default'";
                                  }
                                  description
                                    "Trigger Changeset";
                                  container reload-reasons {
                                    description
                                      "Reload reasons";
                                    container packages {
                                      description
                                        "List of packages which has requested a reload";
                                      leaf-list package-name {
                                        type String1;
                                        description
                                          "package name";
                                      }
                                    }  // container packages
    
                                    leaf too-many-processes {
                                      type boolean;
                                      description
                                        "True if too many processes requested a restart";
                                    }
    
                                    list client {
                                      description
                                        "List of clients which have requested a reload";
                                      leaf name {
                                        type string;
                                        description
                                          "The name of the client";
                                      }
    
                                      leaf jid {
                                        type string;
                                        description
                                          "Job ID of the client";
                                      }
    
                                      leaf reason {
                                        type string;
                                        description
                                          "Reason to request a reload";
                                      }
                                    }  // list client
                                  }  // container reload-reasons
    
                                  list changed-file {
                                    description
                                      "Changed files";
                                    leaf path {
                                      type string;
                                      description
                                        "File path, relative to /opt/cisco/iosxr";
                                    }
    
                                    leaf change {
                                      type Inst-file-change;
                                      description
                                        "Change type";
                                    }
                                  }  // list changed-file
    
                                  list impacted-process {
                                    description
                                      "Impacted processes";
                                    leaf name {
                                      type string;
                                      description
                                        "Process name";
                                    }
    
                                    leaf change {
                                      type Inst-proc-change;
                                      description
                                        "Type of change";
                                    }
    
                                    leaf pid {
                                      type uint32;
                                      description
                                        "Process ID";
                                    }
                                  }  // list impacted-process
    
                                  list changed-feature {
                                    description
                                      "Changed features";
                                    leaf feature-name {
                                      type string;
                                      description
                                        "Name of feature";
                                    }
    
                                    leaf change {
                                      type Inst-feature-change;
                                      description
                                        "Change type";
                                    }
                                  }  // list changed-feature
                                }  // container trigger-changeset
    
                                leaf client-type {
                                  type Inst-client;
                                  description
                                    "ClientType";
                                }
    
                                leaf legacy-client {
                                  when
                                    "../client-type = 'legacy'" {
                                    description
                                      "../ClientType = 'Legacy'";
                                  }
                                  type boolean;
                                  description
                                    "Legacy client - notifications are sent
    regardless of changeset";
                                }
                              }  // container notification-trigger
    
                              leaf client {
                                type string;
                                description
                                  "Client notification was sent to";
                              }
    
                              leaf description {
                                type string;
                                description
                                  "Description of the client";
                              }
    
                              leaf sent-time {
                                type string;
                                description
                                  "Time notification was sent, in RFC3339 internet
    date/time format";
                              }
    
                              leaf response-status {
                                type Inst-notif-res;
                                description
                                  "Status of response from client";
                              }
    
                              leaf error {
                                type String1;
                                description
                                  "Error, if any";
                              }
    
                              leaf response-time {
                                type string;
                                description
                                  "Time of clients response, in RFC3339 internet
    date/time format";
                              }
    
                              leaf veto-reason {
                                type String1;
                                description
                                  "Reason for requested veto";
                              }
    
                              list reload-reason {
                                description
                                  "Reasons for reload, if any";
                                leaf node {
                                  type string;
                                  description
                                    "Which node is to be reloaded";
                                }
    
                                leaf reason {
                                  type String1;
                                  description
                                    "Reason for requested reload";
                                }
                              }  // list reload-reason
    
                              list extra-time-request {
                                description
                                  "Requests for extra time, if any";
                                leaf time {
                                  type string;
                                  description
                                    "Timestamp of request, in RFC3339 internet
    date/time format";
                                }
    
                                leaf extra-time {
                                  type uint32;
                                  units "second";
                                  description
                                    "Amount of extra time requested in seconds";
                                }
    
                                leaf reason {
                                  type String1;
                                  description
                                    "Reason for the extra time being requested (if
    known)";
                                }
                              }  // list extra-time-request
                            }  // list prepare-notification
    
                            list event {
                              description
                                "Per node events";
                              leaf event {
                                type Inst-node-event;
                                description
                                  "Event";
                              }
    
                              leaf time {
                                type string;
                                description
                                  "Timestamp, in RFC3339 internet date/time format";
                              }
    
                              leaf reason {
                                type String1;
                                description
                                  "Reason for the event, for example an error
    string";
                              }
    
                              leaf event-id {
                                type uint32;
                                description
                                  "Transaction level identifier for this event";
                              }
                            }  // list event
                          }  // list nodes
                        }  // container packaging-operation-info
                      }  // list packaging-operation
                    }  // container packaging-operations
    
                    container atomic-change-info {
                      description
                        "Summary information about the atomic change";
                      leaf index {
                        type uint32;
                        description
                          "Atomic change index";
                      }
    
                      leaf requested-apply-method {
                        type Inst-activation;
                        description
                          "Requested apply method";
                      }
    
                      leaf least-impactful-apply-method {
                        type Inst-activation;
                        description
                          "Least impactful apply method required to apply
    packaging operations thus far.";
                      }
    
                      leaf install-restart {
                        type boolean;
                        description
                          "Install infra restart during apply";
                      }
    
                      list status-history {
                        description
                          "Status history for this atomic change, in
    reverse chronological order";
                        leaf status {
                          type Inst-atomic-status;
                          description "Status";
                        }
    
                        leaf reason {
                          type String1;
                          description
                            "Reason this status was set, which could be an
    error or a recovery action";
                        }
    
                        leaf time {
                          type string;
                          description
                            "Timestamp this status was set, in RFC3339
    internet date/time format";
                        }
    
                        leaf event-id {
                          type uint32;
                          description
                            "Transaction level identifier for this status
    change";
                        }
                      }  // list status-history
    
                      list nodes {
                        status obsolete;
                        description
                          "Node-specific information";
                        container changeset {
                          description
                            "Changeset information";
                          container reload-reasons {
                            description
                              "Reload reasons";
                            container packages {
                              description
                                "List of packages which has requested a reload";
                              leaf-list package-name {
                                type String1;
                                description
                                  "package name";
                              }
                            }  // container packages
    
                            leaf too-many-processes {
                              type boolean;
                              description
                                "True if too many processes requested a restart";
                            }
    
                            list client {
                              description
                                "List of clients which have requested a reload";
                              leaf name {
                                type string;
                                description
                                  "The name of the client";
                              }
    
                              leaf jid {
                                type string;
                                description
                                  "Job ID of the client";
                              }
    
                              leaf reason {
                                type string;
                                description
                                  "Reason to request a reload";
                              }
                            }  // list client
                          }  // container reload-reasons
    
                          list changed-file {
                            description
                              "Changed files";
                            leaf path {
                              type string;
                              description
                                "File path, relative to /opt/cisco/iosxr";
                            }
    
                            leaf change {
                              type Inst-file-change;
                              description
                                "Change type";
                            }
                          }  // list changed-file
    
                          list impacted-process {
                            description
                              "Impacted processes";
                            leaf name {
                              type string;
                              description
                                "Process name";
                            }
    
                            leaf change {
                              type Inst-proc-change;
                              description
                                "Type of change";
                            }
    
                            leaf pid {
                              type uint32;
                              description
                                "Process ID";
                            }
                          }  // list impacted-process
    
                          list changed-feature {
                            description
                              "Changed features";
                            leaf feature-name {
                              type string;
                              description
                                "Name of feature";
                            }
    
                            leaf change {
                              type Inst-feature-change;
                              description
                                "Change type";
                            }
                          }  // list changed-feature
                        }  // container changeset
    
                        leaf node {
                          type string;
                          description
                            "Node name";
                        }
    
                        list pre-pre-apply-notification {
                          description
                            "Notifications sent for 'Pre-pre-apply' phase";
                          container notification-trigger {
                            description
                              "Notification trigger";
                            container trigger-changeset {
                              when
                                "../client-type = 'default'" {
                                description
                                  "../ClientType = 'Default'";
                              }
                              description
                                "Trigger Changeset";
                              container reload-reasons {
                                description
                                  "Reload reasons";
                                container packages {
                                  description
                                    "List of packages which has requested a reload";
                                  leaf-list package-name {
                                    type String1;
                                    description
                                      "package name";
                                  }
                                }  // container packages
    
                                leaf too-many-processes {
                                  type boolean;
                                  description
                                    "True if too many processes requested a restart";
                                }
    
                                list client {
                                  description
                                    "List of clients which have requested a reload";
                                  leaf name {
                                    type string;
                                    description
                                      "The name of the client";
                                  }
    
                                  leaf jid {
                                    type string;
                                    description
                                      "Job ID of the client";
                                  }
    
                                  leaf reason {
                                    type string;
                                    description
                                      "Reason to request a reload";
                                  }
                                }  // list client
                              }  // container reload-reasons
    
                              list changed-file {
                                description
                                  "Changed files";
                                leaf path {
                                  type string;
                                  description
                                    "File path, relative to /opt/cisco/iosxr";
                                }
    
                                leaf change {
                                  type Inst-file-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-file
    
                              list impacted-process {
                                description
                                  "Impacted processes";
                                leaf name {
                                  type string;
                                  description
                                    "Process name";
                                }
    
                                leaf change {
                                  type Inst-proc-change;
                                  description
                                    "Type of change";
                                }
    
                                leaf pid {
                                  type uint32;
                                  description
                                    "Process ID";
                                }
                              }  // list impacted-process
    
                              list changed-feature {
                                description
                                  "Changed features";
                                leaf feature-name {
                                  type string;
                                  description
                                    "Name of feature";
                                }
    
                                leaf change {
                                  type Inst-feature-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-feature
                            }  // container trigger-changeset
    
                            leaf client-type {
                              type Inst-client;
                              description
                                "ClientType";
                            }
    
                            leaf legacy-client {
                              when
                                "../client-type = 'legacy'" {
                                description
                                  "../ClientType = 'Legacy'";
                              }
                              type boolean;
                              description
                                "Legacy client - notifications are sent
    regardless of changeset";
                            }
                          }  // container notification-trigger
    
                          leaf client {
                            type string;
                            description
                              "Client notification was sent to";
                          }
    
                          leaf description {
                            type string;
                            description
                              "Description of the client";
                          }
    
                          leaf sent-time {
                            type string;
                            description
                              "Time notification was sent, in RFC3339 internet
    date/time format";
                          }
    
                          leaf response-status {
                            type Inst-notif-res;
                            description
                              "Status of response from client";
                          }
    
                          leaf error {
                            type String1;
                            description
                              "Error, if any";
                          }
    
                          leaf response-time {
                            type string;
                            description
                              "Time of clients response, in RFC3339 internet
    date/time format";
                          }
    
                          leaf veto-reason {
                            type String1;
                            description
                              "Reason for requested veto";
                          }
    
                          list reload-reason {
                            description
                              "Reasons for reload, if any";
                            leaf node {
                              type string;
                              description
                                "Which node is to be reloaded";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for requested reload";
                            }
                          }  // list reload-reason
    
                          list extra-time-request {
                            description
                              "Requests for extra time, if any";
                            leaf time {
                              type string;
                              description
                                "Timestamp of request, in RFC3339 internet
    date/time format";
                            }
    
                            leaf extra-time {
                              type uint32;
                              units "second";
                              description
                                "Amount of extra time requested in seconds";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the extra time being requested (if
    known)";
                            }
                          }  // list extra-time-request
                        }  // list pre-pre-apply-notification
    
                        list pre-apply-notification {
                          description
                            "Notifications sent for 'Pre-apply' phase";
                          container notification-trigger {
                            description
                              "Notification trigger";
                            container trigger-changeset {
                              when
                                "../client-type = 'default'" {
                                description
                                  "../ClientType = 'Default'";
                              }
                              description
                                "Trigger Changeset";
                              container reload-reasons {
                                description
                                  "Reload reasons";
                                container packages {
                                  description
                                    "List of packages which has requested a reload";
                                  leaf-list package-name {
                                    type String1;
                                    description
                                      "package name";
                                  }
                                }  // container packages
    
                                leaf too-many-processes {
                                  type boolean;
                                  description
                                    "True if too many processes requested a restart";
                                }
    
                                list client {
                                  description
                                    "List of clients which have requested a reload";
                                  leaf name {
                                    type string;
                                    description
                                      "The name of the client";
                                  }
    
                                  leaf jid {
                                    type string;
                                    description
                                      "Job ID of the client";
                                  }
    
                                  leaf reason {
                                    type string;
                                    description
                                      "Reason to request a reload";
                                  }
                                }  // list client
                              }  // container reload-reasons
    
                              list changed-file {
                                description
                                  "Changed files";
                                leaf path {
                                  type string;
                                  description
                                    "File path, relative to /opt/cisco/iosxr";
                                }
    
                                leaf change {
                                  type Inst-file-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-file
    
                              list impacted-process {
                                description
                                  "Impacted processes";
                                leaf name {
                                  type string;
                                  description
                                    "Process name";
                                }
    
                                leaf change {
                                  type Inst-proc-change;
                                  description
                                    "Type of change";
                                }
    
                                leaf pid {
                                  type uint32;
                                  description
                                    "Process ID";
                                }
                              }  // list impacted-process
    
                              list changed-feature {
                                description
                                  "Changed features";
                                leaf feature-name {
                                  type string;
                                  description
                                    "Name of feature";
                                }
    
                                leaf change {
                                  type Inst-feature-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-feature
                            }  // container trigger-changeset
    
                            leaf client-type {
                              type Inst-client;
                              description
                                "ClientType";
                            }
    
                            leaf legacy-client {
                              when
                                "../client-type = 'legacy'" {
                                description
                                  "../ClientType = 'Legacy'";
                              }
                              type boolean;
                              description
                                "Legacy client - notifications are sent
    regardless of changeset";
                            }
                          }  // container notification-trigger
    
                          leaf client {
                            type string;
                            description
                              "Client notification was sent to";
                          }
    
                          leaf description {
                            type string;
                            description
                              "Description of the client";
                          }
    
                          leaf sent-time {
                            type string;
                            description
                              "Time notification was sent, in RFC3339 internet
    date/time format";
                          }
    
                          leaf response-status {
                            type Inst-notif-res;
                            description
                              "Status of response from client";
                          }
    
                          leaf error {
                            type String1;
                            description
                              "Error, if any";
                          }
    
                          leaf response-time {
                            type string;
                            description
                              "Time of clients response, in RFC3339 internet
    date/time format";
                          }
    
                          leaf veto-reason {
                            type String1;
                            description
                              "Reason for requested veto";
                          }
    
                          list reload-reason {
                            description
                              "Reasons for reload, if any";
                            leaf node {
                              type string;
                              description
                                "Which node is to be reloaded";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for requested reload";
                            }
                          }  // list reload-reason
    
                          list extra-time-request {
                            description
                              "Requests for extra time, if any";
                            leaf time {
                              type string;
                              description
                                "Timestamp of request, in RFC3339 internet
    date/time format";
                            }
    
                            leaf extra-time {
                              type uint32;
                              units "second";
                              description
                                "Amount of extra time requested in seconds";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the extra time being requested (if
    known)";
                            }
                          }  // list extra-time-request
                        }  // list pre-apply-notification
    
                        list apply-notification {
                          description
                            "Notifications sent for 'Apply' phase";
                          container notification-trigger {
                            description
                              "Notification trigger";
                            container trigger-changeset {
                              when
                                "../client-type = 'default'" {
                                description
                                  "../ClientType = 'Default'";
                              }
                              description
                                "Trigger Changeset";
                              container reload-reasons {
                                description
                                  "Reload reasons";
                                container packages {
                                  description
                                    "List of packages which has requested a reload";
                                  leaf-list package-name {
                                    type String1;
                                    description
                                      "package name";
                                  }
                                }  // container packages
    
                                leaf too-many-processes {
                                  type boolean;
                                  description
                                    "True if too many processes requested a restart";
                                }
    
                                list client {
                                  description
                                    "List of clients which have requested a reload";
                                  leaf name {
                                    type string;
                                    description
                                      "The name of the client";
                                  }
    
                                  leaf jid {
                                    type string;
                                    description
                                      "Job ID of the client";
                                  }
    
                                  leaf reason {
                                    type string;
                                    description
                                      "Reason to request a reload";
                                  }
                                }  // list client
                              }  // container reload-reasons
    
                              list changed-file {
                                description
                                  "Changed files";
                                leaf path {
                                  type string;
                                  description
                                    "File path, relative to /opt/cisco/iosxr";
                                }
    
                                leaf change {
                                  type Inst-file-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-file
    
                              list impacted-process {
                                description
                                  "Impacted processes";
                                leaf name {
                                  type string;
                                  description
                                    "Process name";
                                }
    
                                leaf change {
                                  type Inst-proc-change;
                                  description
                                    "Type of change";
                                }
    
                                leaf pid {
                                  type uint32;
                                  description
                                    "Process ID";
                                }
                              }  // list impacted-process
    
                              list changed-feature {
                                description
                                  "Changed features";
                                leaf feature-name {
                                  type string;
                                  description
                                    "Name of feature";
                                }
    
                                leaf change {
                                  type Inst-feature-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-feature
                            }  // container trigger-changeset
    
                            leaf client-type {
                              type Inst-client;
                              description
                                "ClientType";
                            }
    
                            leaf legacy-client {
                              when
                                "../client-type = 'legacy'" {
                                description
                                  "../ClientType = 'Legacy'";
                              }
                              type boolean;
                              description
                                "Legacy client - notifications are sent
    regardless of changeset";
                            }
                          }  // container notification-trigger
    
                          leaf client {
                            type string;
                            description
                              "Client notification was sent to";
                          }
    
                          leaf description {
                            type string;
                            description
                              "Description of the client";
                          }
    
                          leaf sent-time {
                            type string;
                            description
                              "Time notification was sent, in RFC3339 internet
    date/time format";
                          }
    
                          leaf response-status {
                            type Inst-notif-res;
                            description
                              "Status of response from client";
                          }
    
                          leaf error {
                            type String1;
                            description
                              "Error, if any";
                          }
    
                          leaf response-time {
                            type string;
                            description
                              "Time of clients response, in RFC3339 internet
    date/time format";
                          }
    
                          leaf veto-reason {
                            type String1;
                            description
                              "Reason for requested veto";
                          }
    
                          list reload-reason {
                            description
                              "Reasons for reload, if any";
                            leaf node {
                              type string;
                              description
                                "Which node is to be reloaded";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for requested reload";
                            }
                          }  // list reload-reason
    
                          list extra-time-request {
                            description
                              "Requests for extra time, if any";
                            leaf time {
                              type string;
                              description
                                "Timestamp of request, in RFC3339 internet
    date/time format";
                            }
    
                            leaf extra-time {
                              type uint32;
                              units "second";
                              description
                                "Amount of extra time requested in seconds";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the extra time being requested (if
    known)";
                            }
                          }  // list extra-time-request
                        }  // list apply-notification
    
                        list further-apply-notification {
                          description
                            "Further notifications sent for 'Apply' phase,
    after allowing for processes to restart";
                          container notification-trigger {
                            description
                              "Notification trigger";
                            container trigger-changeset {
                              when
                                "../client-type = 'default'" {
                                description
                                  "../ClientType = 'Default'";
                              }
                              description
                                "Trigger Changeset";
                              container reload-reasons {
                                description
                                  "Reload reasons";
                                container packages {
                                  description
                                    "List of packages which has requested a reload";
                                  leaf-list package-name {
                                    type String1;
                                    description
                                      "package name";
                                  }
                                }  // container packages
    
                                leaf too-many-processes {
                                  type boolean;
                                  description
                                    "True if too many processes requested a restart";
                                }
    
                                list client {
                                  description
                                    "List of clients which have requested a reload";
                                  leaf name {
                                    type string;
                                    description
                                      "The name of the client";
                                  }
    
                                  leaf jid {
                                    type string;
                                    description
                                      "Job ID of the client";
                                  }
    
                                  leaf reason {
                                    type string;
                                    description
                                      "Reason to request a reload";
                                  }
                                }  // list client
                              }  // container reload-reasons
    
                              list changed-file {
                                description
                                  "Changed files";
                                leaf path {
                                  type string;
                                  description
                                    "File path, relative to /opt/cisco/iosxr";
                                }
    
                                leaf change {
                                  type Inst-file-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-file
    
                              list impacted-process {
                                description
                                  "Impacted processes";
                                leaf name {
                                  type string;
                                  description
                                    "Process name";
                                }
    
                                leaf change {
                                  type Inst-proc-change;
                                  description
                                    "Type of change";
                                }
    
                                leaf pid {
                                  type uint32;
                                  description
                                    "Process ID";
                                }
                              }  // list impacted-process
    
                              list changed-feature {
                                description
                                  "Changed features";
                                leaf feature-name {
                                  type string;
                                  description
                                    "Name of feature";
                                }
    
                                leaf change {
                                  type Inst-feature-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-feature
                            }  // container trigger-changeset
    
                            leaf client-type {
                              type Inst-client;
                              description
                                "ClientType";
                            }
    
                            leaf legacy-client {
                              when
                                "../client-type = 'legacy'" {
                                description
                                  "../ClientType = 'Legacy'";
                              }
                              type boolean;
                              description
                                "Legacy client - notifications are sent
    regardless of changeset";
                            }
                          }  // container notification-trigger
    
                          leaf client {
                            type string;
                            description
                              "Client notification was sent to";
                          }
    
                          leaf description {
                            type string;
                            description
                              "Description of the client";
                          }
    
                          leaf sent-time {
                            type string;
                            description
                              "Time notification was sent, in RFC3339 internet
    date/time format";
                          }
    
                          leaf response-status {
                            type Inst-notif-res;
                            description
                              "Status of response from client";
                          }
    
                          leaf error {
                            type String1;
                            description
                              "Error, if any";
                          }
    
                          leaf response-time {
                            type string;
                            description
                              "Time of clients response, in RFC3339 internet
    date/time format";
                          }
    
                          leaf veto-reason {
                            type String1;
                            description
                              "Reason for requested veto";
                          }
    
                          list reload-reason {
                            description
                              "Reasons for reload, if any";
                            leaf node {
                              type string;
                              description
                                "Which node is to be reloaded";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for requested reload";
                            }
                          }  // list reload-reason
    
                          list extra-time-request {
                            description
                              "Requests for extra time, if any";
                            leaf time {
                              type string;
                              description
                                "Timestamp of request, in RFC3339 internet
    date/time format";
                            }
    
                            leaf extra-time {
                              type uint32;
                              units "second";
                              description
                                "Amount of extra time requested in seconds";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the extra time being requested (if
    known)";
                            }
                          }  // list extra-time-request
                        }  // list further-apply-notification
    
                        list post-apply-notification {
                          description
                            "Notifications sent for 'Post-apply' phase";
                          container notification-trigger {
                            description
                              "Notification trigger";
                            container trigger-changeset {
                              when
                                "../client-type = 'default'" {
                                description
                                  "../ClientType = 'Default'";
                              }
                              description
                                "Trigger Changeset";
                              container reload-reasons {
                                description
                                  "Reload reasons";
                                container packages {
                                  description
                                    "List of packages which has requested a reload";
                                  leaf-list package-name {
                                    type String1;
                                    description
                                      "package name";
                                  }
                                }  // container packages
    
                                leaf too-many-processes {
                                  type boolean;
                                  description
                                    "True if too many processes requested a restart";
                                }
    
                                list client {
                                  description
                                    "List of clients which have requested a reload";
                                  leaf name {
                                    type string;
                                    description
                                      "The name of the client";
                                  }
    
                                  leaf jid {
                                    type string;
                                    description
                                      "Job ID of the client";
                                  }
    
                                  leaf reason {
                                    type string;
                                    description
                                      "Reason to request a reload";
                                  }
                                }  // list client
                              }  // container reload-reasons
    
                              list changed-file {
                                description
                                  "Changed files";
                                leaf path {
                                  type string;
                                  description
                                    "File path, relative to /opt/cisco/iosxr";
                                }
    
                                leaf change {
                                  type Inst-file-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-file
    
                              list impacted-process {
                                description
                                  "Impacted processes";
                                leaf name {
                                  type string;
                                  description
                                    "Process name";
                                }
    
                                leaf change {
                                  type Inst-proc-change;
                                  description
                                    "Type of change";
                                }
    
                                leaf pid {
                                  type uint32;
                                  description
                                    "Process ID";
                                }
                              }  // list impacted-process
    
                              list changed-feature {
                                description
                                  "Changed features";
                                leaf feature-name {
                                  type string;
                                  description
                                    "Name of feature";
                                }
    
                                leaf change {
                                  type Inst-feature-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-feature
                            }  // container trigger-changeset
    
                            leaf client-type {
                              type Inst-client;
                              description
                                "ClientType";
                            }
    
                            leaf legacy-client {
                              when
                                "../client-type = 'legacy'" {
                                description
                                  "../ClientType = 'Legacy'";
                              }
                              type boolean;
                              description
                                "Legacy client - notifications are sent
    regardless of changeset";
                            }
                          }  // container notification-trigger
    
                          leaf client {
                            type string;
                            description
                              "Client notification was sent to";
                          }
    
                          leaf description {
                            type string;
                            description
                              "Description of the client";
                          }
    
                          leaf sent-time {
                            type string;
                            description
                              "Time notification was sent, in RFC3339 internet
    date/time format";
                          }
    
                          leaf response-status {
                            type Inst-notif-res;
                            description
                              "Status of response from client";
                          }
    
                          leaf error {
                            type String1;
                            description
                              "Error, if any";
                          }
    
                          leaf response-time {
                            type string;
                            description
                              "Time of clients response, in RFC3339 internet
    date/time format";
                          }
    
                          leaf veto-reason {
                            type String1;
                            description
                              "Reason for requested veto";
                          }
    
                          list reload-reason {
                            description
                              "Reasons for reload, if any";
                            leaf node {
                              type string;
                              description
                                "Which node is to be reloaded";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for requested reload";
                            }
                          }  // list reload-reason
    
                          list extra-time-request {
                            description
                              "Requests for extra time, if any";
                            leaf time {
                              type string;
                              description
                                "Timestamp of request, in RFC3339 internet
    date/time format";
                            }
    
                            leaf extra-time {
                              type uint32;
                              units "second";
                              description
                                "Amount of extra time requested in seconds";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the extra time being requested (if
    known)";
                            }
                          }  // list extra-time-request
                        }  // list post-apply-notification
    
                        list post-post-apply-notification {
                          description
                            "Notifications sent for 'Post-post-apply' phase";
                          container notification-trigger {
                            description
                              "Notification trigger";
                            container trigger-changeset {
                              when
                                "../client-type = 'default'" {
                                description
                                  "../ClientType = 'Default'";
                              }
                              description
                                "Trigger Changeset";
                              container reload-reasons {
                                description
                                  "Reload reasons";
                                container packages {
                                  description
                                    "List of packages which has requested a reload";
                                  leaf-list package-name {
                                    type String1;
                                    description
                                      "package name";
                                  }
                                }  // container packages
    
                                leaf too-many-processes {
                                  type boolean;
                                  description
                                    "True if too many processes requested a restart";
                                }
    
                                list client {
                                  description
                                    "List of clients which have requested a reload";
                                  leaf name {
                                    type string;
                                    description
                                      "The name of the client";
                                  }
    
                                  leaf jid {
                                    type string;
                                    description
                                      "Job ID of the client";
                                  }
    
                                  leaf reason {
                                    type string;
                                    description
                                      "Reason to request a reload";
                                  }
                                }  // list client
                              }  // container reload-reasons
    
                              list changed-file {
                                description
                                  "Changed files";
                                leaf path {
                                  type string;
                                  description
                                    "File path, relative to /opt/cisco/iosxr";
                                }
    
                                leaf change {
                                  type Inst-file-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-file
    
                              list impacted-process {
                                description
                                  "Impacted processes";
                                leaf name {
                                  type string;
                                  description
                                    "Process name";
                                }
    
                                leaf change {
                                  type Inst-proc-change;
                                  description
                                    "Type of change";
                                }
    
                                leaf pid {
                                  type uint32;
                                  description
                                    "Process ID";
                                }
                              }  // list impacted-process
    
                              list changed-feature {
                                description
                                  "Changed features";
                                leaf feature-name {
                                  type string;
                                  description
                                    "Name of feature";
                                }
    
                                leaf change {
                                  type Inst-feature-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-feature
                            }  // container trigger-changeset
    
                            leaf client-type {
                              type Inst-client;
                              description
                                "ClientType";
                            }
    
                            leaf legacy-client {
                              when
                                "../client-type = 'legacy'" {
                                description
                                  "../ClientType = 'Legacy'";
                              }
                              type boolean;
                              description
                                "Legacy client - notifications are sent
    regardless of changeset";
                            }
                          }  // container notification-trigger
    
                          leaf client {
                            type string;
                            description
                              "Client notification was sent to";
                          }
    
                          leaf description {
                            type string;
                            description
                              "Description of the client";
                          }
    
                          leaf sent-time {
                            type string;
                            description
                              "Time notification was sent, in RFC3339 internet
    date/time format";
                          }
    
                          leaf response-status {
                            type Inst-notif-res;
                            description
                              "Status of response from client";
                          }
    
                          leaf error {
                            type String1;
                            description
                              "Error, if any";
                          }
    
                          leaf response-time {
                            type string;
                            description
                              "Time of clients response, in RFC3339 internet
    date/time format";
                          }
    
                          leaf veto-reason {
                            type String1;
                            description
                              "Reason for requested veto";
                          }
    
                          list reload-reason {
                            description
                              "Reasons for reload, if any";
                            leaf node {
                              type string;
                              description
                                "Which node is to be reloaded";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for requested reload";
                            }
                          }  // list reload-reason
    
                          list extra-time-request {
                            description
                              "Requests for extra time, if any";
                            leaf time {
                              type string;
                              description
                                "Timestamp of request, in RFC3339 internet
    date/time format";
                            }
    
                            leaf extra-time {
                              type uint32;
                              units "second";
                              description
                                "Amount of extra time requested in seconds";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the extra time being requested (if
    known)";
                            }
                          }  // list extra-time-request
                        }  // list post-post-apply-notification
    
                        list event {
                          description
                            "Per node events";
                          leaf event {
                            type Inst-node-event;
                            description "Event";
                          }
    
                          leaf time {
                            type string;
                            description
                              "Timestamp, in RFC3339 internet date/time format";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the event, for example an error
    string";
                          }
    
                          leaf event-id {
                            type uint32;
                            description
                              "Transaction level identifier for this event";
                          }
                        }  // list event
                      }  // list nodes
                    }  // container atomic-change-info
    
                    container atomic-change-info-nodes {
                      description
                        "Table for per-node information when carrying out
    an atomic change";
                      list atomic-change-info-node {
                        key "node";
                        description
                          "Node specific information when carrying out an
    atomic change";
                        leaf node {
                          type xr:Node-id;
                          description
                            "Node name";
                        }
    
                        container changeset {
                          description
                            "Changeset information";
                          container reload-reasons {
                            description
                              "Reload reasons";
                            container packages {
                              description
                                "List of packages which has requested a reload";
                              leaf-list package-name {
                                type String1;
                                description
                                  "package name";
                              }
                            }  // container packages
    
                            leaf too-many-processes {
                              type boolean;
                              description
                                "True if too many processes requested a restart";
                            }
    
                            list client {
                              description
                                "List of clients which have requested a reload";
                              leaf name {
                                type string;
                                description
                                  "The name of the client";
                              }
    
                              leaf jid {
                                type string;
                                description
                                  "Job ID of the client";
                              }
    
                              leaf reason {
                                type string;
                                description
                                  "Reason to request a reload";
                              }
                            }  // list client
                          }  // container reload-reasons
    
                          list changed-file {
                            description
                              "Changed files";
                            leaf path {
                              type string;
                              description
                                "File path, relative to /opt/cisco/iosxr";
                            }
    
                            leaf change {
                              type Inst-file-change;
                              description
                                "Change type";
                            }
                          }  // list changed-file
    
                          list impacted-process {
                            description
                              "Impacted processes";
                            leaf name {
                              type string;
                              description
                                "Process name";
                            }
    
                            leaf change {
                              type Inst-proc-change;
                              description
                                "Type of change";
                            }
    
                            leaf pid {
                              type uint32;
                              description
                                "Process ID";
                            }
                          }  // list impacted-process
    
                          list changed-feature {
                            description
                              "Changed features";
                            leaf feature-name {
                              type string;
                              description
                                "Name of feature";
                            }
    
                            leaf change {
                              type Inst-feature-change;
                              description
                                "Change type";
                            }
                          }  // list changed-feature
                        }  // container changeset
    
                        list pre-pre-apply-notification {
                          description
                            "Notifications sent for 'Pre-pre-apply' phase";
                          container notification-trigger {
                            description
                              "Notification trigger";
                            container trigger-changeset {
                              when
                                "../client-type = 'default'" {
                                description
                                  "../ClientType = 'Default'";
                              }
                              description
                                "Trigger Changeset";
                              container reload-reasons {
                                description
                                  "Reload reasons";
                                container packages {
                                  description
                                    "List of packages which has requested a reload";
                                  leaf-list package-name {
                                    type String1;
                                    description
                                      "package name";
                                  }
                                }  // container packages
    
                                leaf too-many-processes {
                                  type boolean;
                                  description
                                    "True if too many processes requested a restart";
                                }
    
                                list client {
                                  description
                                    "List of clients which have requested a reload";
                                  leaf name {
                                    type string;
                                    description
                                      "The name of the client";
                                  }
    
                                  leaf jid {
                                    type string;
                                    description
                                      "Job ID of the client";
                                  }
    
                                  leaf reason {
                                    type string;
                                    description
                                      "Reason to request a reload";
                                  }
                                }  // list client
                              }  // container reload-reasons
    
                              list changed-file {
                                description
                                  "Changed files";
                                leaf path {
                                  type string;
                                  description
                                    "File path, relative to /opt/cisco/iosxr";
                                }
    
                                leaf change {
                                  type Inst-file-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-file
    
                              list impacted-process {
                                description
                                  "Impacted processes";
                                leaf name {
                                  type string;
                                  description
                                    "Process name";
                                }
    
                                leaf change {
                                  type Inst-proc-change;
                                  description
                                    "Type of change";
                                }
    
                                leaf pid {
                                  type uint32;
                                  description
                                    "Process ID";
                                }
                              }  // list impacted-process
    
                              list changed-feature {
                                description
                                  "Changed features";
                                leaf feature-name {
                                  type string;
                                  description
                                    "Name of feature";
                                }
    
                                leaf change {
                                  type Inst-feature-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-feature
                            }  // container trigger-changeset
    
                            leaf client-type {
                              type Inst-client;
                              description
                                "ClientType";
                            }
    
                            leaf legacy-client {
                              when
                                "../client-type = 'legacy'" {
                                description
                                  "../ClientType = 'Legacy'";
                              }
                              type boolean;
                              description
                                "Legacy client - notifications are sent
    regardless of changeset";
                            }
                          }  // container notification-trigger
    
                          leaf client {
                            type string;
                            description
                              "Client notification was sent to";
                          }
    
                          leaf description {
                            type string;
                            description
                              "Description of the client";
                          }
    
                          leaf sent-time {
                            type string;
                            description
                              "Time notification was sent, in RFC3339 internet
    date/time format";
                          }
    
                          leaf response-status {
                            type Inst-notif-res;
                            description
                              "Status of response from client";
                          }
    
                          leaf error {
                            type String1;
                            description
                              "Error, if any";
                          }
    
                          leaf response-time {
                            type string;
                            description
                              "Time of clients response, in RFC3339 internet
    date/time format";
                          }
    
                          leaf veto-reason {
                            type String1;
                            description
                              "Reason for requested veto";
                          }
    
                          list reload-reason {
                            description
                              "Reasons for reload, if any";
                            leaf node {
                              type string;
                              description
                                "Which node is to be reloaded";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for requested reload";
                            }
                          }  // list reload-reason
    
                          list extra-time-request {
                            description
                              "Requests for extra time, if any";
                            leaf time {
                              type string;
                              description
                                "Timestamp of request, in RFC3339 internet
    date/time format";
                            }
    
                            leaf extra-time {
                              type uint32;
                              units "second";
                              description
                                "Amount of extra time requested in seconds";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the extra time being requested (if
    known)";
                            }
                          }  // list extra-time-request
                        }  // list pre-pre-apply-notification
    
                        list pre-apply-notification {
                          description
                            "Notifications sent for 'Pre-apply' phase";
                          container notification-trigger {
                            description
                              "Notification trigger";
                            container trigger-changeset {
                              when
                                "../client-type = 'default'" {
                                description
                                  "../ClientType = 'Default'";
                              }
                              description
                                "Trigger Changeset";
                              container reload-reasons {
                                description
                                  "Reload reasons";
                                container packages {
                                  description
                                    "List of packages which has requested a reload";
                                  leaf-list package-name {
                                    type String1;
                                    description
                                      "package name";
                                  }
                                }  // container packages
    
                                leaf too-many-processes {
                                  type boolean;
                                  description
                                    "True if too many processes requested a restart";
                                }
    
                                list client {
                                  description
                                    "List of clients which have requested a reload";
                                  leaf name {
                                    type string;
                                    description
                                      "The name of the client";
                                  }
    
                                  leaf jid {
                                    type string;
                                    description
                                      "Job ID of the client";
                                  }
    
                                  leaf reason {
                                    type string;
                                    description
                                      "Reason to request a reload";
                                  }
                                }  // list client
                              }  // container reload-reasons
    
                              list changed-file {
                                description
                                  "Changed files";
                                leaf path {
                                  type string;
                                  description
                                    "File path, relative to /opt/cisco/iosxr";
                                }
    
                                leaf change {
                                  type Inst-file-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-file
    
                              list impacted-process {
                                description
                                  "Impacted processes";
                                leaf name {
                                  type string;
                                  description
                                    "Process name";
                                }
    
                                leaf change {
                                  type Inst-proc-change;
                                  description
                                    "Type of change";
                                }
    
                                leaf pid {
                                  type uint32;
                                  description
                                    "Process ID";
                                }
                              }  // list impacted-process
    
                              list changed-feature {
                                description
                                  "Changed features";
                                leaf feature-name {
                                  type string;
                                  description
                                    "Name of feature";
                                }
    
                                leaf change {
                                  type Inst-feature-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-feature
                            }  // container trigger-changeset
    
                            leaf client-type {
                              type Inst-client;
                              description
                                "ClientType";
                            }
    
                            leaf legacy-client {
                              when
                                "../client-type = 'legacy'" {
                                description
                                  "../ClientType = 'Legacy'";
                              }
                              type boolean;
                              description
                                "Legacy client - notifications are sent
    regardless of changeset";
                            }
                          }  // container notification-trigger
    
                          leaf client {
                            type string;
                            description
                              "Client notification was sent to";
                          }
    
                          leaf description {
                            type string;
                            description
                              "Description of the client";
                          }
    
                          leaf sent-time {
                            type string;
                            description
                              "Time notification was sent, in RFC3339 internet
    date/time format";
                          }
    
                          leaf response-status {
                            type Inst-notif-res;
                            description
                              "Status of response from client";
                          }
    
                          leaf error {
                            type String1;
                            description
                              "Error, if any";
                          }
    
                          leaf response-time {
                            type string;
                            description
                              "Time of clients response, in RFC3339 internet
    date/time format";
                          }
    
                          leaf veto-reason {
                            type String1;
                            description
                              "Reason for requested veto";
                          }
    
                          list reload-reason {
                            description
                              "Reasons for reload, if any";
                            leaf node {
                              type string;
                              description
                                "Which node is to be reloaded";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for requested reload";
                            }
                          }  // list reload-reason
    
                          list extra-time-request {
                            description
                              "Requests for extra time, if any";
                            leaf time {
                              type string;
                              description
                                "Timestamp of request, in RFC3339 internet
    date/time format";
                            }
    
                            leaf extra-time {
                              type uint32;
                              units "second";
                              description
                                "Amount of extra time requested in seconds";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the extra time being requested (if
    known)";
                            }
                          }  // list extra-time-request
                        }  // list pre-apply-notification
    
                        list apply-notification {
                          description
                            "Notifications sent for 'Apply' phase";
                          container notification-trigger {
                            description
                              "Notification trigger";
                            container trigger-changeset {
                              when
                                "../client-type = 'default'" {
                                description
                                  "../ClientType = 'Default'";
                              }
                              description
                                "Trigger Changeset";
                              container reload-reasons {
                                description
                                  "Reload reasons";
                                container packages {
                                  description
                                    "List of packages which has requested a reload";
                                  leaf-list package-name {
                                    type String1;
                                    description
                                      "package name";
                                  }
                                }  // container packages
    
                                leaf too-many-processes {
                                  type boolean;
                                  description
                                    "True if too many processes requested a restart";
                                }
    
                                list client {
                                  description
                                    "List of clients which have requested a reload";
                                  leaf name {
                                    type string;
                                    description
                                      "The name of the client";
                                  }
    
                                  leaf jid {
                                    type string;
                                    description
                                      "Job ID of the client";
                                  }
    
                                  leaf reason {
                                    type string;
                                    description
                                      "Reason to request a reload";
                                  }
                                }  // list client
                              }  // container reload-reasons
    
                              list changed-file {
                                description
                                  "Changed files";
                                leaf path {
                                  type string;
                                  description
                                    "File path, relative to /opt/cisco/iosxr";
                                }
    
                                leaf change {
                                  type Inst-file-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-file
    
                              list impacted-process {
                                description
                                  "Impacted processes";
                                leaf name {
                                  type string;
                                  description
                                    "Process name";
                                }
    
                                leaf change {
                                  type Inst-proc-change;
                                  description
                                    "Type of change";
                                }
    
                                leaf pid {
                                  type uint32;
                                  description
                                    "Process ID";
                                }
                              }  // list impacted-process
    
                              list changed-feature {
                                description
                                  "Changed features";
                                leaf feature-name {
                                  type string;
                                  description
                                    "Name of feature";
                                }
    
                                leaf change {
                                  type Inst-feature-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-feature
                            }  // container trigger-changeset
    
                            leaf client-type {
                              type Inst-client;
                              description
                                "ClientType";
                            }
    
                            leaf legacy-client {
                              when
                                "../client-type = 'legacy'" {
                                description
                                  "../ClientType = 'Legacy'";
                              }
                              type boolean;
                              description
                                "Legacy client - notifications are sent
    regardless of changeset";
                            }
                          }  // container notification-trigger
    
                          leaf client {
                            type string;
                            description
                              "Client notification was sent to";
                          }
    
                          leaf description {
                            type string;
                            description
                              "Description of the client";
                          }
    
                          leaf sent-time {
                            type string;
                            description
                              "Time notification was sent, in RFC3339 internet
    date/time format";
                          }
    
                          leaf response-status {
                            type Inst-notif-res;
                            description
                              "Status of response from client";
                          }
    
                          leaf error {
                            type String1;
                            description
                              "Error, if any";
                          }
    
                          leaf response-time {
                            type string;
                            description
                              "Time of clients response, in RFC3339 internet
    date/time format";
                          }
    
                          leaf veto-reason {
                            type String1;
                            description
                              "Reason for requested veto";
                          }
    
                          list reload-reason {
                            description
                              "Reasons for reload, if any";
                            leaf node {
                              type string;
                              description
                                "Which node is to be reloaded";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for requested reload";
                            }
                          }  // list reload-reason
    
                          list extra-time-request {
                            description
                              "Requests for extra time, if any";
                            leaf time {
                              type string;
                              description
                                "Timestamp of request, in RFC3339 internet
    date/time format";
                            }
    
                            leaf extra-time {
                              type uint32;
                              units "second";
                              description
                                "Amount of extra time requested in seconds";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the extra time being requested (if
    known)";
                            }
                          }  // list extra-time-request
                        }  // list apply-notification
    
                        list further-apply-notification {
                          description
                            "Further notifications sent for 'Apply' phase,
    after allowing for processes to restart";
                          container notification-trigger {
                            description
                              "Notification trigger";
                            container trigger-changeset {
                              when
                                "../client-type = 'default'" {
                                description
                                  "../ClientType = 'Default'";
                              }
                              description
                                "Trigger Changeset";
                              container reload-reasons {
                                description
                                  "Reload reasons";
                                container packages {
                                  description
                                    "List of packages which has requested a reload";
                                  leaf-list package-name {
                                    type String1;
                                    description
                                      "package name";
                                  }
                                }  // container packages
    
                                leaf too-many-processes {
                                  type boolean;
                                  description
                                    "True if too many processes requested a restart";
                                }
    
                                list client {
                                  description
                                    "List of clients which have requested a reload";
                                  leaf name {
                                    type string;
                                    description
                                      "The name of the client";
                                  }
    
                                  leaf jid {
                                    type string;
                                    description
                                      "Job ID of the client";
                                  }
    
                                  leaf reason {
                                    type string;
                                    description
                                      "Reason to request a reload";
                                  }
                                }  // list client
                              }  // container reload-reasons
    
                              list changed-file {
                                description
                                  "Changed files";
                                leaf path {
                                  type string;
                                  description
                                    "File path, relative to /opt/cisco/iosxr";
                                }
    
                                leaf change {
                                  type Inst-file-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-file
    
                              list impacted-process {
                                description
                                  "Impacted processes";
                                leaf name {
                                  type string;
                                  description
                                    "Process name";
                                }
    
                                leaf change {
                                  type Inst-proc-change;
                                  description
                                    "Type of change";
                                }
    
                                leaf pid {
                                  type uint32;
                                  description
                                    "Process ID";
                                }
                              }  // list impacted-process
    
                              list changed-feature {
                                description
                                  "Changed features";
                                leaf feature-name {
                                  type string;
                                  description
                                    "Name of feature";
                                }
    
                                leaf change {
                                  type Inst-feature-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-feature
                            }  // container trigger-changeset
    
                            leaf client-type {
                              type Inst-client;
                              description
                                "ClientType";
                            }
    
                            leaf legacy-client {
                              when
                                "../client-type = 'legacy'" {
                                description
                                  "../ClientType = 'Legacy'";
                              }
                              type boolean;
                              description
                                "Legacy client - notifications are sent
    regardless of changeset";
                            }
                          }  // container notification-trigger
    
                          leaf client {
                            type string;
                            description
                              "Client notification was sent to";
                          }
    
                          leaf description {
                            type string;
                            description
                              "Description of the client";
                          }
    
                          leaf sent-time {
                            type string;
                            description
                              "Time notification was sent, in RFC3339 internet
    date/time format";
                          }
    
                          leaf response-status {
                            type Inst-notif-res;
                            description
                              "Status of response from client";
                          }
    
                          leaf error {
                            type String1;
                            description
                              "Error, if any";
                          }
    
                          leaf response-time {
                            type string;
                            description
                              "Time of clients response, in RFC3339 internet
    date/time format";
                          }
    
                          leaf veto-reason {
                            type String1;
                            description
                              "Reason for requested veto";
                          }
    
                          list reload-reason {
                            description
                              "Reasons for reload, if any";
                            leaf node {
                              type string;
                              description
                                "Which node is to be reloaded";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for requested reload";
                            }
                          }  // list reload-reason
    
                          list extra-time-request {
                            description
                              "Requests for extra time, if any";
                            leaf time {
                              type string;
                              description
                                "Timestamp of request, in RFC3339 internet
    date/time format";
                            }
    
                            leaf extra-time {
                              type uint32;
                              units "second";
                              description
                                "Amount of extra time requested in seconds";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the extra time being requested (if
    known)";
                            }
                          }  // list extra-time-request
                        }  // list further-apply-notification
    
                        list post-apply-notification {
                          description
                            "Notifications sent for 'Post-apply' phase";
                          container notification-trigger {
                            description
                              "Notification trigger";
                            container trigger-changeset {
                              when
                                "../client-type = 'default'" {
                                description
                                  "../ClientType = 'Default'";
                              }
                              description
                                "Trigger Changeset";
                              container reload-reasons {
                                description
                                  "Reload reasons";
                                container packages {
                                  description
                                    "List of packages which has requested a reload";
                                  leaf-list package-name {
                                    type String1;
                                    description
                                      "package name";
                                  }
                                }  // container packages
    
                                leaf too-many-processes {
                                  type boolean;
                                  description
                                    "True if too many processes requested a restart";
                                }
    
                                list client {
                                  description
                                    "List of clients which have requested a reload";
                                  leaf name {
                                    type string;
                                    description
                                      "The name of the client";
                                  }
    
                                  leaf jid {
                                    type string;
                                    description
                                      "Job ID of the client";
                                  }
    
                                  leaf reason {
                                    type string;
                                    description
                                      "Reason to request a reload";
                                  }
                                }  // list client
                              }  // container reload-reasons
    
                              list changed-file {
                                description
                                  "Changed files";
                                leaf path {
                                  type string;
                                  description
                                    "File path, relative to /opt/cisco/iosxr";
                                }
    
                                leaf change {
                                  type Inst-file-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-file
    
                              list impacted-process {
                                description
                                  "Impacted processes";
                                leaf name {
                                  type string;
                                  description
                                    "Process name";
                                }
    
                                leaf change {
                                  type Inst-proc-change;
                                  description
                                    "Type of change";
                                }
    
                                leaf pid {
                                  type uint32;
                                  description
                                    "Process ID";
                                }
                              }  // list impacted-process
    
                              list changed-feature {
                                description
                                  "Changed features";
                                leaf feature-name {
                                  type string;
                                  description
                                    "Name of feature";
                                }
    
                                leaf change {
                                  type Inst-feature-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-feature
                            }  // container trigger-changeset
    
                            leaf client-type {
                              type Inst-client;
                              description
                                "ClientType";
                            }
    
                            leaf legacy-client {
                              when
                                "../client-type = 'legacy'" {
                                description
                                  "../ClientType = 'Legacy'";
                              }
                              type boolean;
                              description
                                "Legacy client - notifications are sent
    regardless of changeset";
                            }
                          }  // container notification-trigger
    
                          leaf client {
                            type string;
                            description
                              "Client notification was sent to";
                          }
    
                          leaf description {
                            type string;
                            description
                              "Description of the client";
                          }
    
                          leaf sent-time {
                            type string;
                            description
                              "Time notification was sent, in RFC3339 internet
    date/time format";
                          }
    
                          leaf response-status {
                            type Inst-notif-res;
                            description
                              "Status of response from client";
                          }
    
                          leaf error {
                            type String1;
                            description
                              "Error, if any";
                          }
    
                          leaf response-time {
                            type string;
                            description
                              "Time of clients response, in RFC3339 internet
    date/time format";
                          }
    
                          leaf veto-reason {
                            type String1;
                            description
                              "Reason for requested veto";
                          }
    
                          list reload-reason {
                            description
                              "Reasons for reload, if any";
                            leaf node {
                              type string;
                              description
                                "Which node is to be reloaded";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for requested reload";
                            }
                          }  // list reload-reason
    
                          list extra-time-request {
                            description
                              "Requests for extra time, if any";
                            leaf time {
                              type string;
                              description
                                "Timestamp of request, in RFC3339 internet
    date/time format";
                            }
    
                            leaf extra-time {
                              type uint32;
                              units "second";
                              description
                                "Amount of extra time requested in seconds";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the extra time being requested (if
    known)";
                            }
                          }  // list extra-time-request
                        }  // list post-apply-notification
    
                        list post-post-apply-notification {
                          description
                            "Notifications sent for 'Post-post-apply' phase";
                          container notification-trigger {
                            description
                              "Notification trigger";
                            container trigger-changeset {
                              when
                                "../client-type = 'default'" {
                                description
                                  "../ClientType = 'Default'";
                              }
                              description
                                "Trigger Changeset";
                              container reload-reasons {
                                description
                                  "Reload reasons";
                                container packages {
                                  description
                                    "List of packages which has requested a reload";
                                  leaf-list package-name {
                                    type String1;
                                    description
                                      "package name";
                                  }
                                }  // container packages
    
                                leaf too-many-processes {
                                  type boolean;
                                  description
                                    "True if too many processes requested a restart";
                                }
    
                                list client {
                                  description
                                    "List of clients which have requested a reload";
                                  leaf name {
                                    type string;
                                    description
                                      "The name of the client";
                                  }
    
                                  leaf jid {
                                    type string;
                                    description
                                      "Job ID of the client";
                                  }
    
                                  leaf reason {
                                    type string;
                                    description
                                      "Reason to request a reload";
                                  }
                                }  // list client
                              }  // container reload-reasons
    
                              list changed-file {
                                description
                                  "Changed files";
                                leaf path {
                                  type string;
                                  description
                                    "File path, relative to /opt/cisco/iosxr";
                                }
    
                                leaf change {
                                  type Inst-file-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-file
    
                              list impacted-process {
                                description
                                  "Impacted processes";
                                leaf name {
                                  type string;
                                  description
                                    "Process name";
                                }
    
                                leaf change {
                                  type Inst-proc-change;
                                  description
                                    "Type of change";
                                }
    
                                leaf pid {
                                  type uint32;
                                  description
                                    "Process ID";
                                }
                              }  // list impacted-process
    
                              list changed-feature {
                                description
                                  "Changed features";
                                leaf feature-name {
                                  type string;
                                  description
                                    "Name of feature";
                                }
    
                                leaf change {
                                  type Inst-feature-change;
                                  description
                                    "Change type";
                                }
                              }  // list changed-feature
                            }  // container trigger-changeset
    
                            leaf client-type {
                              type Inst-client;
                              description
                                "ClientType";
                            }
    
                            leaf legacy-client {
                              when
                                "../client-type = 'legacy'" {
                                description
                                  "../ClientType = 'Legacy'";
                              }
                              type boolean;
                              description
                                "Legacy client - notifications are sent
    regardless of changeset";
                            }
                          }  // container notification-trigger
    
                          leaf client {
                            type string;
                            description
                              "Client notification was sent to";
                          }
    
                          leaf description {
                            type string;
                            description
                              "Description of the client";
                          }
    
                          leaf sent-time {
                            type string;
                            description
                              "Time notification was sent, in RFC3339 internet
    date/time format";
                          }
    
                          leaf response-status {
                            type Inst-notif-res;
                            description
                              "Status of response from client";
                          }
    
                          leaf error {
                            type String1;
                            description
                              "Error, if any";
                          }
    
                          leaf response-time {
                            type string;
                            description
                              "Time of clients response, in RFC3339 internet
    date/time format";
                          }
    
                          leaf veto-reason {
                            type String1;
                            description
                              "Reason for requested veto";
                          }
    
                          list reload-reason {
                            description
                              "Reasons for reload, if any";
                            leaf node {
                              type string;
                              description
                                "Which node is to be reloaded";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for requested reload";
                            }
                          }  // list reload-reason
    
                          list extra-time-request {
                            description
                              "Requests for extra time, if any";
                            leaf time {
                              type string;
                              description
                                "Timestamp of request, in RFC3339 internet
    date/time format";
                            }
    
                            leaf extra-time {
                              type uint32;
                              units "second";
                              description
                                "Amount of extra time requested in seconds";
                            }
    
                            leaf reason {
                              type String1;
                              description
                                "Reason for the extra time being requested (if
    known)";
                            }
                          }  // list extra-time-request
                        }  // list post-post-apply-notification
    
                        list event {
                          description
                            "Per node events";
                          leaf event {
                            type Inst-node-event;
                            description "Event";
                          }
    
                          leaf time {
                            type string;
                            description
                              "Timestamp, in RFC3339 internet date/time format";
                          }
    
                          leaf reason {
                            type String1;
                            description
                              "Reason for the event, for example an error
    string";
                          }
    
                          leaf event-id {
                            type uint32;
                            description
                              "Transaction level identifier for this event";
                          }
                        }  // list event
                      }  // list atomic-change-info-node
                    }  // container atomic-change-info-nodes
                  }  // list atomic-change
                }  // container atomic-changes
              }  // list transaction
            }  // container transactions
          }  // container history
    
          container packages {
            description "Package information";
            container cached {
              description
                "Information about cached packages";
              container summary {
                description "Summary packages";
                leaf rpm-fingerprint-status {
                  type Inst-fp-request-status;
                  description
                    "Package Fingerprint request status";
                }
    
                leaf rpm-fingerprint-timestamp {
                  type Install-opt-string;
                  description
                    "Package run time fingerprint collection time";
                }
    
                leaf label {
                  type Install-opt-string;
                  description "Label of image";
                }
    
                list package {
                  description "Packages";
                  container rpm-fingerprint {
                    description
                      "RPM Fingerprint at install and run time";
                    leaf rpm-fingerprint-install-time {
                      type Install-opt-string;
                      description
                        "Package fingerprint at install time.";
                    }
    
                    leaf rpm-fingerprint-run-time {
                      type Install-opt-string;
                      description
                        "Package fingerprint at run time. A runtime
    fingerprint of '0' indicates that the runtime
    fingerprint for this package has not yet been
    calculated.";
                    }
                  }  // container rpm-fingerprint
    
                  leaf name {
                    type string;
                    description "Package name";
                  }
    
                  leaf architecture {
                    type string;
                    description "Architecture";
                  }
    
                  leaf version {
                    type string;
                    description "Version";
                  }
    
                  leaf release {
                    type string;
                    description "Release";
                  }
    
                  leaf epoch {
                    type Install-opt-string;
                    description "Epoch";
                  }
    
                  leaf gpg-key-id {
                    type Install-opt-string;
                    description
                      "The GPG key ID at install time. A key ID of '0'
    indicates a package with no GPG signature.";
                  }
                }  // list package
              }  // container summary
    
              container all {
                description
                  "All packages including card-specific
    dependencies";
                leaf rpm-fingerprint-status {
                  type Inst-fp-request-status;
                  description
                    "Package Fingerprint request status";
                }
    
                leaf rpm-fingerprint-timestamp {
                  type Install-opt-string;
                  description
                    "Package run time fingerprint collection time";
                }
    
                leaf label {
                  type Install-opt-string;
                  description "Label of image";
                }
    
                list package {
                  description "Packages";
                  container rpm-fingerprint {
                    description
                      "RPM Fingerprint at install and run time";
                    leaf rpm-fingerprint-install-time {
                      type Install-opt-string;
                      description
                        "Package fingerprint at install time.";
                    }
    
                    leaf rpm-fingerprint-run-time {
                      type Install-opt-string;
                      description
                        "Package fingerprint at run time. A runtime
    fingerprint of '0' indicates that the runtime
    fingerprint for this package has not yet been
    calculated.";
                    }
                  }  // container rpm-fingerprint
    
                  leaf name {
                    type string;
                    description "Package name";
                  }
    
                  leaf architecture {
                    type string;
                    description "Architecture";
                  }
    
                  leaf version {
                    type string;
                    description "Version";
                  }
    
                  leaf release {
                    type string;
                    description "Release";
                  }
    
                  leaf epoch {
                    type Install-opt-string;
                    description "Epoch";
                  }
    
                  leaf gpg-key-id {
                    type Install-opt-string;
                    description
                      "The GPG key ID at install time. A key ID of '0'
    indicates a package with no GPG signature.";
                  }
                }  // list package
              }  // container all
            }  // container cached
    
            container available {
              description
                "Information about available packages";
              container internal {
                description
                  "All packages including card-specific
    dependencies";
                leaf-list inaccessible-repository {
                  type String1;
                  description
                    "List of repositories that the package manager
    was unable to access, likely due to
    configuration errors or network connectivity";
                }
    
                leaf-list repositories-metadata-failed {
                  type String1;
                  description
                    "List of local repositories where automatic
    metadata generation failed. Information about
    packages in these repositories may not be up to
    date.";
                }
    
                list package {
                  description "Packages";
                  leaf name {
                    type string;
                    description "Package name";
                  }
    
                  leaf architecture {
                    type string;
                    description "Architecture";
                  }
    
                  leaf version {
                    type string;
                    description "Version";
                  }
    
                  leaf repository {
                    type string;
                    description "Repository";
                  }
    
                  leaf cached {
                    type boolean;
                    description
                      "Cached in the internal repository";
                  }
    
                  leaf release {
                    type Install-opt-string;
                    description "Release";
                  }
    
                  leaf epoch {
                    type Install-opt-string;
                    description "Epoch";
                  }
    
                  leaf xr-package {
                    type boolean;
                    description "XR Package";
                  }
                }  // list package
              }  // container internal
    
              container all {
                description
                  "All user-installable packages";
                leaf-list inaccessible-repository {
                  type String1;
                  description
                    "List of repositories that the package manager
    was unable to access, likely due to
    configuration errors or network connectivity";
                }
    
                leaf-list repositories-metadata-failed {
                  type String1;
                  description
                    "List of local repositories where automatic
    metadata generation failed. Information about
    packages in these repositories may not be up to
    date.";
                }
    
                list package {
                  description "Packages";
                  leaf name {
                    type string;
                    description "Package name";
                  }
    
                  leaf architecture {
                    type string;
                    description "Architecture";
                  }
    
                  leaf version {
                    type string;
                    description "Version";
                  }
    
                  leaf repository {
                    type string;
                    description "Repository";
                  }
    
                  leaf cached {
                    type boolean;
                    description
                      "Cached in the internal repository";
                  }
    
                  leaf release {
                    type Install-opt-string;
                    description "Release";
                  }
    
                  leaf epoch {
                    type Install-opt-string;
                    description "Epoch";
                  }
    
                  leaf xr-package {
                    type boolean;
                    description "XR Package";
                  }
                }  // list package
              }  // container all
            }  // container available
          }  // container packages
    
          container internal {
            description
              "Internal debug information";
            container fixes {
              description
                "Information about fixes that are available";
              container available-group-fixes {
                description "Groups of fixes";
                list available-group-fixe {
                  key "ddts";
                  description
                    "Information about groups of fixes that are
    available";
                  leaf ddts {
                    type xr:Cisco-ios-xr-string;
                    description
                      "First DDTS Id in list";
                  }
    
                  leaf-list all-ddts {
                    type String1;
                    description
                      "All DDTSs referenced in GroupFix";
                  }
    
                  list group-fix {
                    description
                      "The group fixes";
                    leaf-list ddt-ss {
                      type String1;
                      description
                        "All DDTS ids fixed by Packages";
                    }
    
                    list package {
                      description "Packages";
                      leaf name {
                        type string;
                        description
                          "Package name";
                      }
    
                      leaf version {
                        type String1;
                        description "Version";
                      }
    
                      leaf architecture {
                        type String1;
                        description
                          "Package architecture";
                      }
                    }  // list package
                  }  // list group-fix
                }  // list available-group-fixe
              }  // container available-group-fixes
            }  // container fixes
    
            container packages {
              description "Package information";
              container pkgmgr {
                description
                  "Information about package-manager installed
    packages. During an atomic change, this is the
    full set of packages that will be active after
    the atomic change is applied";
                container nodes {
                  description
                    "Table for node level data";
                  list node {
                    key "node";
                    description
                      "Per-node packages";
                    leaf node {
                      type xr:Node-id;
                      description "Node name";
                    }
    
                    leaf rpm-fingerprint-status {
                      type Inst-fp-request-status;
                      description
                        "Package Fingerprint request status";
                    }
    
                    leaf rpm-fingerprint-timestamp {
                      type Install-opt-string;
                      description
                        "Package run time fingerprint collection time";
                    }
    
                    leaf label {
                      type Install-opt-string;
                      description
                        "Label of image";
                    }
    
                    list package {
                      description "Packages";
                      container rpm-fingerprint {
                        description
                          "RPM Fingerprint at install and run time";
                        leaf rpm-fingerprint-install-time {
                          type Install-opt-string;
                          description
                            "Package fingerprint at install time.";
                        }
    
                        leaf rpm-fingerprint-run-time {
                          type Install-opt-string;
                          description
                            "Package fingerprint at run time. A runtime
    fingerprint of '0' indicates that the runtime
    fingerprint for this package has not yet been
    calculated.";
                        }
                      }  // container rpm-fingerprint
    
                      leaf name {
                        type string;
                        description
                          "Package name";
                      }
    
                      leaf architecture {
                        type string;
                        description
                          "Architecture";
                      }
    
                      leaf version {
                        type string;
                        description "Version";
                      }
    
                      leaf release {
                        type string;
                        description "Release";
                      }
    
                      leaf epoch {
                        type Install-opt-string;
                        description "Epoch";
                      }
    
                      leaf gpg-key-id {
                        type Install-opt-string;
                        description
                          "The GPG key ID at install time. A key ID of '0'
    indicates a package with no GPG signature.";
                      }
                    }  // list package
                  }  // list node
                }  // container nodes
    
                container summary {
                  description "Summary packages";
                  leaf rpm-fingerprint-status {
                    type Inst-fp-request-status;
                    description
                      "Package Fingerprint request status";
                  }
    
                  leaf rpm-fingerprint-timestamp {
                    type Install-opt-string;
                    description
                      "Package run time fingerprint collection time";
                  }
    
                  leaf label {
                    type Install-opt-string;
                    description "Label of image";
                  }
    
                  list package {
                    description "Packages";
                    container rpm-fingerprint {
                      description
                        "RPM Fingerprint at install and run time";
                      leaf rpm-fingerprint-install-time {
                        type Install-opt-string;
                        description
                          "Package fingerprint at install time.";
                      }
    
                      leaf rpm-fingerprint-run-time {
                        type Install-opt-string;
                        description
                          "Package fingerprint at run time. A runtime
    fingerprint of '0' indicates that the runtime
    fingerprint for this package has not yet been
    calculated.";
                      }
                    }  // container rpm-fingerprint
    
                    leaf name {
                      type string;
                      description "Package name";
                    }
    
                    leaf architecture {
                      type string;
                      description "Architecture";
                    }
    
                    leaf version {
                      type string;
                      description "Version";
                    }
    
                    leaf release {
                      type string;
                      description "Release";
                    }
    
                    leaf epoch {
                      type Install-opt-string;
                      description "Epoch";
                    }
    
                    leaf gpg-key-id {
                      type Install-opt-string;
                      description
                        "The GPG key ID at install time. A key ID of '0'
    indicates a package with no GPG signature.";
                    }
                  }  // list package
                }  // container summary
              }  // container pkgmgr
            }  // container packages
          }  // container internal
    
          container request {
            description
              "Information about the latest user request";
            container verbose {
              description
                "Verbose information about the status of current
    install operation";
              container available-actions {
                description
                  "Actions that are currently valid to start";
                leaf-list available-action {
                  type Inst-action;
                  description
                    "Action available to user. If there are no
    available actions, a system reload may be used
    to recover.";
                }
              }  // container available-actions
    
              leaf current-activity {
                type Inst-activity;
                description
                  "Activity in progress";
              }
    
              leaf time-started {
                type String1;
                description
                  "Timestamp this activity was started, in RFC3339
    internet date/time format";
              }
    
              leaf next-activity {
                type Inst-activity;
                description "Activity ";
              }
    
              leaf node-request {
                type Inst-node-req;
                description
                  "Node request in progress, if any";
              }
    
              leaf node-request-time {
                type String1;
                description
                  "Timestamp node request was sent, in RFC3339
    internet date/time format";
              }
    
              leaf node-request-time-left {
                type uint32;
                units "second";
                description
                  "Seconds until the node request will time out";
              }
    
              leaf nodes-responded {
                type uint32;
                description
                  "Count of nodes that have responded";
              }
    
              leaf nodes-total {
                type uint32;
                description
                  "Total count of nodes the request was sent to";
              }
    
              leaf request {
                type String1;
                description
                  "The last user request";
              }
    
              leaf state {
                type Inst-req-state;
                description
                  "The state of the last user request";
              }
    
              leaf timestamp {
                type String1;
                description
                  "The time the current state was entered";
              }
    
              leaf error {
                type String1;
                description
                  "String describing the error, if any";
              }
    
              leaf operation-id {
                type String1;
                description
                  "The operation ID of this request";
              }
    
              list nodes-req-status {
                description
                  "Status of per-node processing, if a node request
    is in progress";
                container packaging-operation-status {
                  description
                    "Further information, if a packaging operation is
    in progress";
                  leaf stage {
                    type Inst-pkg-op-stage;
                    description
                      "Package operation stage";
                  }
    
                  leaf percentage-progress {
                    type uint32;
                    units "percentage";
                    description
                      "Percentage complete";
                  }
    
                  leaf packages-complete {
                    type uint32;
                    description
                      "Count of packages completed";
                  }
    
                  leaf packages-total {
                    type uint32;
                    description
                      "Count of total packages";
                  }
                }  // container packaging-operation-status
    
                container client-notification-status {
                  description
                    "Further information, if client notifications are
    in progress";
                  leaf notification-phase {
                    type Inst-notif-phase;
                    description
                      "Notification phase";
                  }
    
                  leaf time-sent {
                    type string;
                    description
                      "Timestamp notifications were sent, in RFC3339
    internet date/time format";
                  }
    
                  leaf-list clients-responded {
                    type String1;
                    description
                      "Clients that have responded to notifications";
                  }
    
                  leaf-list clients-waiting {
                    type String1;
                    description
                      "Clients that have not yet responded to
    notifications";
                  }
                }  // container client-notification-status
    
                leaf node {
                  type string;
                  description "Node name";
                }
    
                leaf current-request {
                  type Inst-node-req;
                  description
                    "Node request currently being handled";
                }
    
                leaf time-started {
                  type String1;
                  description
                    "Timestamp this node request was started, in
    RFC3339 internet date/time format";
                }
              }  // list nodes-req-status
            }  // container verbose
          }  // container request
    
          container version {
            description
              "Install version information";
            container detail {
              description
                "Install version detailed information";
              leaf label {
                xr:event-telemetry "Subscribe Telemetry Event";
                type string;
                description
                  "Added telemetry event on Label field";
              }
    
              leaf copyright-info {
                type string;
                description
                  "Copyright information";
              }
    
              leaf hardware-info {
                type string;
                description
                  "Hardware information";
              }
    
              leaf uptime {
                type string;
                description "System uptime";
              }
    
              leaf location {
                type Install-opt-string;
                description
                  "Prefix for the path where packages will be
    installed";
              }
    
              leaf processor {
                type Install-opt-string;
                description "Processor";
              }
    
              leaf chassis-pid {
                type Install-opt-string;
                description "Chassis PID";
              }
    
              leaf chassis-description {
                type Install-opt-string;
                description
                  "Chassis Unique Device Identifier description";
              }
    
              leaf xr-host-name {
                type Install-opt-string;
                description
                  "Configured XR hostname";
              }
    
              leaf total-ram {
                type uint64;
                description
                  "Total physical memory in GB";
              }
    
              list package {
                description "Packages";
                leaf name {
                  type string;
                  description "Name";
                }
    
                leaf version {
                  type string;
                  description "Version";
                }
    
                leaf built-by {
                  type string;
                  description "User built by";
                }
    
                leaf built-on {
                  type string;
                  description "Time built";
                }
    
                leaf workspace {
                  type string;
                  description
                    "Workspace built in";
                }
    
                leaf build-host {
                  type string;
                  description "Build host";
                }
              }  // list package
            }  // container detail
    
            container brief {
              description
                "Install version brief information";
              leaf label {
                xr:event-telemetry "Subscribe Telemetry Event";
                type string;
                description
                  "Added telemetry event on Label field";
              }
    
              leaf copyright-info {
                type string;
                description
                  "Copyright information";
              }
    
              leaf hardware-info {
                type string;
                description
                  "Hardware information";
              }
    
              leaf uptime {
                type string;
                description "System uptime";
              }
    
              leaf location {
                type Install-opt-string;
                description
                  "Prefix for the path where packages will be
    installed";
              }
    
              leaf processor {
                type Install-opt-string;
                description "Processor";
              }
    
              leaf chassis-pid {
                type Install-opt-string;
                description "Chassis PID";
              }
    
              leaf chassis-description {
                type Install-opt-string;
                description
                  "Chassis Unique Device Identifier description";
              }
    
              leaf xr-host-name {
                type Install-opt-string;
                description
                  "Configured XR hostname";
              }
    
              leaf total-ram {
                type uint64;
                description
                  "Total physical memory in GB";
              }
    
              list package {
                description "Packages";
                leaf name {
                  type string;
                  description "Name";
                }
    
                leaf version {
                  type string;
                  description "Version";
                }
    
                leaf built-by {
                  type string;
                  description "User built by";
                }
    
                leaf built-on {
                  type string;
                  description "Time built";
                }
    
                leaf workspace {
                  type string;
                  description
                    "Workspace built in";
                }
    
                leaf build-host {
                  type string;
                  description "Build host";
                }
              }  // list package
            }  // container brief
          }  // container version
    
          container rollback {
            description
              "Information about software rollback options";
            container rollback-points {
              description
                "Table for rollback points";
              list rollback-point {
                key "id";
                description
                  "Rollback point information";
                container summary {
                  description
                    "Summary of changes when rolling back to a a
    rollback point";
                  leaf time-finished {
                    type String1;
                    description
                      "Timestamp this transaction completed, in RFC3339
    internet date/time format";
                  }
    
                  leaf pkgs-to-add-count {
                    type int32;
                    description
                      "Number of packages to be added";
                  }
    
                  leaf pkgs-to-modify-count {
                    type int32;
                    description
                      "Number of packages to be modified";
                  }
    
                  leaf pkgs-to-remove-count {
                    type int32;
                    description
                      "Number of packages to be removed";
                  }
    
                  leaf description {
                    type string;
                    description
                      "The description of the transaction, if set";
                  }
    
                  leaf ddt-ss-to-add-count {
                    type int32;
                    description
                      "Number of DDTSs to be added";
                  }
    
                  leaf ddt-ss-to-remove-count {
                    type int32;
                    description
                      "Number of DDTSs to be removed";
                  }
                }  // container summary
    
                container installed-packages {
                  description
                    "Installed packages";
                  container user-installable {
                    description
                      "User-installable packages associated with
    rollback point";
                    leaf rpm-fingerprint-status {
                      type Inst-fp-request-status;
                      description
                        "Package Fingerprint request status";
                    }
    
                    leaf rpm-fingerprint-timestamp {
                      type Install-opt-string;
                      description
                        "Package run time fingerprint collection time";
                    }
    
                    leaf label {
                      type Install-opt-string;
                      description
                        "Label of image";
                    }
    
                    list package {
                      description "Packages";
                      container rpm-fingerprint {
                        description
                          "RPM Fingerprint at install and run time";
                        leaf rpm-fingerprint-install-time {
                          type Install-opt-string;
                          description
                            "Package fingerprint at install time.";
                        }
    
                        leaf rpm-fingerprint-run-time {
                          type Install-opt-string;
                          description
                            "Package fingerprint at run time. A runtime
    fingerprint of '0' indicates that the runtime
    fingerprint for this package has not yet been
    calculated.";
                        }
                      }  // container rpm-fingerprint
    
                      leaf name {
                        type string;
                        description
                          "Package name";
                      }
    
                      leaf architecture {
                        type string;
                        description
                          "Architecture";
                      }
    
                      leaf version {
                        type string;
                        description "Version";
                      }
    
                      leaf release {
                        type string;
                        description "Release";
                      }
    
                      leaf epoch {
                        type Install-opt-string;
                        description "Epoch";
                      }
    
                      leaf gpg-key-id {
                        type Install-opt-string;
                        description
                          "The GPG key ID at install time. A key ID of '0'
    indicates a package with no GPG signature.";
                      }
                    }  // list package
                  }  // container user-installable
    
                  container changes {
                    description
                      "Changes in packages if rolling back";
                    list package {
                      description
                        "List of packages and the action pending on each";
                      container package {
                        description "Package";
                        container rpm-fingerprint {
                          description
                            "RPM Fingerprint at install and run time";
                          leaf rpm-fingerprint-install-time {
                            type Install-opt-string;
                            description
                              "Package fingerprint at install time.";
                          }
    
                          leaf rpm-fingerprint-run-time {
                            type Install-opt-string;
                            description
                              "Package fingerprint at run time. A runtime
    fingerprint of '0' indicates that the runtime
    fingerprint for this package has not yet been
    calculated.";
                          }
                        }  // container rpm-fingerprint
    
                        leaf name {
                          type string;
                          description
                            "Package name";
                        }
    
                        leaf architecture {
                          type string;
                          description
                            "Architecture";
                        }
    
                        leaf version {
                          type string;
                          description "Version";
                        }
    
                        leaf release {
                          type string;
                          description "Release";
                        }
    
                        leaf epoch {
                          type Install-opt-string;
                          description "Epoch";
                        }
    
                        leaf gpg-key-id {
                          type Install-opt-string;
                          description
                            "The GPG key ID at install time. A key ID of '0'
    indicates a package with no GPG signature.";
                        }
                      }  // container package
    
                      container ddts-list {
                        description
                          "DDTSs associated with this package";
                        leaf-list ddts {
                          type String1;
                          description
                            "DDTS items in list";
                        }
                      }  // container ddts-list
    
                      leaf action {
                        type Inst-pkg-op-act;
                        description
                          "Action pending on package";
                      }
                    }  // list package
                  }  // container changes
    
                  container pkgs-and-fixes {
                    description
                      "User-installable packages (and their fixes)
    associated with rollback point";
                    leaf id {
                      type int32;
                      description
                        "Rollback point ID";
                    }
    
                    leaf label {
                      type String1;
                      description
                        "Optional GISO label for rollback point";
                    }
    
                    leaf description {
                      type String1;
                      description
                        "Optional user defined description of the
    rollback point";
                    }
    
                    list package {
                      description
                        "List of packages and fixes for the rollback
    point";
                      container package {
                        description "Package";
                        container rpm-fingerprint {
                          description
                            "RPM Fingerprint at install and run time";
                          leaf rpm-fingerprint-install-time {
                            type Install-opt-string;
                            description
                              "Package fingerprint at install time.";
                          }
    
                          leaf rpm-fingerprint-run-time {
                            type Install-opt-string;
                            description
                              "Package fingerprint at run time. A runtime
    fingerprint of '0' indicates that the runtime
    fingerprint for this package has not yet been
    calculated.";
                          }
                        }  // container rpm-fingerprint
    
                        leaf name {
                          type string;
                          description
                            "Package name";
                        }
    
                        leaf architecture {
                          type string;
                          description
                            "Architecture";
                        }
    
                        leaf version {
                          type string;
                          description "Version";
                        }
    
                        leaf release {
                          type string;
                          description "Release";
                        }
    
                        leaf epoch {
                          type Install-opt-string;
                          description "Epoch";
                        }
    
                        leaf gpg-key-id {
                          type Install-opt-string;
                          description
                            "The GPG key ID at install time. A key ID of '0'
    indicates a package with no GPG signature.";
                        }
                      }  // container package
    
                      container ddts-list {
                        description
                          "DDTSs associated with this package";
                        leaf-list ddts {
                          type String1;
                          description
                            "DDTS items in list";
                        }
                      }  // container ddts-list
                    }  // list package
                  }  // container pkgs-and-fixes
                }  // container installed-packages
    
                leaf id {
                  type uint32;
                  description
                    "Rollback point ID";
                }
              }  // list rollback-point
            }  // container rollback-points
          }  // container rollback
    
          container fixes {
            description
              "Information about DDTS fixes";
            container deactivate-fixes {
              description
                "Deactivate one or more fixes";
              list deactivate-fixe {
                key "ddt-ss";
                description
                  "Information about groups of fixes that are
    available";
                leaf ddt-ss {
                  type xr:Cisco-ios-xr-string;
                  description
                    "Comma separated DDTS list of DDTSs to
    deactivate";
                }
    
                container combined-deactivate-info {
                  description
                    "The combined information for deactivating all
    specified DDTSs";
                  leaf-list requested-ddts {
                    type String1;
                    description
                      "Requested DDTS ids to deactivate";
                  }
    
                  leaf-list ddt-ss-to-deactivate {
                    type String1;
                    description
                      "The DDTS ids that would be deactivated by this
    change";
                  }
    
                  list packages-to-downgrade {
                    description
                      "The packages that would be downgraded from by
    this change";
                    leaf name {
                      type string;
                      description "Package name";
                    }
    
                    leaf version {
                      type String1;
                      description "Version";
                    }
    
                    leaf architecture {
                      type String1;
                      description
                        "Package architecture";
                    }
                  }  // list packages-to-downgrade
    
                  list packages-to-activate {
                    description
                      "The packages that would be activated by this
    change (ie. downgraded to)";
                    leaf name {
                      type string;
                      description "Package name";
                    }
    
                    leaf version {
                      type String1;
                      description "Version";
                    }
    
                    leaf architecture {
                      type String1;
                      description
                        "Package architecture";
                    }
                  }  // list packages-to-activate
    
                  list missing-mandatory-package {
                    description
                      "The mandatory packages that are missing and so
    preventing this downgrade";
                    leaf name {
                      type string;
                      description "Package name";
                    }
    
                    leaf version {
                      type String1;
                      description "Version";
                    }
    
                    leaf architecture {
                      type String1;
                      description
                        "Package architecture";
                    }
                  }  // list missing-mandatory-package
    
                  list missing-optional-package {
                    description
                      "The optional packages that are missing and so
    preventing this downgrade";
                    leaf name {
                      type string;
                      description "Package name";
                    }
    
                    leaf version {
                      type String1;
                      description "Version";
                    }
    
                    leaf architecture {
                      type String1;
                      description
                        "Package architecture";
                    }
                  }  // list missing-optional-package
                }  // container combined-deactivate-info
    
                leaf-list not-installed-ddts {
                  type String1;
                  description
                    "DDTSs specified for deactivation but not
    currently installed";
                }
    
                list group-deactivate-info {
                  description
                    "The groups of fixes for deactivating the
    specified DDTSs";
                  leaf-list requested-ddts {
                    type String1;
                    description
                      "Requested DDTS ids to deactivate";
                  }
    
                  leaf-list ddt-ss-to-deactivate {
                    type String1;
                    description
                      "The DDTS ids that would be deactivated by this
    change";
                  }
    
                  list packages-to-downgrade {
                    description
                      "The packages that would be downgraded from by
    this change";
                    leaf name {
                      type string;
                      description "Package name";
                    }
    
                    leaf version {
                      type String1;
                      description "Version";
                    }
    
                    leaf architecture {
                      type String1;
                      description
                        "Package architecture";
                    }
                  }  // list packages-to-downgrade
    
                  list packages-to-activate {
                    description
                      "The packages that would be activated by this
    change (ie. downgraded to)";
                    leaf name {
                      type string;
                      description "Package name";
                    }
    
                    leaf version {
                      type String1;
                      description "Version";
                    }
    
                    leaf architecture {
                      type String1;
                      description
                        "Package architecture";
                    }
                  }  // list packages-to-activate
    
                  list missing-mandatory-package {
                    description
                      "The mandatory packages that are missing and so
    preventing this downgrade";
                    leaf name {
                      type string;
                      description "Package name";
                    }
    
                    leaf version {
                      type String1;
                      description "Version";
                    }
    
                    leaf architecture {
                      type String1;
                      description
                        "Package architecture";
                    }
                  }  // list missing-mandatory-package
    
                  list missing-optional-package {
                    description
                      "The optional packages that are missing and so
    preventing this downgrade";
                    leaf name {
                      type string;
                      description "Package name";
                    }
    
                    leaf version {
                      type String1;
                      description "Version";
                    }
    
                    leaf architecture {
                      type String1;
                      description
                        "Package architecture";
                    }
                  }  // list missing-optional-package
                }  // list group-deactivate-info
              }  // list deactivate-fixe
            }  // container deactivate-fixes
    
            container available {
              description
                "Information about fixes that are available";
              leaf-list inaccessible-repository {
                type String1;
                description
                  "List of repositories that the package manager
    was unable to access, likely due to
    configuration errors or network connectivity";
              }
    
              leaf-list repositories-metadata-failed {
                type String1;
                description
                  "List of local repositories where automatic
    metadata generation failed. Information about
    packages in these repositories may not be up to
    date.";
              }
    
              list fixes {
                description "Fixes";
                leaf ddts {
                  type string;
                  description "DDTS id";
                }
    
                list package {
                  description "Packages";
                  leaf name {
                    type string;
                    description "Package name";
                  }
    
                  leaf architecture {
                    type string;
                    description "Architecture";
                  }
    
                  leaf version {
                    type string;
                    description "Version";
                  }
    
                  leaf repository {
                    type string;
                    description "Repository";
                  }
    
                  leaf cached {
                    type boolean;
                    description
                      "Cached in the internal repository";
                  }
    
                  leaf release {
                    type Install-opt-string;
                    description "Release";
                  }
    
                  leaf epoch {
                    type Install-opt-string;
                    description "Epoch";
                  }
    
                  leaf xr-package {
                    type boolean;
                    description "XR Package";
                  }
                }  // list package
              }  // list fixes
            }  // container available
          }  // container fixes
        }  // container install
      }  // module Cisco-IOS-XR-install-augmented-oper
    

© 2023 YumaWorks, Inc. All rights reserved.