junos-ex-rpc-request

Junos RPC YANG module for request command(s)

  • Version: 2019-01-01

    junos-ex-rpc-request@2019-01-01


    
      module junos-ex-rpc-request {
    
        yang-version 1;
    
        namespace
          "http://yang.juniper.net/junos-ex/rpc/request";
    
        prefix request;
    
        import junos-common-types {
          prefix jt;
          revision-date "2019-01-01";
        }
    
        organization "Juniper Networks, Inc.";
    
        contact "yang-support@juniper.net";
    
        description
          "Junos RPC YANG module for request command(s)";
    
        revision "2019-01-01" {
          description "Junos: 21.3R1.9";
        }
    
    
        rpc request-commit-server-cleanup {
          description
            "Commit queue clean up operations";
          input {
            choice queue-selector {
              leaf id {
                type union {
                  type uint32;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description "Clean up queue id";
              }
              leaf job-status {
                type enumeration {
                  enum "error" {
                    value 0;
                    description
                      "Remove jobs that had errors";
                  }
                  enum "pending" {
                    value 1;
                    description
                      "Remove jobs that are pending";
                  }
                  enum "success" {
                    value 2;
                    description
                      "Remove jobs that succeeded";
                  }
                }
                description
                  "Clean up all entries with specified status";
              }
            }  // choice queue-selector
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml commit-server-delete-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-commit-server-cleanup
    
        rpc request-commit-server-pause {
          description "Pause the commit server";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml commit-server-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-commit-server-pause
    
        rpc request-commit-server-start {
          description "Start the commit server";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml commit-server-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-commit-server-start
    
        rpc request-delta-exporter-initialize {
          description
            "Initialize delta exporter database";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-delta-exporter-initialize
    
        rpc request-yang-add {
          description
            "Add YANG module(s) and action/translation script(s)";
          input {
            leaf package {
              type string;
              mandatory true;
              description
                "Unique ID for future op - delete/update";
            }
    
            leaf-list module {
              type jt:filename;
              ordered-by user;
              description "YANG module(s) path";
            }
    
            leaf-list action-script {
              type jt:filename;
              ordered-by user;
              description "Action script path";
            }
    
            leaf-list translation-script {
              type jt:filename;
              ordered-by user;
              description
                "Translation script path";
            }
    
            leaf-list deviation-module {
              type jt:filename;
              ordered-by user;
              description
                "Deviation module path";
            }
    
            leaf proxy-xml {
              type empty;
              description
                "XML proxy YANG module(s)";
            }
    
            leaf snmp {
              type empty;
              description
                "Add custom MIB in YANG format";
            }
    
            choice re-choice {
              leaf re0 {
                type empty;
                description
                  "Add/Delete YANG module(s) on RE0";
              }
              leaf re1 {
                type empty;
                description
                  "Add/Delete YANG module(s) on RE1";
              }
              leaf other-routing-engine {
                type empty;
                description
                  "Add/Delete YANG module(s) on other RE";
              }
            }  // choice re-choice
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-yang-add
    
        rpc request-yang-delete {
          description "Remove YANG package";
          input {
            leaf package {
              type string;
              mandatory true;
              description "ID to be removed";
            }
    
            choice re-choice {
              leaf re0 {
                type empty;
                description
                  "Add/Delete YANG module(s) on RE0";
              }
              leaf re1 {
                type empty;
                description
                  "Add/Delete YANG module(s) on RE1";
              }
              leaf other-routing-engine {
                type empty;
                description
                  "Add/Delete YANG module(s) on other RE";
              }
            }  // choice re-choice
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-yang-delete
    
        rpc request-yang-enable {
          description
            "Enable YANG package to JUNOS translation";
          input {
            leaf package {
              type string;
              mandatory true;
              description "ID";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-yang-enable
    
        rpc request-yang-disable {
          description
            "Disable YANG package to JUNOS translation";
          input {
            leaf package {
              type string;
              mandatory true;
              description "ID";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-yang-disable
    
        rpc request-yang-validate {
          description
            "Validate YANG module(s) and action/translation script(s)";
          input {
            leaf-list module {
              type jt:filename;
              ordered-by user;
              description
                "Name of the YANG module to be validated";
            }
    
            leaf-list translation-script {
              type jt:filename;
              ordered-by user;
              description
                "Name of the translation-script to be validated";
            }
    
            leaf-list action-script {
              type jt:filename;
              ordered-by user;
              description
                "Name of the action-script to be validated";
            }
    
            leaf proxy-xml {
              type empty;
              description
                "XML proxy YANG module";
            }
    
            leaf snmp {
              type empty;
              description
                "Validate custom MIB in YANG format";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-yang-validate
    
        rpc request-yang-update {
          description
            "Update YANG module(s) and action/translation script(s)";
          input {
            leaf package {
              type string;
              mandatory true;
              description "ID";
            }
    
            leaf-list module {
              type jt:filename;
              ordered-by user;
              description "YANG module(s) path";
            }
    
            leaf-list translation-script {
              type jt:filename;
              ordered-by user;
              description
                "Translation script path";
            }
    
            leaf-list deviation-module {
              type jt:filename;
              ordered-by user;
              description
                "Deviation module path";
            }
    
            leaf-list action-script {
              type jt:filename;
              ordered-by user;
              description "Action script path";
            }
    
            leaf proxy-xml {
              type empty;
              description
                "XML proxy YANG module(s)";
            }
    
            leaf snmp {
              type empty;
              description
                "Update custom MIBs in YANG format";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-yang-update
    
        rpc request-logout-user {
          description
            "Forcibly end user's CLI login session";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf pid {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description
                "Management process ID for user";
            }
    
            leaf all {
              type empty;
              description
                "Logout all sessions owned by user";
            }
    
            leaf user {
              type string;
              description "Name of user";
            }
    
            leaf terminal {
              type string;
              description
                "Terminal user is logged in to";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml logout-user {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-logout-user
    
        rpc reload-event-scripts {
          description
            "Reload all existing event-scripts";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml event-scripts-reload {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc reload-event-scripts
    
        rpc request-scripts-package-add {
          description
            "Add or upgrade jais package";
          input {
            leaf no-copy {
              type empty;
              description
                "Don't save copy of jais package file";
            }
    
            leaf unlink {
              type empty;
              description
                "Remove the package after successful installation";
            }
    
            leaf package-name {
              type jt:filename;
              mandatory true;
              description
                "URL or pathname of package";
            }
    
            choice chassis {
              leaf scc {
                type empty;
                description
                  "Install package on SCC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Install package on an LCC";
              }
              leaf sfc {
                type empty;
                description
                  "Install package on SFC";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Install package on member";
              }
              leaf dont-forward {
                type empty;
              }
              leaf master {
                type empty;
                description
                  "Run command on master";
              }
              leaf backup {
                type empty;
                description
                  "Run command on backup";
              }
            }  // choice chassis
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-scripts-package-add
    
        rpc request-scripts-package-delete {
          description "Remove jais package";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-scripts-package-delete
    
        rpc request-scripts-package-rollback {
          description
            "Attempt to roll back to last jais package";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-scripts-package-rollback
    
        rpc request-script-refresh-from {
          description
            "Refresh script from a given base URL";
          input {
            leaf type {
              type enumeration {
                enum "commit" {
                  value 0;
                  description
                    "Refresh commit script from a given base URL";
                }
                enum "op" {
                  value 1;
                  description
                    "Refresh op script from a given base URL";
                }
                enum "event" {
                  value 2;
                  description
                    "Refresh event script from a given base URL";
                }
                enum "snmp" {
                  value 3;
                  description
                    "Refresh snmp script from a given base URL";
                }
                enum "extension-service" {
                  value 4;
                  description
                    "Refresh extension-services app from a given base URL";
                }
              }
              mandatory true;
            }
    
            leaf file {
              type string;
              description
                "Local script file name";
            }
    
            leaf url {
              type string;
              description
                "URL from where the content will be retrieved";
            }
    
            leaf routing-instance {
              type string;
              description
                "Specify the routing-instance name";
            }
    
            leaf cert-file {
              type string;
              description
                "Specify the certificate file name";
            }
    
            leaf sync {
              type empty;
              description
                "Refresh script and synchronize with other RE";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-script-refresh-from
    
        rpc request-scripts-synchronize {
          description
            "Push the scripts to other RE";
          input {
            leaf type {
              type enumeration {
                enum "commit" {
                  value 0;
                  description
                    "Push commit script to other RE";
                }
                enum "op" {
                  value 1;
                  description
                    "Push op script to other RE";
                }
                enum "event" {
                  value 2;
                  description
                    "Push event script to other RE";
                }
                enum "snmp" {
                  value 3;
                  description
                    "Push snmp script to other RE";
                }
                enum "jet" {
                  value 4;
                  description
                    "Push jet app to other RE";
                }
                enum "lib" {
                  value 5;
                  description
                    "Push lib script to other RE";
                }
                enum "all" {
                  value 6;
                  description
                    "Push all the scripts to other RE";
                }
              }
              mandatory true;
            }
    
            leaf file {
              type string;
              description
                "Local script file name";
            }
    
            leaf newer-than {
              type jt:time;
              description
                "Push script to other RE if newer than this time (YYYY-MM-DD.HH:MM:SS)";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-scripts-synchronize
    
        rpc resize-configuraion-database {
          description
            "Resize the configuration database";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf force {
              type empty;
              description
                "Resize the configuration database even if modified";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc resize-configuraion-database
    
        rpc request-save-rescue-configuration {
          description
            "Save committed configuration as rescue configuration";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml rescue-management-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-save-rescue-configuration
    
        rpc request-delete-rescue-configuration {
          description
            "Delete the rescue configuration";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml rescue-management-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-delete-rescue-configuration
    
        rpc request-package-add {
          description
            "Add extension or upgrade package";
          input {
            leaf force {
              type empty;
              description
                "Force addition of package (ignore warnings)";
            }
    
            leaf reboot {
              type empty;
              description
                "Reboot system after adding package";
            }
    
            leaf force-host {
              type empty;
              description
                "Force addition of host os package (ignore version check)";
            }
    
            leaf on-primary {
              type empty;
              description
                "Install image on primary partition while booted on secondary partition";
            }
    
            leaf no-auto-reboot {
              type empty;
              description
                "Do not reboot system automatically after adding package";
            }
    
            leaf delay-restart {
              type empty;
              description
                "Don't restart processes";
            }
    
            leaf no-copy {
              type empty;
              description
                "Don't save copies of package files";
            }
    
            choice validate_choice {
              leaf no-validate {
                type empty;
                description
                  "Don't check compatibility with current configuration";
              }
              leaf validate {
                type empty;
                description
                  "Check compatibility with current configuration";
              }
              leaf validate-on-host {
                type string;
                description
                  "Remote host or user@host for configuration validation";
              }
              leaf validate-on-routing-engine {
                type string;
                description
                  "Routing engine for configuration validation";
              }
            }  // choice validate_choice
    
            leaf best-effort-load {
              type empty;
              description
                "Load succeeds if at least one statement is valid";
            }
    
            leaf unlink {
              type empty;
              description
                "Remove the package after successful installation";
            }
    
            choice re-choice {
              leaf re0 {
                type empty;
                description
                  "Install package on RE0";
              }
              leaf re1 {
                type empty;
                description
                  "Install package on RE1";
              }
              leaf both-routing-engines {
                type empty;
                description
                  "Simultaneous upgrade on both the RE's";
              }
            }  // choice re-choice
    
            choice chassis {
              leaf scc {
                type empty;
                description
                  "Install package on SCC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Install package on an LCC";
              }
              leaf sfc {
                type empty;
                description
                  "Install package on SFC";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Install package on member";
              }
              leaf dont-forward {
                type empty;
              }
    
              case service-node {
              }  // case service-node
              leaf upgrade-group {
                type string;
                description
                  "Satellite upgrade group name";
              }
              leaf satellite {
                type union {
                  type int32;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "FPC slot of satellite system";
              }
              leaf device-alias {
                type string;
                description
                  "Device alias of satellite system";
              }
            }  // choice chassis
    
            choice package-options {
              leaf-list set {
                type jt:filename;
                ordered-by user;
                description
                  "List of URLs or pathnames corresponding to packages";
              }
              leaf package-name {
                type jt:filename;
                description
                  "URL or pathname of package";
              }
              leaf version {
                type string;
                description
                  "Version of satellite package";
              }
            }  // choice package-options
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-package-add
    
        rpc request-package-latest-status {
          description
            "Status of package installation";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml package-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-package-latest-status
    
        rpc abort-in-service-upgrade {
          description
            "Abort in-service software upgrade";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc abort-in-service-upgrade
    
        rpc request-package-in-service-upgrade {
          description
            "In-service software upgrade";
          input {
            leaf reboot {
              type empty;
              description
                "Reboot system after adding package";
            }
    
            choice package-options {
              case set {
              }  // case set
              leaf package-name {
                type jt:filename;
                description
                  "URL or pathname of package";
              }
            }  // choice package-options
    
            leaf no-old-master-upgrade {
              type empty;
              description
                "Don't upgrade the old master after switchover";
            }
    
            leaf no-copy {
              type empty;
              description
                "Don't save copies of package files";
            }
    
            leaf unlink {
              type empty;
              description
                "Remove the package after successful installation";
            }
    
            leaf no-validate {
              type empty;
              description
                "Don't check compatibility with current configuration";
            }
    
            choice issu_internal {
            }  // choice issu_internal
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-package-in-service-upgrade
    
        rpc request-package-nonstop-upgrade {
          description "Nonstop software upgrade";
          input {
            leaf force-host {
              type empty;
              description
                "Force addition of host os package (ignore version check)";
            }
    
            leaf no-auto-recovery {
              type empty;
              description
                "Will not recover in case of NSSU failure";
            }
    
            leaf reboot {
              type empty;
              description
                "Reboot system after adding package";
            }
    
            choice package-options {
              leaf-list set {
                type jt:filename;
                ordered-by user;
                description
                  "List of URLs or pathnames corresponding to packages";
              }
              leaf package-name {
                type jt:filename;
                description
                  "URL or pathname of package";
              }
            }  // choice package-options
    
            leaf no-old-master-upgrade {
              type empty;
              description
                "Don't upgrade the old master after switchover";
            }
    
            leaf no-copy {
              type empty;
              status deprecated;
              description
                "Don't save copies of package files";
            }
    
            leaf unlink {
              type empty;
              status deprecated;
              description
                "Remove the package after successful installation";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-package-nonstop-upgrade
    
        rpc request-package-delete {
          description
            "Remove extension or upgrade package";
          input {
            leaf archived {
              type empty;
              description
                "Removing of all archived software versions except current and rollback";
            }
    
            leaf force {
              type empty;
              description
                "Force removal of package (ignore warnings)";
            }
    
            choice package-options {
              case set {
              }  // case set
              leaf package-name {
                type string;
                description "Name of package";
              }
              leaf upgrade-group {
                type string;
                description
                  "Satellite upgrade group name";
              }
              leaf version {
                type string;
                description
                  "Version of satellite package";
              }
            }  // choice package-options
    
            leaf reboot {
              type empty;
              description
                "Reboot system after package delete";
            }
    
            choice re-choice {
              leaf re0 {
                type empty;
                description
                  "Delete package on RE0";
              }
              leaf re1 {
                type empty;
                description
                  "Delete package on RE1";
              }
            }  // choice re-choice
    
            choice chassis {
              leaf scc {
                type empty;
                description
                  "Delete package on SCC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 3";
                  }
                }
                description
                  "Delete package on an LCC";
              }
              leaf sfc {
                type empty;
                description
                  "Delete package on SFC";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Delete package on VC Member";
              }
              leaf dont-forward {
                type empty;
              }
            }  // choice chassis
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-package-delete
    
        rpc request-package-rollback {
          description
            "Attempt to roll back to previous set of packages";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf reboot {
              type empty;
              description
                "Reboot system after rollback";
            }
    
            leaf force {
              type empty;
              description
                "Force rollback of packages (ignore warnings)";
            }
    
            choice satellite-arg {
              leaf upgrade-group {
                type string;
                description
                  "Satellite upgrade group name";
              }
              leaf satellite {
                type union {
                  type int32;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "FPC slot of satellite system";
              }
              leaf device-alias {
                type string;
                description
                  "Device alias of satellite system";
              }
            }  // choice satellite-arg
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-package-rollback
    
        rpc request-package-validate {
          description
            "Verify package compatibility with current configuration";
          input {
            choice package-options {
              case set {
              }  // case set
              leaf package-name {
                type jt:filename;
                description
                  "URL or pathname of package";
              }
            }  // choice package-options
    
            choice chassis {
              leaf scc {
                type empty;
                description
                  "Validate package on SCC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Validate package on an LCC";
              }
              leaf sfc {
                type empty;
                description
                  "Validate package on SFC";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Validate package on member";
              }
              leaf dont-forward {
                type empty;
              }
            }  // choice chassis
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-package-validate
    
        rpc check-in-service-upgrade {
          description
            "Check in-service software upgrade";
          input {
            choice package-options {
              case set {
              }  // case set
              leaf package-name {
                type jt:filename;
                description
                  "URL or pathname of package";
              }
            }  // choice package-options
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc check-in-service-upgrade
    
        rpc request-license-add {
          description
            "Add license keys from file, local or from server";
          input {
            leaf filename {
              type string;
              description
                "Filename (URL, local, remote, or floppy)";
            }
    
            leaf key-data {
              type string;
              description "License key data";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml add-license-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-license-add
    
        rpc request-license-delete {
          description "Delete license keys";
          input {
            choice delete-choice {
              leaf all {
                type empty;
                description
                  "Delete all license keys";
              }
              leaf license-identifier {
                type string;
                description
                  "Identifier of installed license key";
              }
              leaf-list license-identifier-list {
                type string;
                ordered-by user;
                description
                  "Identifier of installed license key";
              }
            }  // choice delete-choice
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-license-delete
    
        rpc request-license-save {
          description
            "Save license keys to file, local or to server";
          input {
            leaf filename {
              type string;
              mandatory true;
              description
                "Filename (URL, local, remote, or floppy)";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-license-save
    
        rpc request-license-update {
          description
            "Start autoupdate license keys from LMS servers";
          input {
            leaf trial {
              type empty;
              description
                "Start autoupdate trial license keys from LMS servers";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml inform {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-license-update
    
        rpc license-revoke-licenses {
          status deprecated;
          description
            "Revoke licenses in the Authorization key";
          input {
            leaf filename {
              type string;
              mandatory true;
              description
                "Filename (URL, local, remote, or floppy)";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc license-revoke-licenses
    
        rpc fips-selftest {
          description
            "Execute FIPS known answer tests (KATs)";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc fips-selftest
    
        rpc request-personality-file-generate {
          description
            "Generate the personality-file tarball for the device";
          input {
            leaf personality-file-create {
              type string;
              mandatory true;
              description
                "Url containing the remote server alongwith the name of the tarball";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-personality-file-generate
    
        rpc request-personality-file-retrieve {
          description
            "Retrieve the personality-file tarball of the device";
          input {
            leaf personality-file-retrieve {
              type string;
              mandatory true;
              description
                "Url containing the remote server alongwith the name of the tarball";
            }
    
            leaf retrieve-location {
              type string;
              mandatory true;
              description
                "Path on the local device where the personality-file will be retrieved";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-personality-file-retrieve
    
        rpc transfer-control {
          description
            "Control transfers of core and log files";
          input {
            leaf operation {
              type enumeration {
                enum "abort" {
                  value 0;
                  description "Abort a transfer";
                }
                enum "pause" {
                  value 1;
                  description "Pause a transfer";
                }
                enum "restart" {
                  value 2;
                  description
                    "Restart a transfer";
                }
              }
              mandatory true;
              description
                "Transfer control operation";
            }
    
            choice arg-type {
              case component {
              }  // case component
              leaf transfer-id {
                type union {
                  type int32;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description
                  "Transfer identifier";
              }
            }  // choice arg-type
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml transfer-control-diagnostics {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc transfer-control
    
        rpc request-log {
          description
            "Create an archive of all system logs";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-logfiles {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-log
    
        rpc request-system-storage-cleanup {
          description
            "Clean up temporary files and rotate logs";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf dry-run {
              type empty;
              description
                "Only list the cleanup candidates, do not remove them";
            }
    
            leaf no-confirm {
              type empty;
              description
                "Do not ask for confirmation";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-storage-cleanup-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-system-storage-cleanup
    
        rpc request-system-storage-expand-user {
          description "Manage size of user disk";
          input {
            leaf operation {
              type enumeration {
                enum "expand" {
                  value 0;
                  description
                    "Expand user disk to maximum available size";
                }
                enum "restore" {
                  value 1;
                  description
                    "Restore user disk to default setting";
                }
              }
              mandatory true;
              description
                "Expand user disk or revert to default";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-system-storage-expand-user
    
        rpc request-boot-console {
          description "Switch boot-console port";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf port {
              type enumeration {
                enum "console" {
                  value 0;
                  description
                    "Set Console port as boot console";
                }
                enum "auxiliary" {
                  value 1;
                  description
                    "Set Auxiliary port as boot console";
                }
              }
              mandatory true;
              description "Choice of port";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-boot-console
    
        rpc request-reboot {
          description "Reboot the system";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf media {
              type enumeration {
                enum "disk" {
                  value 0;
                  description
                    "Boot off hard disk";
                }
                enum "compact-flash" {
                  value 1;
                  description
                    "Standard boot off flash device";
                }
                enum "usb" {
                  value 2;
                  description
                    "Boot off USB device";
                }
                enum "usb0" {
                  value 3;
                  description
                    "Boot off USB0 device";
                }
                enum "usb1" {
                  value 4;
                  description
                    "Boot off USB1 device";
                }
                enum "removable-compact-flash" {
                  value 5;
                  description
                    "Boot off removable compact flash device";
                }
                enum "external" {
                  value 6;
                  description
                    "Boot from external storage device";
                }
                enum "internal" {
                  value 7;
                  description
                    "Boot from internal flash";
                }
                enum "nand-flash0" {
                  value 8;
                  description
                    "Boot off nand-flash0";
                }
                enum "nand-flash1" {
                  value 9;
                  description
                    "Boot off nand-flash1";
                }
              }
              description
                "Boot media for next boot";
            }
    
            leaf at {
              type string;
              default "now";
              description
                "Time at which to perform the operation";
            }
    
            leaf in {
              type string;
              default "now";
              description
                "Number of minutes to delay before operation";
            }
    
            leaf message {
              type string;
              description
                "Message to display to all users";
            }
    
            leaf power-off {
              type enumeration {
                enum "fpc" {
                  value 0;
                  description "Power off FPCs";
                }
              }
              description
                "Power-off the software on RE";
            }
    
            leaf slice {
              type enumeration {
                enum "alternate" {
                  value 0;
                  description
                    "Boot from alternate partition";
                }
                enum "1" {
                  value 1;
                  description
                    "Boot from first partition";
                }
                enum "2" {
                  value 2;
                  description
                    "Boot from second partition";
                }
              }
              description
                "Partition on boot media to boot from";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml request-reboot-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-reboot
    
        rpc request-reboot-in-service {
          description
            "Reboot with minimal traffic disruption";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-reboot-in-service
    
        rpc request-halt {
          description "Halt the system";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf media {
              type enumeration {
                enum "disk" {
                  value 0;
                  description
                    "Boot off hard disk";
                }
                enum "compact-flash" {
                  value 1;
                  description
                    "Standard boot off flash device";
                }
                enum "usb" {
                  value 2;
                  description
                    "Boot off USB device";
                }
                enum "usb0" {
                  value 3;
                  description
                    "Boot off USB0 device";
                }
                enum "usb1" {
                  value 4;
                  description
                    "Boot off USB1 device";
                }
                enum "removable-compact-flash" {
                  value 5;
                  description
                    "Boot off removable compact flash device";
                }
                enum "external" {
                  value 6;
                  description
                    "Boot from external storage device";
                }
                enum "internal" {
                  value 7;
                  description
                    "Boot from internal flash";
                }
                enum "nand-flash0" {
                  value 8;
                  description
                    "Boot off nand-flash0";
                }
                enum "nand-flash1" {
                  value 9;
                  description
                    "Boot off nand-flash1";
                }
              }
              description
                "Boot media for next boot";
            }
    
            leaf at {
              type string;
              default "now";
              description
                "Time at which to perform the operation";
            }
    
            leaf in {
              type string;
              default "now";
              description
                "Number of minutes to delay before operation";
            }
    
            leaf message {
              type string;
              description
                "Message to display to all users";
            }
    
            leaf power-off {
              type enumeration {
                enum "fpc" {
                  value 0;
                  description "Power off FPCs";
                }
              }
              description
                "Power-off the software on RE";
            }
    
            leaf slice {
              type enumeration {
                enum "alternate" {
                  value 0;
                  description
                    "Boot from alternate partition";
                }
                enum "1" {
                  value 1;
                  description
                    "Boot from first partition";
                }
                enum "2" {
                  value 2;
                  description
                    "Boot from second partition";
                }
              }
              description
                "Partition on boot media to boot from";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-halt
    
        rpc request-power-off {
          description
            "Power off the software on RE";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf media {
              type enumeration {
                enum "disk" {
                  value 0;
                  description
                    "Boot off hard disk";
                }
                enum "compact-flash" {
                  value 1;
                  description
                    "Standard boot off flash device";
                }
                enum "usb" {
                  value 2;
                  description
                    "Boot off USB device";
                }
                enum "usb0" {
                  value 3;
                  description
                    "Boot off USB0 device";
                }
                enum "usb1" {
                  value 4;
                  description
                    "Boot off USB1 device";
                }
                enum "removable-compact-flash" {
                  value 5;
                  description
                    "Boot off removable compact flash device";
                }
                enum "external" {
                  value 6;
                  description
                    "Boot from external storage device";
                }
                enum "internal" {
                  value 7;
                  description
                    "Boot from internal flash";
                }
                enum "nand-flash0" {
                  value 8;
                  description
                    "Boot off nand-flash0";
                }
                enum "nand-flash1" {
                  value 9;
                  description
                    "Boot off nand-flash1";
                }
              }
              description
                "Boot media for next boot";
            }
    
            leaf at {
              type string;
              default "now";
              description
                "Time at which to perform the operation";
            }
    
            leaf in {
              type string;
              default "now";
              description
                "Number of minutes to delay before operation";
            }
    
            leaf message {
              type string;
              description
                "Message to display to all users";
            }
    
            leaf power-off {
              type enumeration {
                enum "fpc" {
                  value 0;
                  description "Power off FPCs";
                }
              }
              description
                "Power-off the software on RE";
            }
    
            leaf slice {
              type enumeration {
                enum "alternate" {
                  value 0;
                  description
                    "Boot from alternate partition";
                }
                enum "1" {
                  value 1;
                  description
                    "Boot from first partition";
                }
                enum "2" {
                  value 2;
                  description
                    "Boot from second partition";
                }
              }
              description
                "Partition on boot media to boot from";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-power-off
    
        rpc request-process-terminate {
          description "Terminate the process";
          input {
            leaf process-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 99999";
                }
              }
              mandatory true;
              description "Process ID";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-process-terminate
    
        rpc request-system-zeroize {
          description
            "Erase all data, including configuration and log files";
          input {
            leaf media {
              type empty;
              description "Overwrite media";
            }
    
            leaf local {
              type empty;
              description
                "Zeroize just this Routing Engine";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-system-zeroize
    
        rpc request-snapshot {
          description
            "Archive data and executable areas";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf partition {
              type empty;
              description "Partition the media";
            }
    
            leaf slice {
              type enumeration {
                enum "alternate" {
                  value 0;
                  description
                    "Write snapshot to alternate partition";
                }
              }
              description
                "Write snapshot to specified partition";
            }
    
            leaf media {
              type enumeration {
                enum "removable-compact-flash" {
                  value 0;
                  description
                    "Write snapshot to removable compact flash";
                }
                enum "compact-flash" {
                  value 1;
                  description
                    "Write snapshot to compact flash";
                }
                enum "usb" {
                  value 2;
                  description
                    "Write snapshot to device connected to USB port";
                }
                enum "usb0" {
                  value 3;
                  description
                    "Write snapshot to device connected to USB0 port";
                }
                enum "usb1" {
                  value 4;
                  description
                    "Write snapshot to device connected to USB1 port";
                }
                enum "hard-disk" {
                  value 5;
                  description
                    "Write snapshot to hard disk";
                }
                enum "internal" {
                  value 6;
                  description
                    "Write snapshot to internal flash";
                }
                enum "external" {
                  value 7;
                  description
                    "Write snapshot to external storage device";
                }
              }
              default "compact-flash";
              description "Media to snapshot to";
            }
    
            leaf root-partition {
              type empty;
              description
                "Write snapshot of root partition alone";
            }
    
            leaf config-partition {
              type empty;
              description
                "Write snapshot of config partition alone";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml snapshot-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-snapshot
    
        rpc request-system-firmware-reload-fpc {
          description "Reload FPC ROM monitor";
          input {
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "FPC slot number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-firmware-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-system-firmware-reload-fpc
    
        rpc request-jfw-cpld-upgrade {
          description "Upgrade CPLD firmware";
          input {
            leaf cpld-type {
              type string;
              description
                "CPLD type: RE, MAIN, FAN";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-cpld-upgrade
    
        rpc request-jfw-cpld-mainboard-upgrade {
          description
            "Upgrade mainboard CPLD firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-cpld-mainboard-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-cpld-mainboard-upgrade
    
        rpc request-jfw-main-board-upgrade-status {
          description
            "Show MAIN board upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-main-board-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-main-board-upgrade-status
    
        rpc request-jfw-cpld-fanboard-upgrade {
          description
            "Upgrade fanboard CPLD firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-cpld-fanboard-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-cpld-fanboard-upgrade
    
        rpc request-jfw-cpld-fanboard-upgrade-status {
          description
            "Show fanboard CPLD upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-cpld-fanboard-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-cpld-fanboard-upgrade-status
    
        rpc request-jfw-cpld-sys-upgrade {
          description
            "Upgrade Sys CPLD firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-cpld-sys-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-cpld-sys-upgrade
    
        rpc request-jfw-sys-cpld-upgrade-status {
          description
            "Show Sys cpld upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-sys-cpld-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-sys-cpld-upgrade-status
    
        rpc request-jfw-cpld-cpuboard-upgrade {
          description
            "Upgrade CPU board CPLD firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-cpld-cpuboard-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-cpld-cpuboard-upgrade
    
        rpc request-jfw-cpu-cpld-upgrade-status {
          description
            "Show CPU cpld upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-cpu-cpld-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-cpu-cpld-upgrade-status
    
        rpc request-jfw-mmc-upgrade {
          description "Upgrade MMC firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-mmc-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-mmc-upgrade
    
        rpc request-jfw-mmc-upgrade-status {
          description "Show MMC upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-mmc-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-mmc-upgrade-status
    
        rpc request-jfw-nic-i350-upgrade {
          description
            "Upgrade Builtin i350 NIC firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-nic-i350-upgrade
    
        rpc request-jfirmware-nic-i210-upgrade {
          description
            "Upgrade Builtin i210 NIC firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfirmware-nic-i210-upgrade
    
        rpc request-jfw-nic-x552-upgrade {
          description
            "Upgrade Builtin x552 NIC firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-nic-x552-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-nic-x552-upgrade
    
        rpc request-jfw-nic-x722-upgrade {
          description
            "Upgrade Builtin x722 NIC firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-nic-x722-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-nic-x722-upgrade
    
        rpc request-jfw-nic-x722-upgrade-status {
          description "Show NIC upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-nic-x722-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-nic-x722-upgrade-status
    
        rpc request-jfw-nic-x553-upgrade {
          description
            "Upgrade Builtin x553 NIC firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-nic-x553-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-nic-x553-upgrade
    
        rpc request-jfw-nic-i82599-1-upgrade {
          description
            "Upgrade Builtin i82599_1 NIC firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-nic-i82599-1-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-nic-i82599-1-upgrade
    
        rpc request-jfw-nic-i82599-2-upgrade {
          description
            "Upgrade Builtin i82599_2 NIC firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-nic-i82599-2-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-nic-i82599-2-upgrade
    
        rpc request-jfw-em-i350-copper-upgrade {
          description
            "Upgrade Expansion Module i350 NIC Copper firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-em-i350-copper-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-em-i350-copper-upgrade
    
        rpc request-jfw-em-i350-sfp-upgrade {
          description
            "Upgrade Expansion Module i350 NIC SFP firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-em-i350-sfp-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-em-i350-sfp-upgrade
    
        rpc request-jfw-bios-upgrade {
          description "Upgrade BIOS firmware";
          input {
            leaf disk {
              type string;
              description "1, 2";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-bios-upgrade
    
        rpc request-jfw-bios-upgrade-status {
          description "Show BIOS upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-bios-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-bios-upgrade-status
    
        rpc request-jfw-psu-upgrade {
          description "Upgrade psu firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-psu-upgrade
    
        rpc request-jfw-psu-upgrade-status {
          description "Show PSU upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-psu-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-psu-upgrade-status
    
        rpc request-jfirmware-hv-psu-upgrade {
          description "Upgrade HV PSU firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfirmware-hv-psu-upgrade
    
        rpc request-jfirmware-hv-psu-upgrade-status {
          description
            "Show HV PSU upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfirmware-hv-psu-upgrade-status
    
        rpc request-jfw-ssd-upgrade {
          description "Upgrade SSD firmware";
          input {
            leaf disk {
              type string;
              description "1, 2";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-ssd-upgrade
    
        rpc get-jfw-tpm-upgrade {
          description "Upgrade TPM firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-jfw-tpm-upgrade
    
        rpc request-jfw-poe-upgrade {
          description "Upgrade POE firmware";
          input {
            leaf fpc-slot {
              type string;
              mandatory true;
              description "FPC slot";
            }
    
            leaf poe-firmware-type {
              type enumeration {
                enum "poe-at-firmware" {
                  value 0;
                  description
                    "IEEE 802.3at PoE Firmware Support";
                }
                enum "poe-bt-firmware" {
                  value 1;
                  description
                    "IEEE 802.3bt PoE Firmware Support";
                }
              }
              description "POE_FIRMWARE_TYPE";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-poe-upgrade
    
        rpc request-jfw-bcm-pcie-upgrade {
          description
            "Upgrade BCM PCIe firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-bcm-pcie-upgrade
    
        rpc request-jfirmware-pmic-upgrade {
          description "Upgrade PMIC firmware";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfirmware-pmic-upgrade
    
        rpc request-jfw-pmic-fpga-upgrade-status {
          description "Show PMIC Upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-pmic-fpga-upgrade-status
    
        rpc request-jfw-re-fpga-upgrade {
          description "Upgrade RE FPGA";
          input {
            leaf file {
              type string;
              description
                "Jfirmware package file";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-re-fpga-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-re-fpga-upgrade
    
        rpc request-jfw-re-fpga-upgrade-status {
          description
            "Show RE FPGA Upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-re-fpga-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-re-fpga-upgrade-status
    
        rpc request-jfw-tmc-fpga-upgrade {
          description
            "Upgrade Mainboard TMC FPGA";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-tmc-fpga-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-tmc-fpga-upgrade
    
        rpc request-jfw-tmc-fpga-upgrade-status {
          description "Show TMC Upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-tmc-fpga-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-tmc-fpga-upgrade-status
    
        rpc request-jfw-power-cpld-upgrade {
          description "Upgrade Power CPLD";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-power-cpld-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-power-cpld-upgrade
    
        rpc request-jfw-powercpld-upgrade-status {
          description
            "Show Powercpld Upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-powercpld-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-powercpld-upgrade-status
    
        rpc request-jfirmware-fanboard-fpga-upgrade {
          description "Upgrade Fanboard FPGA";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfirmware-fanboard-fpga-upgrade
    
        rpc request-jfirmware-fanboard-fpga-upgrade-status {
          description
            "Show Fanboard FPGA Upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfirmware-fanboard-fpga-upgrade-status
    
        rpc request-jfw-optics-sfp-upgrade {
          description "Upgrade Optics FPGA/CPLD";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-optics-sfp-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-optics-sfp-upgrade
    
        rpc request-jfw-optics-sfp-upgrade-status {
          description "Show SFP Upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-optics-sfp-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-optics-sfp-upgrade-status
    
        rpc request-jfw-optics-qsfp-upgrade {
          description "Upgrade Optics FPGA/CPLD";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-optics-qsfp-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-optics-qsfp-upgrade
    
        rpc request-jfw-optics-qsfp-upgrade-status {
          description "Show QSFP Upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-jfw-optics-qsfp-upgrade-information-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-optics-qsfp-upgrade-status
    
        rpc request-jfw-bmc-upgrade {
          description "Upgrade BMC firmware";
          input {
            leaf file {
              type string;
              description
                "Jfirmware package file";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-bmc-upgrade
    
        rpc request-jfw-bmc-upgrade-status {
          description "Show BMC Upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-bmc-upgrade-status
    
        rpc request-jfw-allfw-upgrade {
          description
            "Upgrade all firmwares applicable in Jfirmware package";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-jfw-allfw-upgrade
    
        rpc request-scb-fpga-upgrade {
          description "Upgrade SCB FPGA ";
          input {
            leaf file {
              type string;
              description "FPGA file name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-fpga-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-scb-fpga-upgrade
    
        rpc request-fpc-fpga-upgrade {
          description "Upgrade Line Card FPGAs";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description "FPC slot number";
            }
    
            leaf file {
              type string;
              description "FPGA file name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-fpga-upgrade-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-fpc-fpga-upgrade
    
        rpc request-pem-firmware-upgrade {
          description "Upgrade CHASSIS PEM FW";
          input {
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description "PEM slot number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-firmware-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-pem-firmware-upgrade
    
        rpc request-system-download-clear {
          description
            "Clear records of completed and aborted downloads";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml download-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-system-download-clear
    
        rpc request-system-download-start {
          description "Start a new download";
          input {
            leaf url {
              type string;
              mandatory true;
              description "URL of file";
            }
    
            leaf max-rate {
              type string;
              description
                "Maximum bandwidth for the download";
            }
    
            leaf save-as {
              type string;
              description
                "Rename file when saving to local file system";
            }
    
            leaf login {
              type string;
              description
                "Login credentials (username:password)";
            }
    
            leaf identity-file {
              type string;
              description
                "Identity file for sftp pubic key authentication";
            }
    
            leaf passphrase {
              type string;
              description
                "Passphrase used to protect identity key pair";
            }
    
            leaf delay {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 48";
                }
              }
              units "hours";
              description
                "Delay the start of the download";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml download-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-system-download-start
    
        rpc request-system-download-pause {
          description "Pause an active download";
          input {
            leaf download-id {
              type union {
                type uint16;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description
                "ID of the download to be paused";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml download-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-system-download-pause
    
        rpc request-system-download-resume {
          description "Resume a paused download";
          input {
            leaf download-id {
              type union {
                type uint16;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description
                "ID of the download to be resumed";
            }
    
            leaf max-rate {
              type string;
              description
                "Maximum bandwidth for the download";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml download-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-system-download-resume
    
        rpc request-system-download-abort {
          description
            "Abort a download and delete the local file";
          input {
            leaf download-id {
              type union {
                type uint16;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description
                "ID of the download to be aborted";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml download-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-system-download-abort
    
        rpc generate-pki-key-pair {
          description
            "Generate RSA, DSA or ECDSA private and public key pair";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf size {
              type enumeration {
                enum "256" {
                  value 0;
                  description
                    "256 bits (ECDSA only)";
                }
                enum "384" {
                  value 1;
                  description
                    "384 bits (ECDSA only)";
                }
                enum "521" {
                  value 2;
                  description
                    "521 bits (ECDSA only)";
                }
                enum "512" {
                  value 3;
                  description
                    "512 bits (RSA only)";
                }
                enum "1024" {
                  value 4;
                  description
                    "1024 bits (RSA/DSA only)";
                }
                enum "2048" {
                  value 5;
                  description
                    "2048 bits (RSA/DSA only)";
                }
                enum "4096" {
                  value 6;
                  description
                    "4096 bits (RSA/DSA only)";
                }
              }
              units "bits";
              default "2048";
              description "Size of key";
            }
    
            leaf type {
              type enumeration {
                enum "rsa" {
                  value 0;
                  description "RSA encryption";
                }
                enum "dsa" {
                  value 1;
                  description "DSA encryption";
                }
                enum "ecdsa" {
                  value 2;
                  description "ECDSA encryption";
                }
              }
              default "rsa";
              description
                "Algorithm for encrypting public private keys";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml cert-key-pair {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc generate-pki-key-pair
    
        rpc generate-pki-certificate-request {
          description
            "Generate the certificate request in PKCS-10 format";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf ip-address {
              type jt:ipaddr;
              description
                "Static IP address of the device";
            }
    
            leaf ipv6-address {
              type jt:ipv6addr;
              description
                "Static IPv6 address of the device for subject-alt-name";
            }
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf filename {
              type string;
              description
                "Local location for copy of certificate request";
            }
    
            leaf subject {
              type string;
              mandatory true;
              description
                "DC=<Domain component>,CN=<Common-Name>,OU=<Organizational-Unit-name>,O=<Organization-name>,SN=<Serial-Number>,L=<Locality>,ST=<state>,C=<Country>";
            }
    
            leaf digest {
              type enumeration {
                enum "sha-1" {
                  value 0;
                  description
                    "SHA-1 digests (RSA/DSA only, default value for RSA/DSA)";
                }
                enum "sha-256" {
                  value 1;
                  description
                    "SHA-256 digests (RSA/ECDSA only, default value for ECDSA)";
                }
                enum "sha-384" {
                  value 2;
                  description
                    "SHA-384 digests (ECDSA only)";
                }
              }
              description
                "Hash algorithm for signing RSA certificates";
            }
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf domain-name {
              type string;
              description
                "Fully qualified domain name";
            }
    
            leaf email {
              type string;
              description "Email address";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc generate-pki-certificate-request
    
        rpc load-pki-ca-certificate {
          description
            "Load the certificate onto the routing platform";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate authority profile";
            }
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf filename {
              type string;
              mandatory true;
              description
                "File pathname containing certificate to load";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml cert-ca-load-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc load-pki-ca-certificate
    
        rpc request-security-pki-ca-profile-group {
          description
            "Perform operations on group of Certificate-authority(CA) certificates";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml ca-profile-group {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-pki-ca-profile-group
    
        rpc request-security-pki-ca-profile-group-load {
          description
            "Load the certificate group onto the routing platform";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf ca-group-name {
              type string {
                length "1 .. 24";
              }
              mandatory true;
              description "CA group identifier";
            }
    
            leaf filename {
              type string;
              mandatory true;
              description
                "File pathname containing certificate to load";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml ca-profile-group-load {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-pki-ca-profile-group-load
    
        rpc verify-pki-ca-certificate {
          description "Verify the certificate";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate authority profile";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc verify-pki-ca-certificate
    
        rpc request-security-local-certificate-enroll {
          description
            "Enroll router certificate with CA online";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate authority profile";
            }
    
            leaf challenge-password {
              type string;
              mandatory true;
              description
                "Password used by CA for enrollment and revocation";
            }
    
            leaf scep-encryption-algorithm {
              type enumeration {
                enum "des" {
                  value 0;
                  description "DES Encryption";
                }
                enum "des3" {
                  value 1;
                  description
                    "DES-3 Encryption (default)";
                }
              }
              description
                "Encrypion algorithm used for SCEP-PKCS7";
            }
    
            leaf scep-digest-algorithm {
              type enumeration {
                enum "md5" {
                  value 0;
                  description "MD-5 digest";
                }
                enum "sha1" {
                  value 1;
                  description
                    "SHA-1 digest (default)";
                }
              }
              description
                "Hash algorithm used for SCEP-PKCS7";
            }
    
            leaf ip-address {
              type jt:ipaddr;
              description
                "Static IP address of the device";
            }
    
            leaf ipv6-address {
              type jt:ipv6addr;
              description
                "Static IPv6 address of the device for subject-alt-name";
            }
    
            leaf subject {
              type string;
              mandatory true;
              description
                "DC=<Domain component>,CN=<Common-Name>,OU=<Organizational-Unit-name>,O=<Organization-name>,SN=<Serial-Number>,L=<Locality>,ST=<state>,C=<Country>";
            }
    
            leaf digest {
              type enumeration {
                enum "sha-1" {
                  value 0;
                  description
                    "SHA-1 digests (default value)";
                }
                enum "sha-256" {
                  value 1;
                  description "SHA-256 digests";
                }
              }
              description
                "Hash algorithm for signing RSA certificates";
            }
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf domain-name {
              type string;
              description
                "Fully qualified domain name";
            }
    
            leaf email {
              type string;
              description "Email address";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-certificate-enroll {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-local-certificate-enroll
    
        rpc request-security-local-certificate-enroll-cmpv2 {
          description
            "Enroll certificate using CMPv2 protocol";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf ip-address {
              type jt:ipaddr;
              description
                "Static IP address of the device";
            }
    
            leaf ipv6-address {
              type jt:ipv6addr;
              description
                "Static IPv6 address of the device for subject-alt-name";
            }
    
            leaf domain-name {
              type string;
              description
                "Fully qualified domain name for subject-alt-name";
            }
    
            leaf email {
              type string;
              description "Email address";
            }
    
            leaf subject {
              type string;
              mandatory true;
              description
                "DC=<Domain component>,CN=<Common-Name>,OU=<Organizational-Unit-name>,O=<Organization-name>,SN=<Serial-Number>,L=<Locality>,ST=<state>,C=<Country>";
            }
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate authority profile";
            }
    
            leaf ca-dn {
              type string;
              description
                "Subject DN for CMPv2 server, if CA certificate is not enrolled";
            }
    
            leaf ca-secret {
              type string;
              mandatory true;
              description
                "Initial Authentication Key, received from CMPv2 server";
            }
    
            leaf ca-reference {
              type string;
              mandatory true;
              description
                "Reference value associated with secret, received from CMPv2 server";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-certificate-enroll-cmpv2 {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-local-certificate-enroll-cmpv2
    
        rpc request-security-local-certificate-enroll-scep {
          description
            "Enroll end-entity certificate using SCEP protocol";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate authority profile";
            }
    
            leaf challenge-password {
              type string;
              mandatory true;
              description
                "Password used by CA for enrollment and revocation";
            }
    
            leaf scep-encryption-algorithm {
              type enumeration {
                enum "des" {
                  value 0;
                  description "DES Encryption";
                }
                enum "des3" {
                  value 1;
                  description
                    "DES-3 Encryption (default)";
                }
              }
              description
                "Encrypion algorithm used for SCEP-PKCS7";
            }
    
            leaf scep-digest-algorithm {
              type enumeration {
                enum "md5" {
                  value 0;
                  description "MD-5 digest";
                }
                enum "sha1" {
                  value 1;
                  description
                    "SHA-1 digest (default)";
                }
              }
              description
                "Hash algorithm used for SCEP-PKCS7";
            }
    
            leaf ip-address {
              type jt:ipaddr;
              description
                "Static IP address of the device";
            }
    
            leaf ipv6-address {
              type jt:ipv6addr;
              description
                "Static IPv6 address of the device for subject-alt-name";
            }
    
            leaf domain-name {
              type string;
              description
                "Fully qualified domain name for subject-alt-name";
            }
    
            leaf email {
              type string;
              description "Email address";
            }
    
            leaf subject {
              type string;
              mandatory true;
              description
                "DC=<Domain component>,CN=<Common-Name>,OU=<Organizational-Unit-name>,O=<Organization-name>,SN=<Serial-Number>,L=<Locality>,ST=<state>,C=<Country>";
            }
    
            leaf digest {
              type enumeration {
                enum "sha-1" {
                  value 0;
                  description
                    "SHA-1 digests (default value)";
                }
                enum "sha-256" {
                  value 1;
                  description "SHA-256 digests";
                }
              }
              description
                "Hash algorithm for signing RSA certificates";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-certificate-enroll-scep {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-local-certificate-enroll-scep
    
        rpc request-security-local-certificate-re-enroll {
          description
            "Re-enroll router certificate with CA online";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-certificate-re-enroll {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-local-certificate-re-enroll
    
        rpc request-security-local-cert-re-enroll-cmpv2 {
          description
            "Enroll certificate using CMPv2 protocol";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              description
                "Certificate authority profile";
            }
    
            leaf re-generate-keypair {
              type empty;
              description
                "Generate new keypair for re-enrollment";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-cert-re-enroll-cmpv2 {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-local-cert-re-enroll-cmpv2
    
        rpc request-security-local-cert-re-enroll-scep {
          description
            "Enroll end-entity certificate using SCEP protocol";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              description
                "Certificate authority profile";
            }
    
            leaf challenge-password {
              type string;
              mandatory true;
              description
                "Password used by CA for enrollment and revocation";
            }
    
            leaf re-generate-keypair {
              type empty;
              description
                "Generate new keypair for re-enrollment";
            }
    
            leaf scep-encryption-algorithm {
              type enumeration {
                enum "des" {
                  value 0;
                  description "DES Encryption";
                }
                enum "des3" {
                  value 1;
                  description
                    "DES-3 Encryption (default)";
                }
              }
              description
                "Encrypion algorithm used for SCEP-PKCS7";
            }
    
            leaf scep-digest-algorithm {
              type enumeration {
                enum "md5" {
                  value 0;
                  description "MD-5 digest";
                }
                enum "sha1" {
                  value 1;
                  description
                    "SHA-1 digest (default)";
                }
              }
              description
                "Hash algorithm used for SCEP-PKCS7";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-cert-re-enroll-scep {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-local-cert-re-enroll-scep
    
        rpc request-security-local-certificate-export {
          description "Export Certificate";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf filename {
              type string;
              mandatory true;
              description
                "Local location for copy of certificate.";
            }
    
            leaf type {
              type enumeration {
                enum "pem" {
                  value 0;
                  description "PEM format";
                }
                enum "der" {
                  value 1;
                  description "DER format";
                }
              }
              default "pem";
              description "Type of certificate.";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-certificate-export {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-local-certificate-export
    
        rpc load-pki-local-certificate {
          description
            "Load the certificate onto the routing platform";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf filename {
              type string;
              mandatory true;
              description
                "File pathname containing certificate to load";
            }
    
            leaf key {
              type string;
              description
                "File pathname containing the private key/key-pair to load";
            }
    
            leaf passphrase {
              type string;
              description
                "Passphrase of the private key/key-pair (PEM) file";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml cert-load-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc load-pki-local-certificate
    
        rpc verify-pki-local-certificate {
          description "Verify the certificate";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc verify-pki-local-certificate
    
        rpc generate-pki-self-signed-local-certificate {
          description
            "Generate a self-signed certificate";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf domain-name {
              type string;
              mandatory true;
              description
                "Fully qualified domain name";
            }
    
            leaf ip-address {
              type jt:ipaddr;
              description
                "Static IP address of the device";
            }
    
            leaf email {
              type string;
              description
                "Email address of the entity owning the certificate";
            }
    
            leaf subject {
              type string;
              mandatory true;
              description
                "DC=<Domain component>,CN=<Common-Name>,OU=<Organizational-Unit-name>,O=<Organization-name>,SN=<Serial-Number>,L=<Locality>,ST=<state>,C=<Country>";
            }
    
            leaf add-ca-constraint {
              type empty;
              description
                "Certificate can be used for signing other certificates.";
            }
    
            leaf digest {
              type enumeration {
                enum "sha-1" {
                  value 0;
                  description "SHA-1 digests";
                }
                enum "sha-256" {
                  value 1;
                  description
                    "SHA-256 digests (default value)";
                }
              }
              description
                "Hash algorithm for signing RSA certificates";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc generate-pki-self-signed-local-certificate
    
        rpc request-security-key-pair-export {
          description
            "Export Keypair in PEM format";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier for keypair";
            }
    
            leaf filename {
              type string;
              mandatory true;
              description
                "Local location for copy of keypair.";
            }
    
            leaf type {
              type enumeration {
                enum "pem" {
                  value 0;
                  description "PEM format";
                }
                enum "der" {
                  value 1;
                  description "DER format";
                }
              }
              default "pem";
              description "Type of key-pair.";
            }
    
            leaf passphrase {
              type string;
              mandatory true;
              description
                "Passphrase of the private key/key-pair (PEM) file";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml key-pair-export {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-key-pair-export
    
        rpc load-pki-crl {
          description
            "Load the CRL onto the routing platform";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate authority profile";
            }
    
            leaf filename {
              type string;
              mandatory true;
              description
                "Pathname of file containing CRL to load";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc load-pki-crl
    
        rpc request-security-pki-file-sync {
          description
            "Perform PKI file-sync with MN-HA remote node";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml pki-file-sync {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-pki-file-sync
    
        rpc node-local-generate-key-pair {
          description
            "Generate RSA, DSA or ECDSA private and public key pair";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf size {
              type enumeration {
                enum "256" {
                  value 0;
                  description
                    "256 bits (ECDSA only)";
                }
                enum "384" {
                  value 1;
                  description
                    "384 bits (ECDSA only)";
                }
                enum "521" {
                  value 2;
                  description
                    "521 bits (ECDSA only)";
                }
                enum "512" {
                  value 3;
                  description
                    "512 bits (RSA only)";
                }
                enum "1024" {
                  value 4;
                  description
                    "1024 bits (RSA/DSA only)";
                }
                enum "2048" {
                  value 5;
                  description
                    "2048 bits (RSA/DSA only)";
                }
                enum "4096" {
                  value 6;
                  description
                    "4096 bits (RSA/DSA only)";
                }
              }
              units "bits";
              default "2048";
              description "Size of key";
            }
    
            leaf type {
              type enumeration {
                enum "rsa" {
                  value 0;
                  description "RSA encryption";
                }
                enum "dsa" {
                  value 1;
                  description "DSA encryption";
                }
                enum "ecdsa" {
                  value 2;
                  description "ECDSA encryption";
                }
              }
              default "rsa";
              description
                "Algorithm for encrypting public private keys";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml cert-key-pair {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc node-local-generate-key-pair
    
        rpc node-local-generate-csr {
          description
            "Generate the certificate request in PKCS-10 format";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf ip-address {
              type jt:ipaddr;
              description
                "Static IP address of the device";
            }
    
            leaf ipv6-address {
              type jt:ipv6addr;
              description
                "Static IPv6 address of the device for subject-alt-name";
            }
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf domain-name {
              type string;
              description
                "Fully qualified domain name for subject-alt-name";
            }
    
            leaf email {
              type string;
              description "Email address";
            }
    
            leaf filename {
              type string;
              description
                "Local location for copy of certificate request";
            }
    
            leaf subject {
              type string;
              mandatory true;
              description
                "DC=<Domain component>,CN=<Common-Name>,OU=<Organizational-Unit-name>,O=<Organization-name>,SN=<Serial-Number>,L=<Locality>,ST=<state>,C=<Country>";
            }
    
            leaf digest {
              type enumeration {
                enum "sha-1" {
                  value 0;
                  description
                    "SHA-1 digests (RSA/DSA only, default value for RSA/DSA)";
                }
                enum "sha-256" {
                  value 1;
                  description
                    "SHA-256 digests (RSA/ECDSA only, default value for ECDSA)";
                }
                enum "sha-384" {
                  value 2;
                  description
                    "SHA-384 digests (ECDSA only)";
                }
              }
              description
                "Hash algorithm for signing RSA certificates";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml node-local-gen-csr {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc node-local-generate-csr
    
        rpc node-local-local-certificate-enroll {
          description
            "Enroll router certificate with CA online";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf domain-name {
              type string;
              description
                "Fully qualified domain name for subject-alt-name";
            }
    
            leaf email {
              type string;
              description "Email address";
            }
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate authority profile";
            }
    
            leaf challenge-password {
              type string;
              mandatory true;
              description
                "Password used by CA for enrollment and revocation";
            }
    
            leaf scep-encryption-algorithm {
              type enumeration {
                enum "des" {
                  value 0;
                  description "DES Encryption";
                }
                enum "des3" {
                  value 1;
                  description
                    "DES-3 Encryption (default)";
                }
              }
              description
                "Encrypion algorithm used for SCEP-PKCS7";
            }
    
            leaf scep-digest-algorithm {
              type enumeration {
                enum "md5" {
                  value 0;
                  description "MD-5 digest";
                }
                enum "sha1" {
                  value 1;
                  description
                    "SHA-1 digest (default)";
                }
              }
              description
                "Hash algorithm used for SCEP-PKCS7";
            }
    
            leaf ip-address {
              type jt:ipaddr;
              description
                "Static IP address of the device";
            }
    
            leaf ipv6-address {
              type jt:ipv6addr;
              description
                "Static IPv6 address of the device for subject-alt-name";
            }
    
            leaf subject {
              type string;
              mandatory true;
              description
                "DC=<Domain component>,CN=<Common-Name>,OU=<Organizational-Unit-name>,O=<Organization-name>,SN=<Serial-Number>,L=<Locality>,ST=<state>,C=<Country>";
            }
    
            leaf digest {
              type enumeration {
                enum "sha-1" {
                  value 0;
                  description
                    "SHA-1 digests (default value)";
                }
                enum "sha-256" {
                  value 1;
                  description "SHA-256 digests";
                }
              }
              description
                "Hash algorithm for signing RSA certificates";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-certificate-enroll {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc node-local-local-certificate-enroll
    
        rpc node-local-local-certificate-enroll-cmpv2 {
          description
            "Enroll certificate using CMPv2 protocol";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf ip-address {
              type jt:ipaddr;
              description
                "Static IP address of the device";
            }
    
            leaf ipv6-address {
              type jt:ipv6addr;
              description
                "Static IPv6 address of the device for subject-alt-name";
            }
    
            leaf domain-name {
              type string;
              description
                "Fully qualified domain name for subject-alt-name";
            }
    
            leaf email {
              type string;
              description "Email address";
            }
    
            leaf subject {
              type string;
              mandatory true;
              description
                "DC=<Domain component>,CN=<Common-Name>,OU=<Organizational-Unit-name>,O=<Organization-name>,SN=<Serial-Number>,L=<Locality>,ST=<state>,C=<Country>";
            }
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate authority profile";
            }
    
            leaf ca-dn {
              type string;
              description
                "Subject DN for CMPv2 server, if CA certificate is not enrolled";
            }
    
            leaf ca-secret {
              type string;
              mandatory true;
              description
                "Initial Authentication Key, received from CMPv2 server";
            }
    
            leaf ca-reference {
              type string;
              mandatory true;
              description
                "Reference value associated with secret, received from CMPv2 server";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-certificate-enroll-cmpv2 {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc node-local-local-certificate-enroll-cmpv2
    
        rpc node-local-local-certificate-enroll-scep {
          description
            "Enroll end-entity certificate using SCEP protocol";
          input {
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate authority profile";
            }
    
            leaf challenge-password {
              type string;
              mandatory true;
              description
                "Password used by CA for enrollment and revocation";
            }
    
            leaf scep-encryption-algorithm {
              type enumeration {
                enum "des" {
                  value 0;
                  description "DES Encryption";
                }
                enum "des3" {
                  value 1;
                  description
                    "DES-3 Encryption (default)";
                }
              }
              description
                "Encrypion algorithm used for SCEP-PKCS7";
            }
    
            leaf scep-digest-algorithm {
              type enumeration {
                enum "md5" {
                  value 0;
                  description "MD-5 digest";
                }
                enum "sha1" {
                  value 1;
                  description
                    "SHA-1 digest (default)";
                }
              }
              description
                "Hash algorithm used for SCEP-PKCS7";
            }
    
            leaf ip-address {
              type jt:ipaddr;
              description
                "Static IP address of the device";
            }
    
            leaf ipv6-address {
              type jt:ipv6addr;
              description
                "Static IPv6 address of the device for subject-alt-name";
            }
    
            leaf domain-name {
              type string;
              description
                "Fully qualified domain name for subject-alt-name";
            }
    
            leaf email {
              type string;
              description "Email address";
            }
    
            leaf subject {
              type string;
              mandatory true;
              description
                "DC=<Domain component>,CN=<Common-Name>,OU=<Organizational-Unit-name>,O=<Organization-name>,SN=<Serial-Number>,L=<Locality>,ST=<state>,C=<Country>";
            }
    
            leaf digest {
              type enumeration {
                enum "sha-1" {
                  value 0;
                  description
                    "SHA-1 digests (default value)";
                }
                enum "sha-256" {
                  value 1;
                  description "SHA-256 digests";
                }
              }
              description
                "Hash algorithm for signing RSA certificates";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-certificate-enroll-scep {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc node-local-local-certificate-enroll-scep
    
        rpc load-node-local-local-certificate {
          description
            "Load the certificate onto the routing platform";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf filename {
              type string;
              mandatory true;
              description
                "File pathname containing certificate to load";
            }
    
            leaf key {
              type string;
              description
                "File pathname containing the private key/key-pair to load";
            }
    
            leaf passphrase {
              type string;
              description
                "Passphrase of the private key/key-pair (PEM) file";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml cert-load-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc load-node-local-local-certificate
    
        rpc verify-pki-node-local-local-certificate {
          description "Verify the certificate";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml node-local-verify-cert {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc verify-pki-node-local-local-certificate
    
        rpc generate-node-local-self-signed-certificate {
          description
            "Generate a self-signed certificate";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf domain-name {
              type string;
              mandatory true;
              description
                "Fully qualified domain name";
            }
    
            leaf ip-address {
              type jt:ipaddr;
              description
                "Static IP address of the device";
            }
    
            leaf email {
              type string;
              description
                "Email address of the entity owning the certificate";
            }
    
            leaf subject {
              type string;
              mandatory true;
              description
                "DC=<Domain component>,CN=<Common-Name>,OU=<Organizational-Unit-name>,O=<Organization-name>,SN=<Serial-Number>,L=<Locality>,ST=<state>,C=<Country>";
            }
    
            leaf add-ca-constraint {
              type empty;
              description
                "Certificate can be used for signing other certificates.";
            }
    
            leaf digest {
              type enumeration {
                enum "sha-1" {
                  value 0;
                  description "SHA-1 digests";
                }
                enum "sha-256" {
                  value 1;
                  description
                    "SHA-256 digests (default value)";
                }
              }
              description
                "Hash algorithm for signing RSA certificates";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml node-local-self-signed {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc generate-node-local-self-signed-certificate
    
        rpc node-local-local-certificate-re-enroll {
          description
            "Re-enroll router certificate with CA online";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-certificate-re-enroll {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc node-local-local-certificate-re-enroll
    
        rpc node-local-local-cert-re-enroll-cmpv2 {
          description
            "Enroll certificate using CMPv2 protocol";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              description
                "Certificate authority profile";
            }
    
            leaf re-generate-keypair {
              type empty;
              description
                "Generate new keypair for re-enrollment";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-cert-re-enroll-cmpv2 {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc node-local-local-cert-re-enroll-cmpv2
    
        rpc node-local-local-cert-re-enroll-scep {
          description
            "Enroll end-entity certificate using SCEP protocol";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf ca-profile {
              type string {
                length "1 .. 32";
              }
              description
                "Certificate authority profile";
            }
    
            leaf challenge-password {
              type string;
              mandatory true;
              description
                "Password used by CA for enrollment and revocation";
            }
    
            leaf re-generate-keypair {
              type empty;
              description
                "Generate new keypair for re-enrollment";
            }
    
            leaf scep-encryption-algorithm {
              type enumeration {
                enum "des" {
                  value 0;
                  description "DES Encryption";
                }
                enum "des3" {
                  value 1;
                  description
                    "DES-3 Encryption (default)";
                }
              }
              description
                "Encrypion algorithm used for SCEP-PKCS7";
            }
    
            leaf scep-digest-algorithm {
              type enumeration {
                enum "md5" {
                  value 0;
                  description "MD-5 digest";
                }
                enum "sha1" {
                  value 1;
                  description
                    "SHA-1 digest (default)";
                }
              }
              description
                "Hash algorithm used for SCEP-PKCS7";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-cert-re-enroll-scep {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc node-local-local-cert-re-enroll-scep
    
        rpc node-local-local-certificate-export {
          description "Export Certificate";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier";
            }
    
            leaf filename {
              type string;
              mandatory true;
              description
                "Local location for copy of certificate.";
            }
    
            leaf type {
              type enumeration {
                enum "pem" {
                  value 0;
                  description "PEM format";
                }
                enum "der" {
                  value 1;
                  description "DER format";
                }
              }
              default "pem";
              description "Type of certificate.";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml local-certificate-export {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc node-local-local-certificate-export
    
        rpc node-local-key-pair-export {
          description
            "Export Keypair in PEM format";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
    
            leaf certificate-id {
              type string {
                length "1 .. 32";
              }
              mandatory true;
              description
                "Certificate identifier for keypair";
            }
    
            leaf filename {
              type string;
              mandatory true;
              description
                "Local location for copy of keypair.";
            }
    
            leaf type {
              type enumeration {
                enum "pem" {
                  value 0;
                  description "PEM format";
                }
                enum "der" {
                  value 1;
                  description "DER format";
                }
              }
              default "pem";
              description "Type of key-pair.";
            }
    
            leaf passphrase {
              type string;
              mandatory true;
              description
                "Passphrase of the private key/key-pair (PEM) file";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml key-pair-export {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc node-local-key-pair-export
    
        rpc verify-integrity-status {
          description
            "Check the integrity of PKI files (in CC mode)";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            choice daemon-select {
              case logical-system {
              }  // case logical-system
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml verify-integrity-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc verify-integrity-status
    
        rpc request-pki-debug-memory-profile {
          description
            "Enable or disable memory profile";
          input {
            leaf profile-state {
              type enumeration {
                enum "enable" {
                  value 0;
                  description
                    "Enable PKI memory profiling";
                }
                enum "disable" {
                  value 1;
                  description
                    "Disable PKI memory profiling";
                }
                enum "dump" {
                  value 2;
                  description
                    "Dump PKI memory profile debug info";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-pki-debug-memory-profile
    
        rpc get-enable-ike-debug {
          description "Enable ike debug";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf remote {
              type jt:ipaddr;
              mandatory true;
              description "Remote ip address";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-enable-ike-debug
    
        rpc get-disable-ike-debug {
          description "Disable ike debug";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-disable-ike-debug
    
        rpc request-interface-operation {
          description
            "Perform interface operations";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-interface-operation
    
        rpc revert-redundancy-interface-to-primary {
          description
            "Revert redundancy interface to its primary";
          input {
            leaf interface-name {
              type union {
                type jt:interface-wildcard;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Name of interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc revert-redundancy-interface-to-primary
    
        rpc switch-redundancy-interface-to-secondary {
          description
            "Switch redundancy interface over to its secondary";
          input {
            leaf interface-name {
              type union {
                type jt:interface-wildcard;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Name of interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc switch-redundancy-interface-to-secondary
    
        rpc request-interface-link-degade-recover {
          description
            "Perform manual link recovery";
          input {
            leaf interface-name {
              type union {
                type jt:interface-device;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Name of interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-interface-link-degade-recover
    
        rpc extension-service-start {
          description "Start JET application";
          input {
            leaf invoke-debugger {
              type enumeration {
                enum "cli" {
                  value 0;
                  description
                    "Invoke debugger in cli";
                }
              }
              description
                "Invoke extension-service in debugger mode";
            }
    
            leaf application-name {
              type jt:filename;
              mandatory true;
              description "Application name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc extension-service-start
    
        rpc extension-service-stop {
          description "Stop JET application";
          input {
            leaf application-name {
              type jt:filename;
              mandatory true;
              description "Application name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc extension-service-stop
    
        rpc mgd-jnu-role {
          description "JNU Role";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf jnu-role {
              type enumeration {
                enum "controller" {
                  value 0;
                  description "Controller";
                }
                enum "satellite" {
                  value 1;
                  description "Satellite";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc mgd-jnu-role
    
        rpc mgd-jnu-schema-delete {
          description
            "Delete a JNU satellite schema";
          input {
            leaf model {
              type string;
              mandatory true;
              description "Satellite model";
            }
    
            leaf version {
              type string;
              mandatory true;
              description "Satellite version";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc mgd-jnu-schema-delete
    
        rpc mgd-jnu-schema-merge {
          description
            "Merge JNU schema to this controller";
          input {
            leaf satschema {
              type jt:filename;
              mandatory true;
              description
                "Satellite Schema Path";
            }
    
            leaf conschema {
              type jt:filename;
              mandatory true;
              description
                "Controller Schema Path";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc mgd-jnu-schema-merge
    
        rpc mgd-jnu-schema-add {
          description
            "Add JNU schema to this controller";
          input {
            leaf model {
              type string;
              mandatory true;
              description "Satellite model";
            }
    
            leaf version {
              type string;
              mandatory true;
              description "Satellite version";
            }
    
            leaf filename {
              type jt:filename;
              mandatory true;
              description
                "Satellite schema TLV package filename";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc mgd-jnu-schema-add
    
        rpc clear-jdaf-command-client-stats {
          description
            "Clear JDAF client side statistics";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml jdaf-request-no-response {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc clear-jdaf-command-client-stats
    
        rpc clear-jdaf-command-server-stats {
          description
            "Clear JDAF server statistics";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc clear-jdaf-command-server-stats
    
        rpc clear-jdaf-config-client-stats {
          description
            "Clear JDAF client side statistics";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml jdaf-request-no-response {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc clear-jdaf-config-client-stats
    
        rpc clear-jdaf-config-server-stats {
          description
            "Clear JDAF server statistics";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc clear-jdaf-config-server-stats
    
        rpc clear-jdaf-firewall-client-stats {
          description
            "Clear JDAF client side statistics";
          input {
            leaf client-id {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              default "0";
              description "Client id";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml jdaf-request-no-response {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc clear-jdaf-firewall-client-stats
    
        rpc clear-jdaf-firewall-server-stats {
          description
            "Clear JDAF server statistics";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc clear-jdaf-firewall-server-stats
    
        rpc clear-jdaf-interface-client-stats {
          description
            "Clear JDAF client side statistics";
          input {
            leaf client-id {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              default "0";
              description "Client id";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml jdaf-request-no-response {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc clear-jdaf-interface-client-stats
    
        rpc clear-jdaf-interface-server-stats {
          description
            "Clear JDAF server statistics";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc clear-jdaf-interface-server-stats
    
        rpc clear-jdaf-route-client-stats {
          description
            "Clear JDAF client side statistics";
          input {
            leaf client-id {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              default "0";
              description "Client id";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml jdaf-request-no-response {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc clear-jdaf-route-client-stats
    
        rpc clear-jdaf-route-server-stats {
          description
            "Clear JDAF server statistics";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc clear-jdaf-route-server-stats
    
        rpc request-dhcp-server-reconfigure-information {
          description
            "Perform DHCP server reconfigure operation";
          input {
            choice reconfigure-choice {
              leaf address {
                type string;
                description
                  "IP address or MAC address or Session Id of DHCP client binding";
              }
              leaf all {
                type empty;
                description
                  "Reconfigure all clients";
              }
            }  // choice reconfigure-choice
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-server-reconfigure-information
    
        rpc request-dhcp-server-reconfigure-interface {
          description "Name of interface";
          input {
            leaf interface-name {
              type string;
              mandatory true;
              description "Name of interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-server-reconfigure-interface
    
        rpc request-dhcp-server-regenerate-persistent-file {
          description
            "Triggers the flat file backup operation";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-server-regenerate-persistent-file
    
        rpc request-dhcp-server-restore-client-from-file {
          description
            "Triggers the flat file restore operation";
          input {
            leaf from-file {
              type empty;
              mandatory true;
              description
                "Restore subscribers from file";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-server-restore-client-from-file
    
        rpc request-dhcp-client-renew-information {
          description
            "Request DHCP client renew";
          input {
            choice renew-choice {
              leaf interface {
                type string;
                description
                  "Interface name of DHCP client";
              }
              leaf all {
                type empty;
                description "Renew all clients";
              }
            }  // choice renew-choice
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice lsys-tenant {
            }  // choice lsys-tenant
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-client-renew-information
    
        rpc request-dhcp-relay-leasequery {
          description
            "Perform DHCP relay leasequery operation";
          input {
            leaf address {
              type string;
              mandatory true;
              description
                "Query by IPv4 address or mac-address or Client-ID";
            }
    
            leaf gateway-address {
              type string;
              mandatory true;
              description
                "Giaddr of leasequery packet";
            }
    
            choice query-server {
              leaf server-address {
                type string;
                description
                  "Send leasequery to server address";
              }
              leaf server-group {
                type string;
                description
                  "Send leasequery to servers in server-group";
              }
            }  // choice query-server
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-relay-leasequery
    
        rpc request-dhcp-relay-bulk-leasequery {
          description
            "Perform DHCP relay bulk leasequery operation";
          input {
            leaf address {
              type string;
              description
                "Query by IPv4 address or mac-address or Client-ID";
            }
    
            choice query-server {
              leaf server-address {
                type string;
                description
                  "Send leasequery to server address";
              }
              leaf server-group {
                type string;
                description
                  "Send leasequery to servers in server-group";
              }
            }  // choice query-server
    
            leaf all-configured-ip {
              type empty;
              description
                "Query by all-configure-ip-addresss";
            }
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-relay-bulk-leasequery
    
        rpc request-dhcp-relay-bulk-leasequery-relay-id {
          description "Query by relay-id";
          input {
            leaf relay-id {
              type string;
              mandatory true;
              description "Query by relay-id";
            }
    
            choice query-server {
              leaf server-address {
                type string;
                description
                  "Send leasequery to server address";
              }
              leaf server-group {
                type string;
                description
                  "Send leasequery to servers in server-group";
              }
            }  // choice query-server
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-relay-bulk-leasequery-relay-id
    
        rpc request-dhcp-relay-bulk-leasequery-remote-id {
          description "Query by remote-id";
          input {
            leaf remote-id {
              type string;
              mandatory true;
              description "Query by remote-id";
            }
    
            choice query-server {
              leaf server-address {
                type string;
                description
                  "Send leasequery to server address";
              }
              leaf server-group {
                type string;
                description
                  "Send leasequery to servers in server-group";
              }
            }  // choice query-server
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-relay-bulk-leasequery-remote-id
    
        rpc request-dhcp-relay-active-leasequery {
          description
            "Request DHCP active-leasequery operations";
          input {
            leaf discover-neighbor {
              type empty;
              mandatory true;
              description
                "Discover neighbors capable of hosting subscribers";
            }
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-relay-active-leasequery
    
        rpc request-dhcp-relay-alq-peer {
          description "Active-leasequery peer";
          input {
            leaf peer-address {
              type jt:ipaddr;
              mandatory true;
              description
                "Active-leasequery peer address";
            }
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-relay-alq-peer
    
        rpc request-dhcp-relay-alq-interface {
          description
            "Active-leasequery interface";
          input {
            leaf interface-name {
              type string;
              mandatory true;
              description
                "Active-leasequery interface name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-relay-alq-interface
    
        rpc request-dhcp-relay-regenerate-persistent-file {
          description
            "Triggers the flat file backup operation";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-relay-regenerate-persistent-file
    
        rpc request-dhcp-relay-restore-client-from-file {
          description
            "Triggers the flat file restore operation";
          input {
            leaf from-file {
              type empty;
              mandatory true;
              description
                "Restore subscribers from file";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-relay-restore-client-from-file
    
        rpc request-dhcp-regenerate-persistent-file {
          description
            "Triggers the flat file backup operation";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-regenerate-persistent-file
    
        rpc request-dhcp-restore-client-from-file {
          description
            "Triggers the flat file restore operation";
          input {
            leaf from-file {
              type empty;
              mandatory true;
              description
                "Restore subscribers from file";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcp-restore-client-from-file
    
        rpc request-dhcpv6-client-renew-information {
          description
            "Request DHCP client renew";
          input {
            choice renew-choice {
              leaf interface {
                type string;
                description
                  "Interface name of DHCP client";
              }
              leaf all {
                type empty;
                description "Renew all clients";
              }
            }  // choice renew-choice
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice lsys-tenant {
            }  // choice lsys-tenant
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-client-renew-information
    
        rpc request-dhcpv6-server-reconfigure-information {
          description
            "Perform DHCPv6 server reconfigure operation";
          input {
            choice reconfigure-choice {
              leaf address {
                type string;
                description
                  "IPv6 Prefix, session-id or CID of DHCPv6 client binding";
              }
              leaf all {
                type empty;
                description
                  "Reconfigure all clients";
              }
            }  // choice reconfigure-choice
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-server-reconfigure-information
    
        rpc request-dhcpv6-server-reconfigure-interface {
          description "Name of interface";
          input {
            leaf interface-name {
              type string;
              mandatory true;
              description "Name of interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-server-reconfigure-interface
    
        rpc request-dhcpv6-server-regenerate-persistent-file {
          description
            "Triggers the flat file backup operation";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-server-regenerate-persistent-file
    
        rpc request-dhcpv6-server-restore-client-from-file {
          description
            "Triggers the flat file restore operation";
          input {
            leaf from-file {
              type empty;
              mandatory true;
              description
                "Restore subscribers from file";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-server-restore-client-from-file
    
        rpc request-dhcpv6-relay-leasequery {
          description
            "Perform DHCPv6 relay leasequery operation";
          input {
            leaf address {
              type string;
              mandatory true;
              description
                "Query by IPv6 Prefix or CID of DHCPv6 client binding";
            }
    
            choice query-server {
              leaf server-address {
                type string;
                description
                  "Send leasequery to server address";
              }
              leaf server-group {
                type string;
                description
                  "Send leasequery to servers in server-group";
              }
            }  // choice query-server
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-relay-leasequery
    
        rpc request-dhcpv6-relay-bulk-leasequery {
          description
            "Perform DHCPv6 relay bulk leasequery operation";
          input {
            leaf address {
              type string;
              description
                "Query by IPv6 Prefix or CID of DHCPv6 client binding";
            }
    
            choice query-server {
              leaf server-address {
                type string;
                description
                  "Send leasequery to server address";
              }
              leaf server-group {
                type string;
                description
                  "Send leasequery to servers in server-group";
              }
            }  // choice query-server
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-relay-bulk-leasequery
    
        rpc request-dhcpv6-relay-bulk-leasequery-relay-id {
          description "Query by relay-id";
          input {
            leaf relay-id {
              type string;
              mandatory true;
              description "Query by relay-id";
            }
    
            choice query-server {
              leaf server-address {
                type string;
                description
                  "Send leasequery to server address";
              }
              leaf server-group {
                type string;
                description
                  "Send leasequery to servers in server-group";
              }
            }  // choice query-server
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-relay-bulk-leasequery-relay-id
    
        rpc request-dhcpv6-relay-bulk-leasequery-link-addr {
          description "Query by link-address";
          input {
            leaf link-addr {
              type string;
              mandatory true;
              description
                "Query by link-address";
            }
    
            choice query-server {
              leaf server-address {
                type string;
                description
                  "Send leasequery to server address";
              }
              leaf server-group {
                type string;
                description
                  "Send leasequery to servers in server-group";
              }
            }  // choice query-server
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-relay-bulk-leasequery-link-addr
    
        rpc request-dhcpv6-relay-bulk-leasequery-remote-id {
          description "Query by remote-id";
          input {
            leaf remote-id {
              type string;
              mandatory true;
              description "Query by remote-id";
            }
    
            choice query-server {
              leaf server-address {
                type string;
                description
                  "Send leasequery to server address";
              }
              leaf server-group {
                type string;
                description
                  "Send leasequery to servers in server-group";
              }
            }  // choice query-server
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-relay-bulk-leasequery-remote-id
    
        rpc request-dhcpv6-relay-regenerate-persistent-file {
          description
            "Triggers the flat file backup operation";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-relay-regenerate-persistent-file
    
        rpc request-dhcpv6-relay-restore-client-from-file {
          description
            "Triggers the flat file restore operation";
          input {
            leaf from-file {
              type empty;
              mandatory true;
              description
                "Restore subscribers from file";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-relay-restore-client-from-file
    
        rpc request-dhcpv6-relay-active-leasequery {
          description
            "Request DHCP active-leasequery operations";
          input {
            leaf discover-neighbor {
              type empty;
              mandatory true;
              description
                "Discover neighbors capable of hosting subscribers";
            }
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-relay-active-leasequery
    
        rpc request-dhcpv6-relay-alq-peer {
          description "Active-leasequery peer";
          input {
            leaf peer-address {
              type jt:ipaddr;
              mandatory true;
              description
                "Active-leasequery peer address";
            }
    
            leaf routing-instance {
              type string;
              description
                "Name of routing instance";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-relay-alq-peer
    
        rpc request-dhcpv6-relay-alq-interface {
          description
            "Active-leasequery interface";
          input {
            leaf interface-name {
              type string;
              mandatory true;
              description
                "Active-leasequery interface name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dhcpv6-relay-alq-interface
    
        rpc request-as-ra-guard-forward-interface {
          description "Name of interface";
          input {
            leaf interface-name {
              type union {
                type jt:interface-name;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Name of interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-as-ra-guard-forward-interface
    
        rpc request-as-ra-guard-block-interface {
          description "Name of interface";
          input {
            leaf interface-name {
              type union {
                type jt:interface-name;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Name of interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-as-ra-guard-block-interface
    
        rpc request-as-ra-guard-learn-interface {
          description
            "RA Guard Learn on an Interface";
          input {
            leaf interface {
              type union {
                type jt:interface-name;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description
                "RA Guard Learn on an interface";
            }
    
            leaf duration {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 3600";
                }
              }
              units "seconds";
              mandatory true;
              description
                "Time window for RA Guard learn";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-as-ra-guard-learn-interface
    
        rpc twamp-test-start {
          description
            "Start TWAMP test sessions";
          input {
            leaf control-connection {
              type string;
              default "all";
              description
                "Name of the control connection";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc twamp-test-start
    
        rpc twamp-test-stop {
          description "Stop TWAMP test sessions";
          input {
            leaf control-connection {
              type string;
              default "all";
              description
                "Name of the control connection";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc twamp-test-stop
    
        rpc request-services-flow-collector-test-file-transfer {
          description
            "Transfer a test file to the current primary server";
          input {
            leaf filename {
              type string;
              mandatory true;
              description
                "Specify the filename to use";
            }
    
            leaf channel {
              type enumeration {
                enum "channel-zero" {
                  value 0;
                  description "Channel 0";
                }
                enum "channel-one" {
                  value 1;
                  description "Channel 1";
                }
              }
              description
                "File transfer channel to use";
            }
    
            leaf destination-type {
              type enumeration {
                enum "primary" {
                  value 0;
                  description "Primary server";
                }
                enum "secondary" {
                  value 1;
                  description "Secondary server";
                }
              }
            }
    
            leaf interface {
              type string;
              mandatory true;
              description "Interface name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml flow-collector-test-file-transfer-response {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-services-flow-collector-test-file-transfer
    
        rpc request-services-flow-collector-destination {
          description
            "Change to Destination server";
          input {
            leaf destination-type {
              type enumeration {
                enum "primary" {
                  value 0;
                  description "Primary server";
                }
                enum "secondary" {
                  value 1;
                  description "Secondary server";
                }
              }
              mandatory true;
              description "Destination server";
            }
    
            leaf interface {
              type union {
                type jt:interface-device;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Physical interface";
            }
    
            leaf clear-files {
              type empty;
              description
                "Remove existing files";
            }
    
            leaf clear-logs {
              type empty;
              description "Remove existing logs";
            }
    
            leaf how-to-switch {
              type enumeration {
                enum "gracefully" {
                  value 0;
                  description
                    "Retain existing FTP connections";
                }
                enum "immediately" {
                  value 1;
                  description
                    "Terminate existing FTP connections";
                }
              }
              default "gracefully";
              description
                "Options when switching destination";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml flow-collector-destination-response {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-services-flow-collector-destination
    
        rpc request-netconf-trace {
          description "NETCONF tracing";
          input {
            leaf on-demand {
              type enumeration {
                enum "start" {
                  value 0;
                  description
                    "Start NETCONF tracing";
                }
                enum "stop" {
                  value 1;
                  description
                    "Stop NETCONF tracing";
                }
              }
              mandatory true;
              description
                "Control on-demand tracing";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-netconf-trace
    
        rpc request-lacp-link-protection-switchover {
          description
            "Request LACP link protection switchover";
          input {
            leaf interface-name {
              type union {
                type jt:interface-wildcard;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Name of AE interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lacp-link-switchover {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-lacp-link-protection-switchover
    
        rpc request-message {
          description
            "Send text message to other users";
          input {
            leaf user {
              type string;
              mandatory true;
              description
                "Name of user (account@terminal) to receive message";
            }
    
            leaf terminal {
              type string;
              description
                "Device name of target terminal (/dev/ttyXX)";
            }
    
            leaf message {
              type string;
              description "Text of message";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-message
    
        rpc request-message-all {
          description
            "Send message to all logged-in users";
          input {
            leaf message {
              type string;
              description "Text of message";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-message-all
    
        rpc request-compute-node-cleanup-log {
          description
            "Compute node cleanup /var/tmp and /var/log";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf compute-cluster {
              type string {
                length "1 .. 15";
              }
              description "Compute cluster name";
            }
    
            leaf compute-node {
              type string {
                length "1 .. 15";
              }
              description "Compute node name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-compute-node-cleanup-log
    
        rpc request-compute-node-file-copy {
          description
            "Copy file from host to vjunos";
          input {
            leaf host-path {
              type enumeration {
                enum "crash" {
                  value 0;
                  description
                    "Files in /var/crash";
                }
                enum "log" {
                  value 1;
                  description
                    "Files in /var/log";
                }
              }
              mandatory true;
              description
                "Copy files related to";
            }
    
            leaf from-jhost {
              type string;
              mandatory true;
              description "Host file name";
            }
    
            leaf to-vjunos {
              type string;
              mandatory true;
              description "Junos file name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-compute-node-file-copy
    
        rpc request-guest-virtual-machine-package-copy {
          description
            "Copy guest virtual-machine package to Junos";
          input {
            leaf package-name {
              type string;
              mandatory true;
              description
                "Name of the virtual-machine package";
            }
    
            leaf destination-path {
              type string;
              mandatory true;
              description
                "Path to the destination directory in Junos";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-guest-virtual-machine-package-copy
    
        rpc request-vmhost-poweroff {
          description
            "Power off the software on RE";
          input {
            leaf other-routing-engine {
              type empty;
              description
                "Power off other Routing Engine";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-poweroff
    
        rpc request-vmhost-halt {
          description "Halt the software on RE";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-halt
    
        rpc request-vmhost-power-on-other-re {
          description "Power on the system";
          input {
            leaf other-routing-engine {
              type empty;
              mandatory true;
              description
                "Power on other Routing Engine";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-power-on-other-re
    
        rpc request-vmhost-power-cycle {
          description "Power cycle the vmhost";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-power-cycle
    
        rpc request-vmhost-reboot {
          description "Reboot RE vmhost";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf media {
              type enumeration {
                enum "disk1" {
                  value 0;
                  description
                    "Boot off disk1(primary) device";
                }
                enum "disk2" {
                  value 1;
                  description
                    "Boot off disk2(backup) device";
                }
                enum "network" {
                  value 2;
                  description
                    "Network boot via PXE";
                }
                enum "usb" {
                  value 3;
                  description
                    "Boot off USB device";
                }
              }
            }
    
            leaf partition {
              type enumeration {
                enum "primary" {
                  value 0;
                  description
                    "Boot from primary partition";
                }
                enum "alternate" {
                  value 1;
                  description
                    "Boot from alternate partition";
                }
              }
            }
    
            leaf in {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 100";
                }
              }
              description
                "Number of minutes to delay before reboot operation";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-reboot
    
        rpc request-vmhost-file-cleanup {
          description
            "RE vmhost cleanup /var/tmp, /var/crash and /var/log";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-file-cleanup
    
        rpc request-vmhost-file-copy {
          description
            "Copy file from vmhost to vjunos";
          input {
            leaf node-path {
              type enumeration {
                enum "crash" {
                  value 0;
                  description
                    "Files in /var/crash";
                }
                enum "log" {
                  value 1;
                  description
                    "Files in /var/log";
                }
              }
              mandatory true;
              description
                "Copy files related to";
            }
    
            leaf from-jnode {
              type string;
              mandatory true;
              description "Host file name";
            }
    
            leaf to-vjunos {
              type string;
              mandatory true;
              description "Junos file name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-file-copy
    
        rpc request-copy-vjunos-to-jnode {
          description
            "Copy file from vjunos to vmhost";
          input {
            leaf from-vjunos {
              type string;
              mandatory true;
              description "Junos file name";
            }
    
            leaf to-jnode {
              type string;
              mandatory true;
              description "Host file name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-copy-vjunos-to-jnode
    
        rpc request-copy-jnode-to-vjunos {
          description
            "Copy file from vmhost to vjunos";
          input {
            leaf from-jnode {
              type string;
              mandatory true;
              description "Host file name";
            }
    
            leaf to-vjunos {
              type string;
              mandatory true;
              description "Junos file name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-copy-jnode-to-vjunos
    
        rpc request-vmhost-package-add {
          description
            "Add extension or upgrade package";
          input {
            leaf i40-driver {
              type empty;
              description
                "Upgrade only the i40 driver";
            }
    
            choice package-options {
              leaf-list set {
                type jt:filename;
                ordered-by user;
                description
                  "List of URLs or pathnames corresponding to packages";
              }
              leaf package-name {
                type jt:filename;
                description
                  "URL or pathname of package";
              }
            }  // choice package-options
    
            leaf reboot {
              type empty;
              description
                "Reboot RE vmhost after adding package";
            }
    
            leaf in {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 100";
                }
              }
              description
                "Number of minutes to delay before reboot operation";
            }
    
            choice re-choice {
              leaf re0 {
                type empty;
                description
                  "Install package on RE0";
              }
              leaf re1 {
                type empty;
                description
                  "Install package on RE1";
              }
            }  // choice re-choice
    
            choice validate_choice {
              leaf no-validate {
                type empty;
                description
                  "Don't check compatibility with current configuration";
              }
            }  // choice validate_choice
    
            choice chassis {
              leaf dont-forward {
                type empty;
              }
            }  // choice chassis
    
            leaf upgrade-to-model {
              type string;
              description
                "Name of the model to upgrade to";
            }
    
            leaf unlink {
              type empty;
              description
                "Remove the package after successful installation";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-package-add
    
        rpc request-vmhost-package-delete {
          description
            "Remove extension or upgrade package";
          input {
            leaf force {
              type empty;
              description
                "Force removal of package (ignore warnings)";
            }
    
            choice package-options {
              case set {
              }  // case set
              leaf package-name {
                type string;
                description "Name of package";
              }
              leaf upgrade-group {
                type string;
                description
                  "Satellite upgrade group name";
              }
              leaf version {
                type string;
                description
                  "Version of satellite package";
              }
            }  // choice package-options
    
            leaf reboot {
              type empty;
              description
                "Reboot system after package delete";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-package-delete
    
        rpc abort-vmhost-in-service-upgrade {
          description
            "Abort in-service software upgrade";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc abort-vmhost-in-service-upgrade
    
        rpc request-vmhost-package-in-service-upgrade {
          description
            "In-service software upgrade";
          input {
            leaf package-name {
              type jt:filename;
              mandatory true;
              description
                "URL or pathname of package";
            }
    
            leaf no-old-master-upgrade {
              type empty;
              description
                "Don't upgrade the old master after switchover";
            }
    
            leaf reboot {
              type empty;
              description
                "Reboot RE vmhost after adding package";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-package-in-service-upgrade
    
        rpc request-vmhost-nonstop-upgrade {
          description "Nonstop software upgrade";
          input {
            leaf force-host {
              type empty;
              description
                "Force addition of host os package (ignore version check)";
            }
    
            leaf no-auto-recovery {
              type empty;
              description
                "Will not recover in case of NSSU failure";
            }
    
            leaf reboot {
              type empty;
              description
                "Reboot system after adding package";
            }
    
            choice package-options {
              leaf-list set {
                type jt:filename;
                ordered-by user;
                description
                  "List of URLs or pathnames corresponding to packages";
              }
              leaf package-name {
                type jt:filename;
                description
                  "URL or pathname of package";
              }
            }  // choice package-options
    
            leaf no-old-master-upgrade {
              type empty;
              description
                "Don't upgrade the old master after switchover";
            }
    
            leaf no-copy {
              type empty;
              status deprecated;
              description
                "Don't save copies of package files";
            }
    
            leaf unlink {
              type empty;
              status deprecated;
              description
                "Remove the package after successful installation";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-nonstop-upgrade
    
        rpc request-vmhost-package-validate {
          description
            "Verify package compatibility with current configuration";
          input {
            choice package-options {
              leaf package-name {
                type jt:filename;
                description
                  "URL or pathname of package";
              }
            }  // choice package-options
    
            choice chassis {
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Validate package on member";
              }
              leaf dont-forward {
                type empty;
              }
            }  // choice chassis
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-package-validate
    
        rpc request-vmhost-package-rollback {
          description
            "Attempt to roll back to previous set of packages";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf reboot {
              type empty;
              description
                "Reboot system after rollback";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml rollback-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-package-rollback
    
        rpc request-vmhost-jdm-package-add {
          description
            "Install fresh JDM package or upgrade package";
          input {
            leaf package-name {
              type jt:filename;
              mandatory true;
              description "JDM package name";
            }
    
            leaf force {
              type empty;
              description "Force package add";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-jdm-package-add
    
        rpc request-vmhost-jdm-package-delete {
          description
            "Remove currently installed JDM package";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-jdm-package-delete
    
        rpc request-package-vmhost-jdm-start {
          description "Start the JDM";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-package-vmhost-jdm-start
    
        rpc request-package-vmhost-jdm-stop {
          description "Stop the JDM";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-package-vmhost-jdm-stop
    
        rpc request-vmhost-jdm-login {
          description "Login to JDM";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-jdm-login
    
        rpc request-vmhost-snapshot {
          description
            "Create a vmhost recovery snapshot";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml vmhost-snapshot-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-snapshot
    
        rpc request-vmhost-snapshot-partition {
          description
            "Partition the target media";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml vmhost-snapshot-partition-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-snapshot-partition
    
        rpc request-vmhost-snapshot-recovery {
          description
            "Recover the primary media from snapshot";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml vmhost-snapshot-recovery-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-snapshot-recovery
    
        rpc request-vmhost-snapshot-recovery-partition {
          description
            "Partition the media before snapshot";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml vmhost-snapshot-recovery-partition-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-snapshot-recovery-partition
    
        rpc request-vmhost-zeroize {
          description
            "Erase all data, including configuration and log files";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml vmhost-zeroize-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-zeroize
    
        rpc request-vmhost-hard-disk-test {
          description
            "Run smartd self tests on hard disks";
          input {
            choice test-type {
              leaf short {
                type empty;
                description "Run short test";
              }
              leaf long {
                type empty;
                description
                  "Run SMART extended self test";
              }
              leaf show-status {
                type empty;
                description
                  "Display status of test";
              }
            }  // choice test-type
    
            leaf disk {
              type string;
              description "Name of hard disk";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml raid-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vmhost-hard-disk-test
    
        rpc request-snmp-spoof-trap {
          description
            "Generate artificial SNMP notification";
          input {
            leaf trap {
              type string;
              mandatory true;
              description
                "The name of the trap to spoof";
            }
    
            leaf variable-bindings {
              type string;
              description
                "The list of variables & values to include in the trap";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml snmp-spoof-trap-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-snmp-spoof-trap
    
        rpc request-snmp-utility-mib-set {
          description
            "Set values in utility mib objects";
          input {
            leaf object-type {
              type enumeration {
                enum "counter" {
                  value 0;
                  description
                    "Set counter value";
                }
                enum "counter64" {
                  value 1;
                  description
                    "Set 64 bit counter value";
                }
                enum "integer" {
                  value 2;
                  description
                    "Set signed integer value";
                }
                enum "unsigned-integer" {
                  value 3;
                  description
                    "Set unsigned integer value";
                }
                enum "string" {
                  value 4;
                  description "Set string value";
                }
              }
              mandatory true;
            }
    
            leaf instance {
              type string {
                length "1 .. 80";
              }
              mandatory true;
            }
    
            leaf object-value {
              type string;
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml snmp-utility-mib-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-snmp-utility-mib-set
    
        rpc request-snmp-utility-mib-clear {
          description
            "Clear values in utility mib objects";
          input {
            leaf object-type {
              type enumeration {
                enum "counter" {
                  value 0;
                  description
                    "Set counter value";
                }
                enum "counter64" {
                  value 1;
                  description
                    "Set 64 bit counter value";
                }
                enum "integer" {
                  value 2;
                  description
                    "Set signed integer value";
                }
                enum "unsigned-integer" {
                  value 3;
                  description
                    "Set unsigned integer value";
                }
                enum "string" {
                  value 4;
                  description "Set string value";
                }
              }
              mandatory true;
            }
    
            leaf instance {
              type string {
                length "1 .. 80";
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml snmp-utility-mib-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-snmp-utility-mib-clear
    
        rpc request-ancp-oam-information {
          description
            "Request ANCP operation, administration, and management";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml ancp-oam-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-ancp-oam-information
    
        rpc request-ancp-oam-neighbor-information {
          description "Neighbor identifier";
          input {
            choice neighbor-opts {
              leaf system-name {
                type string;
                description
                  "MAC address of the neighbor";
              }
              leaf ip-address {
                type jt:ipaddr;
                description
                  "IP address of the neighbor";
              }
            }  // choice neighbor-opts
    
            leaf subscriber {
              type string;
              mandatory true;
              description
                "Subscriber identifier";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint16 {
                  range "1 .. 32";
                }
              }
              default "1";
              description
                "Number of local loopback messages";
            }
    
            leaf timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
              units "seconds";
              default "30";
              description
                "Timeout for loopback response from the neighbor";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml ancp-oam-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-ancp-oam-neighbor-information
    
        rpc request-ancp-oam-interface-information {
          description
            "ANCP interface specific options";
          input {
            choice interface-opts {
              leaf interface-name {
                type string;
                description
                  "Name of ANCP interface";
              }
              leaf interface-set {
                type string;
                description
                  "Name of ANCP interface set";
              }
            }  // choice interface-opts
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint16 {
                  range "1 .. 32";
                }
              }
              default "1";
              description
                "Number of local loopback messages";
            }
    
            leaf timeout {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
              units "seconds";
              default "30";
              description
                "Timeout for loopback response from the neighbor";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml ancp-oam-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-ancp-oam-interface-information
    
        rpc request-ancp-oam-port-up {
          description "ANCP port-up processing";
          input {
            choice interface-opts {
              leaf neighbor {
                type jt:ipaddr;
                description
                  "IP address of the neighbor";
              }
              leaf subscriber-interface {
                type string;
                description
                  "Subscriber-facing interface";
              }
            }  // choice interface-opts
    
            leaf circuit-id {
              type string;
              mandatory true;
              description
                "Access loop circuit id";
            }
    
            leaf remote-id {
              type string;
              mandatory true;
              description
                "Access loop remote id";
            }
    
            leaf outer-vlan-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint16 {
                  range "1 .. 4094";
                }
              }
              mandatory true;
              description
                "Access aggregation circuit id binary";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml ancp-oam-port-up {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-ancp-oam-port-up
    
        rpc request-ancp-oam-port-down {
          description
            "ANCP port-down processing";
          input {
            choice interface-opts {
              leaf neighbor {
                type jt:ipaddr;
                description
                  "IP address of the neighbor";
              }
              leaf subscriber-interface {
                type string;
                description
                  "Subscriber-facing interface";
              }
            }  // choice interface-opts
    
            leaf circuit-id {
              type string;
              description
                "Access loop circuit id";
            }
    
            leaf remote-id {
              type string;
              description
                "Access loop remote id";
            }
    
            leaf outer-vlan-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint16 {
                  range "1 .. 4094";
                }
              }
              description
                "Access aggregation circuit id binary";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml ancp-oam-port-down {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-ancp-oam-port-down
    
        rpc aaa-subscriber-add-service {
          description "Service activation";
          input {
            leaf session-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint64 {
                  range
                    "1 .. 18446744073709551615";
                }
              }
              mandatory true;
              description "Session id";
            }
    
            leaf service-profile {
              type string;
              mandatory true;
              description
                "Name of service-profile";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml aaa-subscriber-add-service-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc aaa-subscriber-add-service
    
        rpc aaa-subscriber-delete-service {
          description "Service deactivation";
          input {
            leaf session-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint64 {
                  range
                    "1 .. 18446744073709551615";
                }
              }
              mandatory true;
              description "Session id";
            }
    
            leaf service-profile {
              type string;
              mandatory true;
              description
                "Name of dynamic-profile";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml aaa-subscriber-delete-service-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc aaa-subscriber-delete-service
    
        rpc aaa-subscriber-modify-variable {
          description "Modify dynamic variable";
          input {
            leaf session-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint64 {
                  range
                    "1 .. 18446744073709551615";
                }
              }
              mandatory true;
              description "Session id";
            }
    
            leaf junos-cos-traffic-control-profile {
              type string;
              description
                "Modify $junos-cos-traffic-control-profile variable";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml aaa-subscriber-modify-variable-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc aaa-subscriber-modify-variable
    
        rpc aaa-subscriber-set-parameters {
          description
            "Set AAA subscriber parameters";
          input {
            leaf session-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint64 {
                  range
                    "1 .. 18446744073709551615";
                }
              }
              mandatory true;
              description "Session id";
            }
    
            leaf provisioning-state {
              type enumeration {
                enum "none" {
                  value 0;
                  description
                    "Set provisioning to none";
                }
              }
              mandatory true;
              description "Provisioning state";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml aaa-subscriber-set-parameters-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc aaa-subscriber-set-parameters
    
        rpc replay-pending-accounting-stops {
          description
            "Replay pending acct stops to radius";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml replay-pending-accounting-results {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc replay-pending-accounting-stops
    
        rpc request-accounting-action {
          description
            "Accounting suspend or baseline";
          input {
            choice accounting_action {
              leaf suspend {
                type empty;
                description "Suspend accounting";
              }
              leaf baseline {
                type empty;
                description
                  "Baseline statistics";
              }
              leaf resume {
                type empty;
                description "Resume accounting";
              }
            }  // choice accounting_action
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-accounting-action
    
        rpc request-auto-configuration-reconnect-pending {
          description
            "Request reconnect of pending out-of-band sessions";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-auto-configuration-reconnect-pending
    
        rpc request-rps-download-firmware {
          description
            "Upgrade redundant-power-system firmware";
          input {
            leaf member {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32;
              }
              mandatory true;
              description
                "Member of virtual chassis configuration";
            }
    
            leaf server {
              type jt:ipv4addr;
              mandatory true;
              description
                "TFTP server IP address";
            }
    
            leaf image {
              type string;
              mandatory true;
              description
                "Firmware image with path";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml rps-firmware-download {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-rps-download-firmware
    
        rpc request-rps-multi-backup {
          description "Enable RPS multi-backup";
          input {
            leaf member {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32;
              }
              mandatory true;
              description
                "Member of virtual chassis configuration";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml rps-multi-backup {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-rps-multi-backup
    
        rpc request-rps-no-multi-backup {
          description "Disable RPS multi-backup";
          input {
            leaf member {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32;
              }
              mandatory true;
              description
                "Member of virtual chassis configuration";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml rps-no-multi-backup {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-rps-no-multi-backup
    
        rpc request-chassis-optics {
          description
            "Change linecard optics status";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf fpc-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description
                "Slot number of FPC that houses optics";
            }
    
            leaf reactivate {
              type empty;
              mandatory true;
              description
                "Reactivate linecard optics";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml chassis-optics-state {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-optics
    
        rpc request-chassis-pic {
          description
            "Change Physical Interface Card status";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf fpc-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description
                "Slot number of FPC that houses PIC";
            }
    
            leaf pic-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "PIC slot number";
            }
    
            leaf cmd {
              type enumeration {
                enum "offline" {
                  value 0;
                  description "Take PIC offline";
                }
                enum "online" {
                  value 1;
                  description "Bring PIC online";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-pic
    
        rpc request-chassis-fpc {
          description
            "Change Flexible PIC Concentrator status";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "FPC slot number";
            }
    
            leaf cmd {
              type enumeration {
                enum "offline" {
                  value 0;
                  description
                    "Take FPC or PFE-instance offline";
                }
                enum "online" {
                  value 1;
                  description
                    "Bring FPC or PFE-instance online";
                }
                enum "restart" {
                  value 2;
                  description
                    "Restart FPC or PFE-instance";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml chassis-fpc-state {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-fpc
    
        rpc request-chassis-tfeb {
          description
            "Change Taz Forwarding Engine Board status";
          input {
            leaf cmd {
              type enumeration {
                enum "offline" {
                  value 0;
                  description
                    "Take TFEB offline";
                }
                enum "online" {
                  value 1;
                  description
                    "Bring TFEB online";
                }
                enum "restart" {
                  value 2;
                  description "Restart TFEB";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml chassis-tfeb-state {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-tfeb
    
        rpc request-chassis-fabric-plane {
          description
            "Change fabric plane status";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf plane {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "Fabric plane number";
            }
    
            leaf which-command {
              type enumeration {
                enum "offline" {
                  value 0;
                  description
                    "Take fabric plane offline";
                }
                enum "online" {
                  value 1;
                  description
                    "Bring fabric plane online";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml chassis-fabric-plane-state {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-fabric-plane
    
        rpc request-chassis-sib {
          description
            "Change Switch Interface Board status";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "SIB slot number";
            }
    
            choice cmd {
              leaf online-offline {
                type enumeration {
                  enum "offline" {
                    value 0;
                    description
                      "Take SIB offline";
                  }
                  enum "online" {
                    value 1;
                    description
                      "Bring SIB online";
                  }
                }
              }
    
              case start-receiver {
              }  // case start-receiver
    
              case stop-receiver {
              }  // case stop-receiver
              leaf train-rx-tx {
                type enumeration {
                  enum "train-link-receive" {
                    value 0;
                    description
                      "Train link receiver";
                  }
                  enum "train-link-transmit" {
                    value 1;
                    description
                      "Train link transmitter";
                  }
                }
              }
            }  // choice cmd
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-sib
    
        rpc request-chassis-routing-engine {
          description
            "Change Routing Engine status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml chassis-routing-engine-state {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-routing-engine
    
        rpc request-chassis-routing-engine-hard-disk-test {
          description
            "Run smartd self tests on hard disks";
          input {
            choice test-type {
              leaf short {
                type empty;
                description "Run short test";
              }
              leaf long {
                type empty;
                description
                  "Run SMART extended self test";
              }
              leaf show-status {
                type empty;
                description
                  "Display status of test";
              }
            }  // choice test-type
    
            leaf disk {
              type string;
              description "Name of hard disk";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml raid-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-routing-engine-hard-disk-test
    
        rpc request-chassis-routing-engine-acquire {
          description
            "Attempt to become master Routing Engine";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf no-confirm {
              type empty;
              description
                "Do not ask for confirmation";
            }
    
            leaf check {
              type empty;
              description
                "Check status of graceful switchover";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml chassis-routing-engine-state {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-routing-engine-acquire
    
        rpc request-chassis-routing-engine-release {
          description
            "Request that other Routing Engine become master";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf no-confirm {
              type empty;
              description
                "Do not ask for confirmation";
            }
    
            leaf check {
              type empty;
              description
                "Check status of graceful switchover";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml chassis-routing-engine-state {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-routing-engine-release
    
        rpc request-chassis-routing-engine-switch {
          description
            "Toggle mastership between Routing Engines";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf no-confirm {
              type empty;
              description
                "Do not ask for confirmation";
            }
    
            leaf check {
              type empty;
              description
                "Check status of graceful switchover";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml chassis-routing-engine-state {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-routing-engine-switch
    
        rpc request-chassis-cb {
          description
            "Change Control Board status";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "CB slot number";
            }
    
            leaf cmd {
              type enumeration {
                enum "offline" {
                  value 0;
                  description "Take CB offline";
                }
                enum "online" {
                  value 1;
                  description "Bring CB online";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-cb
    
        rpc set-chassis-pic-mode-to-intraconnect {
          description
            "Set the mode to intraconnect";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc set-chassis-pic-mode-to-intraconnect
    
        rpc set-chassis-pic-mode-to-vc {
          description
            "Set the mode to virtual-chassis";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc set-chassis-pic-mode-to-vc
    
        rpc request-tdr-interface-diagnostics {
          description "Enter TDR interface name";
          input {
            leaf interface-name {
              type string;
              description "Interface name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml tdr-start-interface {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-tdr-interface-diagnostics
    
        rpc abort-tdr-interface-diagnostics {
          description "Enter TDR interface name";
          input {
            leaf interface-name {
              type string;
              description "Interface name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml tdr-abort-interface {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc abort-tdr-interface-diagnostics
    
        rpc request-protection-group-erps-clear {
          description
            "Clears active local commands";
          input {
            leaf group-name {
              type string {
                length "1 .. 32";
              }
              description
                "Name of protection group";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-protection-group-erps-clear
    
        rpc request-protection-group-erps-manual-switch {
          description
            "Manual switch data path to use protection path";
          input {
            leaf interface-name {
              type union {
                type jt:interface-wildcard;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Name of interface";
            }
    
            leaf group-name {
              type string {
                length "1 .. 32";
              }
              description
                "Name of protection group";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-protection-group-erps-manual-switch
    
        rpc request-protection-group-erps-force-switch {
          description
            "Force switch data path to use protection path";
          input {
            leaf interface-name {
              type union {
                type jt:interface-wildcard;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Name of interface";
            }
    
            leaf group-name {
              type string {
                length "1 .. 32";
              }
              description
                "Name of protection group";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-protection-group-erps-force-switch
    
        rpc get-flight-recorder-information {
          description
            "Debug high cpu issues and scheduler slips";
          input {
            leaf disable {
              type empty;
              description
                "Disable the flight recorder";
            }
    
            leaf logical-system {
              type empty;
              description
                "Enable logical systems";
            }
    
            leaf cpu-threshold {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 400";
                }
              }
              description
                "Threshold over which the collection is triggered";
            }
    
            leaf polling-frequency {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "5 .. 100";
                }
              }
              description
                "Frequency of polling for high cpu";
            }
    
            leaf backoff-duration {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "10 .. 1000";
                }
              }
              description
                "Time to wait between two snapshots";
            }
    
            leaf collect-core {
              type empty;
              description
                "Whether to take a running core with every snapshot";
            }
    
            leaf num-snapshots {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 20";
                }
              }
              description
                "How many snapshots to collect before quitting";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml flight-recorder-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-flight-recorder-information
    
        rpc request-l2ckt-switchover {
          description
            "Perform l2circuit switchover";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf neighbor {
              type jt:ipv4addr;
              mandatory true;
              description
                "IP address of neighbor";
            }
    
            leaf virtual-circuit-id {
              type string;
              default "all";
              description "Layer 2 circuit ID";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-l2ckt-switchover
    
        rpc request-vpls-switchover {
          description
            "Perform LDP VPLS pseudowire switchover";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf instance {
              type string;
              mandatory true;
              description
                "Name of VPLS instance";
            }
    
            leaf neighbor {
              type jt:ipv4addr;
              mandatory true;
              description
                "IP address of neighbor";
            }
    
            leaf vpls-id {
              type string;
              default "all";
              description "Layer 2 circuit ID";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-vpls-switchover
    
        rpc request-mpls-lsp-autobandwidth-adjust {
          description
            "Request LSP autobandwidth adjustment now";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf regex {
              type string;
              description
                "Regular expression for LSP names to match";
            }
    
            leaf instance {
              type string;
              description
                "Name of routing instance";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-mpls-lsp-autobandwidth-adjust
    
        rpc request-mpls-container-lsp-autobandwidth-adjust {
          description
            "Request LSP autobandwidth adjustment now";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf regex {
              type string;
              description
                "Regular expression for LSP names to match";
            }
    
            leaf instance {
              type string;
              description
                "Name of routing instance";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-mpls-container-lsp-autobandwidth-adjust
    
        rpc request-mpls-container-lsp-normalization {
          description
            "Request container LSP normalization now";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf regex {
              type string;
              description
                "Regular expression for LSP names to match";
            }
    
            leaf instance {
              type string;
              description
                "Name of routing instance";
            }
    
            leaf bandwidth {
              type union {
                type uint64;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description
                "Use the bandwidth for manual normalization";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-mpls-container-lsp-normalization
    
        rpc request-mpls-lable-range-reserve {
          description
            "Request label space repartition now";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-mpls-lable-range-reserve
    
        rpc pim-multicast-tunnel {
          description "Request PIM MT rebalance";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice daemon-select
    
            leaf instance {
              type string;
              description "Name of instance";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc pim-multicast-tunnel
    
        rpc request-validation-policy {
          description
            "Request policy reevaluation";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
    
            leaf record {
              type jt:ipprefix;
              description "Filter by record";
            }
    
            leaf instance {
              type string;
              description
                "Name of route validation instance";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml rv-request-policy-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-validation-policy
    
        rpc request-line-card-login {
          description "Connect to line card";
          input {
            leaf member {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32;
              }
              mandatory true;
              description "Member ID";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml run-command {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-line-card-login
    
        rpc request-virtual-chassis-reactivate {
          description
            "Make active from inactive-split mode";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-virtual-chassis-reactivate
    
        rpc request-virtual-chassis-renumber {
          description "Change member ID";
          input {
            leaf member-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32;
              }
              mandatory true;
              description "Current member ID";
            }
    
            leaf new-member-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32;
              }
              mandatory true;
              description "New member ID";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-virtual-chassis-renumber
    
        rpc request-virtual-chassis-recycle {
          description "Recycle member ID";
          input {
            leaf member-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32;
              }
              mandatory true;
              description "Member ID";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-virtual-chassis-recycle
    
        rpc request-virtual-chassis-vc-port-set-interface {
          description
            "Member's virtual chassis interface";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf interface-name {
              type string;
              mandatory true;
              description
                "Name of dedicated virtual chassis interface";
            }
    
            leaf disable {
              type empty;
              description
                "Disable virtual chassis interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-virtual-chassis-vc-port-set-interface
    
        rpc request-virtual-chassis-vc-port-set-pic-slot {
          description "Member's PIC slot";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf pic-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "PIC slot number";
            }
    
            leaf port {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "Port number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-virtual-chassis-vc-port-set-pic-slot
    
        rpc request-virtual-chassis-vc-port-set-fpc-slot {
          description "Member's FPC slot";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf fpc-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "FPC slot number";
            }
    
            leaf pic-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "PIC slot number";
            }
    
            leaf port {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "Port number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-virtual-chassis-vc-port-set-fpc-slot
    
        rpc request-virtual-chassis-vc-port-delete-pic-slot {
          description "Member's PIC slot";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf pic-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "PIC slot number";
            }
    
            leaf port {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "Port number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-virtual-chassis-vc-port-delete-pic-slot
    
        rpc request-virtual-chassis-vc-port-delete-fpc-slot {
          description "Member's FPC slot";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf fpc-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "FPC slot number";
            }
    
            leaf pic-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "PIC slot number";
            }
    
            leaf port {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "Port number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-virtual-chassis-vc-port-delete-fpc-slot
    
        rpc req-virtual-chassis-mode {
          description
            "Set a member's mode (Warning: member's mode must be consistent)";
          input {
            choice chassis-selector {
              leaf all-chassis {
                type empty;
                description "All chassis";
              }
              leaf all-lcc {
                type empty;
                description "All LCC chassis";
              }
              leaf scc {
                type empty;
                description "SCC";
              }
              leaf sfc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "SFC";
              }
              leaf lcc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Specific LCC";
              }
              leaf node {
                type string;
                description "Specific node";
              }
              leaf bsys {
                type empty;
                description "Base system";
              }
              leaf gnf {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "1 .. 10";
                  }
                }
                description
                  "Specific guest network function";
              }
              leaf all-gnfs {
                type empty;
                description
                  "All guest network functions";
              }
              leaf all-system {
                type empty;
                description
                  "All system (BSYS and GNFs)";
              }
              leaf server {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Specific server slot";
              }
              leaf all-servers {
                type empty;
                description "All servers";
              }
              leaf vnf {
                type string;
                description
                  "Specific virtual-network-function";
              }
              leaf all-vnfs {
                type empty;
                description
                  "All virtual-network-functions";
              }
            }  // choice chassis-selector
    
            choice re-selector {
              leaf re0 {
                type empty;
                description "RE0";
              }
              leaf re1 {
                type empty;
                description "RE1";
              }
              leaf routing-engine {
                type enumeration {
                  enum "local" {
                    value 0;
                    description
                      "Local routing engine";
                  }
                  enum "other" {
                    value 1;
                    description
                      "Other routing engine";
                  }
                  enum "master" {
                    value 2;
                    description
                      "Master routing engine";
                  }
                  enum "backup" {
                    value 3;
                    description
                      "Backup routing engine";
                  }
                  enum "both" {
                    value 4;
                    description
                      "Both routing engines";
                  }
                }
                description
                  "Specific routing engine";
              }
            }  // choice re-selector
    
            choice lr-selector {
              leaf logical-system {
                type string;
                description
                  "Name of logical system, or 'all'";
              }
            }  // choice lr-selector
    
            choice tenant-selector {
              leaf tenant {
                type string;
                description
                  "Name of tenant, or 'all'";
              }
            }  // choice tenant-selector
    
            choice vc-selector {
              leaf local {
                type empty;
                description
                  "Local virtual chassis member";
              }
              leaf all-members {
                type empty;
                description
                  "All virtual chassis members";
              }
              leaf member {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Specific virtual chassis member";
              }
            }  // choice vc-selector
    
            leaf mixed {
              type empty;
              description
                "Allow devices from different product families to become members";
            }
    
            leaf disable {
              type empty;
              description
                "Disable specified mode";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc req-virtual-chassis-mode
    
        rpc set-virtual-chassis-member-id {
          description
            "Set virtual-chassis information";
          input {
            leaf member {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32;
              }
              mandatory true;
              description
                "Virtual-Chassis member number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc set-virtual-chassis-member-id
    
        rpc delete-virtual-chassis-member-id {
          description
            "Delete virtual-chassis information";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc delete-virtual-chassis-member-id
    
        rpc get-virtual-chassis-diagnostic-information {
          description
            "Device reachability diagnostics";
          input {
            leaf test-name {
              type string {
                length "1 .. 20";
              }
              mandatory true;
              description "Name of the test";
            }
    
            leaf destination-device {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description
                "Probe destination (global) device ID";
            }
    
            leaf destination-fpc {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description
                "Probe destination FPC";
            }
    
            leaf destination-ip-address {
              type jt:ipaddr;
              description
                "IP address of destination FPC";
            }
    
            leaf source-fpc {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description "Probe initiator FPC";
            }
    
            leaf source-ip-address {
              type jt:ipaddr;
              description
                "IP address of source FPC";
            }
    
            leaf probe-size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "56 .. 1500";
                }
              }
              default "56";
              description
                "Size of one probe in bytes";
            }
    
            leaf probe-count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 10";
                }
              }
              default "5";
              description
                "Number of probes in a test";
            }
    
            leaf probe-pattern {
              type string;
              default "0x00";
              description
                "Payload pattern byte in the probe (0x00-0xff)";
            }
    
            leaf probe-interval {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 3";
                }
              }
              units "seconds";
              default "1";
              description
                "Duration between successive probes";
            }
    
            leaf test-interval {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 5";
                }
              }
              units "seconds";
              default "1";
              description
                "Time interval to perform this test again";
            }
    
            leaf test-count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 3";
                }
              }
              default "1";
              description
                "Number of times this test to be performed";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml virtual-chassis-diagnostic-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-virtual-chassis-diagnostic-information
      }  // module junos-ex-rpc-request
    

© 2023 YumaWorks, Inc. All rights reserved.