junos-rpc-request

Junos RPC YANG module for request command(s)

  • Version: 2019-01-01

    junos-rpc-request@2019-01-01


    
      module junos-rpc-request {
    
        yang-version 1;
    
        namespace
          "http://yang.juniper.net/junos/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";
            }
    
            leaf dualroot {
              type empty;
              description
                "Install Dual-Root image for Zeroization";
            }
    
            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;
              }
              leaf service-node {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Install package on 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
    
            leaf issu-internal {
              type empty;
              description
                "Internally executed by mgd, to allow software adds during issu";
            }
    
            leaf-list upgrade-with-config {
              type jt:filename;
              ordered-by user;
              description
                "Additional configs ('text/xml' format) to be applied on upgrade";
            }
    
            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 {
              leaf-list set {
                type jt:filename;
                ordered-by user;
                description
                  "List of URLs or pathnames corresponding to packages for ISSU";
              }
              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 verbose {
              type empty;
              description
                "Enable detailed output";
            }
    
            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
    
            leaf enhanced-mode {
              type empty;
              description
                "Try to upgrade without any traffic loss";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-package-in-service-upgrade
    
        rpc request-in-service-upgrade-status {
          description
            "In-Service software upgrade status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml issu-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-in-service-upgrade-status
    
        rpc request-in-service-upgrade-pause {
          description
            "In-Service software upgrade pause";
          input {
            leaf before-issu-state-validate {
              type empty;
              description
                "Pause ISSU before ISSU_STATE_VALIDATE";
            }
    
            leaf before-issu-state-slave-re-prepare {
              type empty;
              description
                "Pause ISSU before ISSU_STATE_SLAVE_RE_PREPARE";
            }
    
            leaf after-issu-state-slave-re-prepare-done {
              type empty;
              description
                "Pause ISSU after ISSU_STATE_SLAVE_RE_PREPARE_DONE";
            }
    
            leaf after-issu-state-switchover-done {
              type empty;
              description
                "Pause ISSU after ISSU_STATE_SWITCHOVER_DONE";
            }
    
            leaf before-issu-state-old-master-upgrade {
              type empty;
              description
                "Pause ISSU before ISSU_STATE_OLD_MASTER_UPGRADE";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml issu-pause {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-in-service-upgrade-pause
    
        rpc request-in-service-upgrade-resume {
          description
            "In-Service software upgrade resume";
          input {
            leaf before-issu-state-validate {
              type empty;
              description
                "Resume ISSU before ISSU_STATE_VALIDATE";
            }
    
            leaf before-issu-state-slave-re-prepare {
              type empty;
              description
                "Resume ISSU before ISSU_STATE_SLAVE_RE_PREPARE";
            }
    
            leaf after-issu-state-slave-re-prepare-done {
              type empty;
              description
                "Resume ISSU after ISSU_STATE_SLAVE_RE_PREPARE_DONE";
            }
    
            leaf after-issu-state-switchover-done {
              type empty;
              description
                "Resume ISSU after ISSU_STATE_SWITCHOVER_DONE";
            }
    
            leaf before-issu-state-old-master-upgrade {
              type empty;
              description
                "Resume ISSU before ISSU_STATE_OLD_MASTER_UPGRADE";
            }
    
            leaf all-states {
              type empty;
              description
                "Resume/Cancel the pause request for all the states";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml issu-resume {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-in-service-upgrade-resume
    
        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";
            }
    
            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-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";
            }
    
            leaf no-validate {
              type empty;
              description
                "Don't check compatibility with current configuration";
            }
          }
    
          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 {
              leaf-list set {
                type string;
                ordered-by user;
                description
                  "List of package name";
              }
              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 {
            leaf-list upgrade-with-config {
              type jt:filename;
              ordered-by user;
              description
                "Additional configs ('text/xml' format) to be validated";
            }
    
            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
    
            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 {
              leaf-list set {
                type jt:filename;
                ordered-by user;
                description
                  "List of URLs or pathnames corresponding to packages for ISSU";
              }
              leaf package-name {
                type jt:filename;
                description
                  "URL or pathname of package";
              }
            }  // choice package-options
    
            leaf enhanced-mode {
              type empty;
              description
                "Try to upgrade without any traffic loss";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc check-in-service-upgrade
    
        rpc request-package-delete-backup {
          description
            "Delete old system software packages";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-package-delete-backup
    
        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 enable-unified-services-chassis-mode {
          description
            "Enable unified services chassis mode";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc enable-unified-services-chassis-mode
    
        rpc disable-unified-services-chassis-mode {
          description
            "Disable unified services chassis mode";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc disable-unified-services-chassis-mode
    
        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-cleanup-satellite {
          description
            "Clean up temporary and core files on satellite device";
          input {
            leaf fpc-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "65 .. 254";
                }
              }
              description
                "Satellite slot number";
            }
    
            leaf device-alias {
              type string;
              description "Device alias";
            }
    
            leaf dry-run {
              type empty;
              description
                "Only list the cleanup candidates, do not remove them";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-system-storage-cleanup-satellite
    
        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-media {
          description
            "Setup permanent boot media for subsequent reboots";
          input {
            leaf media {
              type enumeration {
                enum "primary" {
                  value 0;
                  description
                    "Boot from primary Junos partition";
                }
                enum "alternate" {
                  value 1;
                  description
                    "Boot from alternate Junos partition";
                }
                enum "external" {
                  value 2;
                  description
                    "Boot from external USB device";
                }
              }
              mandatory true;
              description
                "Media to be setup as boot device";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-boot-media
    
        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 hypervisor {
              type empty;
              description
                "Reboot both Junos and Hypervisor";
            }
    
            leaf fast-boot {
              type empty;
              status deprecated;
              description "Enable fast reboot";
            }
    
            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 factory {
              type empty;
              description
                "Include only files shipped from factory in snapshot";
            }
    
            leaf as-primary {
              type empty;
              description
                "Setup snapshot to be used in the primary boot device";
            }
    
            leaf swap-size {
              type string;
              description
                "Size of the swap partition";
            }
    
            leaf config-size {
              type string;
              description
                "Size of the config partition";
            }
    
            leaf root-size {
              type string;
              description
                "Size of the root partition";
            }
    
            leaf data-size {
              type string;
              description
                "Size of the data partition";
            }
    
            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-system-firmware-reload-sib {
          description "Reload SIB firmware";
          input {
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "SIB 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-sib
    
        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-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";
            }
          }
    
          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-ftc-firmware-upgrade {
          description "Upgrade FTC firmware";
          input {
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 1";
                }
              }
              mandatory true;
              description "FTC slot number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-firmware-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-ftc-firmware-upgrade
    
        rpc request-bitscpld-firmware-upgrade {
          description
            "Upgrade BITSCPLD programmable on SPMC Mezz board";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-firmware-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-bitscpld-firmware-upgrade
    
        rpc request-cb-fpga-upgrade {
          description "Upgrade baseboard FPGA";
          input {
            choice which-arg {
              leaf fpga {
                type empty;
                description
                  "Upgrade baseboard FPGA";
              }
              leaf port-fpga {
                type empty;
                description
                  "Upgrade baseboard PORT FPGA";
              }
              leaf port {
                type empty;
                description
                  "Upgrade baseboard port";
              }
              leaf tic-fpga {
                type empty;
                description "Upgrade TIC FPGA";
              }
              leaf optics {
                type enumeration {
                  enum "cpld0" {
                    value 0;
                    description "Optics CPLD0";
                  }
                  enum "cpld1" {
                    value 1;
                    description "Optics CPLD1";
                  }
                }
                description
                  "Upgrade Optics CPLD";
              }
              leaf fancpld {
                type empty;
                description
                  "Upgrade fan board CPLD";
              }
            }  // choice which-arg
    
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "CB slot number";
            }
    
            leaf tag {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 2";
                }
              }
              mandatory true;
              description "Firmware tag";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-firmware-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-cb-fpga-upgrade
    
        rpc request-i2c-fpga-upgrade {
          description "I2C FPGA Upgrade";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-firmware-i2c-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-i2c-fpga-upgrade
    
        rpc request-system-firmware-upgrade-sfb {
          description "Upgrade SFB firmware";
          input {
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "SFB slot number";
            }
    
            leaf tag {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 1";
                }
              }
              mandatory true;
              description "Firmware tag 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-upgrade-sfb
    
        rpc request-pem-firmware-downgrade {
          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-downgrade
    
        rpc request-bitscpld-firmware-downgrade {
          description
            "Upgrade BITSCPLD programmable on SPMC Mezz board";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-firmware-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-bitscpld-firmware-downgrade
    
        rpc request-cb-fpga-downgrade {
          description "Upgrade baseboard FPGA";
          input {
            choice which-arg {
              leaf fpga {
                type empty;
                description
                  "Upgrade baseboard FPGA";
              }
              leaf port {
                type empty;
                description
                  "Upgrade baseboard port";
              }
              leaf tic-fpga {
                type empty;
                description "Upgrade TIC FPGA";
              }
            }  // choice which-arg
    
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "CB slot number";
            }
    
            leaf tag {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 2";
                }
              }
              mandatory true;
              description "Firmware tag";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-firmware-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-cb-fpga-downgrade
    
        rpc request-i2c-fpga-downgrade {
          description "I2C FPGA Upgrade";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml system-firmware-i2c-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-i2c-fpga-downgrade
    
        rpc request-system-firmware-downgrade-sfb {
          description "Downgrade SFB firmware";
          input {
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "SFB slot number";
            }
    
            leaf tag {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 1";
                }
              }
              mandatory true;
              description "Firmware tag 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-downgrade-sfb
    
        rpc request-power-on-other-re {
          description "Power on 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 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-power-on-other-re
    
        rpc request-security-uefi-revoke {
          description
            "Revoke platform UEFI keys";
          input {
            leaf cmd {
              type string;
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-uefi-revoke
    
        rpc request-security-bios-upgrade {
          description
            "Upgrade BIOS from the location";
          input {
            leaf package-name {
              type jt:filename;
              description
                "URL or path name of package";
            }
    
            leaf re-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32;
              }
              mandatory true;
              description "RE slot number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-security-bios-upgrade
    
        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 validity-start-time {
              type jt:time;
              status deprecated;
              description
                "Certificate validity start time (YYYY-MM-DD.HH:MM:SS)";
            }
    
            leaf validity-end-time {
              type jt:time;
              status deprecated;
              description
                "Certificate validity end time (YYYY-MM-DD.HH:MM:SS)";
            }
    
            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 validity-start-time {
              type jt:time;
              status deprecated;
              description
                "Certificate validity start time (YYYY-MM-DD.HH:MM:SS)";
            }
    
            leaf validity-end-time {
              type jt:time;
              status deprecated;
              description
                "Certificate validity end time (YYYY-MM-DD.HH:MM:SS)";
            }
    
            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 validity-start-time {
              type jt:time;
              status deprecated;
              description
                "Certificate validity start time (YYYY-MM-DD.HH:MM:SS)";
            }
    
            leaf validity-end-time {
              type jt:time;
              status deprecated;
              description
                "Certificate validity end time (YYYY-MM-DD.HH:MM:SS)";
            }
    
            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";
            }
    
            leaf validity-start-time {
              type jt:time;
              status deprecated;
              description
                "Certificate validity start time (YYYY-MM-DD.HH:MM:SS)";
            }
    
            leaf validity-end-time {
              type jt:time;
              status deprecated;
              description
                "Certificate validity end time (YYYY-MM-DD.HH:MM:SS)";
            }
          }
    
          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 validity-start-time {
              type jt:time;
              status deprecated;
              description
                "Certificate validity start time (YYYY-MM-DD.HH:MM:SS)";
            }
    
            leaf validity-end-time {
              type jt:time;
              status deprecated;
              description
                "Certificate validity end time (YYYY-MM-DD.HH:MM:SS)";
            }
    
            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 validity-start-time {
              type jt:time;
              status deprecated;
              description
                "Certificate validity start time (YYYY-MM-DD.HH:MM:SS)";
            }
    
            leaf validity-end-time {
              type jt:time;
              status deprecated;
              description
                "Certificate validity end time (YYYY-MM-DD.HH:MM:SS)";
            }
    
            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 request-idp-policy-load {
          description "Load a compiled policy";
          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 policy {
              type string;
              description
                "Compiled policy file name";
            }
    
            leaf no-ai {
              type empty;
              description
                "Application identification flag";
            }
    
            leaf detector {
              type string;
              description "Detector file name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml request-idp-policy-load {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-idp-policy-load
    
        rpc request-idp-storage-cleanup {
          description
            "Delete non-essential idp files for freeing up disk space";
          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 cleanup-choice {
              leaf cache-files {
                type empty;
                description
                  "Deletes DFA cache files used for optimizing idp policy compilation";
              }
              leaf downloaded-files {
                type empty;
                description
                  "Deletes downloaded security-package files (doesn't affect installed database)";
              }
            }  // choice cleanup-choice
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml request-idp-storage-cleanup {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-idp-storage-cleanup
    
        rpc request-idp-security-package-install {
          description
            "Update attack database, active policy, detector with new package";
          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 re-selector-idpd {
              case re0 {
              }  // case re0
    
              case re1 {
              }  // case re1
            }  // choice re-selector-idpd
    
            choice install-choice {
              leaf update-attack-database-only {
                type empty;
                description
                  "Don't update/push active policy or detector to data plane";
              }
              leaf policy-templates {
                type empty;
                description
                  "Update previously installed policy-templates with newly downloaded ones";
              }
              leaf precompiled-policy {
                type empty;
                description
                  "Update dataplane 'Recommended' policy and detector for it with newly downloaded ones";
              }
              leaf older-detector {
                type empty;
                description
                  "Update dataplane with older detector";
              }
              leaf status {
                type empty;
                description
                  "Retrieve the status of security package load operation";
              }
              leaf policy-template-result {
                type empty;
                description
                  "Status of policy templates operation";
              }
            }  // choice install-choice
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml secpack-update-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-idp-security-package-install
    
        rpc request-idp-security-package-download {
          description
            "Download security package (Package includes detector and deltas for attack table)";
          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 re-selector-idpd {
              case re0 {
              }  // case re0
    
              case re1 {
              }  // case re1
            }  // choice re-selector-idpd
    
            choice download-choice {
              leaf full-update {
                type empty;
                description
                  "Download package with complete attack table";
              }
              leaf package-option {
                type enumeration {
                  enum "check-server" {
                    value 0;
                    description
                      "Retrieve version information for latest package on server";
                  }
                  enum "policy-templates" {
                    value 1;
                    description
                      "Download policy templates";
                  }
                  enum "precompiled-policy" {
                    value 2;
                    description
                      "Download pre-compiled 'Recommended' policy and detector for it";
                  }
                }
              }
              leaf status {
                type empty;
                description
                  "Retrieve the status of security package download operation";
              }
              leaf policy-template-file {
                type empty;
                description
                  "Current status of policy template file";
              }
              leaf policy-template-result {
                type empty;
                description
                  "Status of policy templates operation";
              }
            }  // choice download-choice
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml secpack-download-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-idp-security-package-download
    
        rpc request-idp-security-package-download-version {
          description
            "Version of package to download";
          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 re-selector-idpd {
              case re0 {
              }  // case re0
    
              case re1 {
              }  // case re1
            }  // choice re-selector-idpd
    
            leaf version-value {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Version number";
            }
    
            leaf full-update {
              type empty;
              description
                "Download package with complete attack table";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml secpack-download-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-idp-security-package-download-version
    
        rpc request-idp-security-package-offline-download {
          description
            "Unzip the security package and copy the xml files";
          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 re-selector-idpd {
              case re0 {
              }  // case re0
    
              case re1 {
              }  // case re1
            }  // choice re-selector-idpd
    
            choice offline-download-choice {
              leaf package-path {
                type string;
                description
                  "Package path of the zipped security package ";
              }
              leaf status {
                type empty;
                description
                  "Retrieve the status of offline package download operation";
              }
            }  // choice offline-download-choice
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml offline-download-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-idp-security-package-offline-download
    
        rpc request-idp-security-package-rollback {
          description
            "Rollback attack database, active policy, detector";
          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 re-selector-idpd {
              case re0 {
              }  // case re0
    
              case re1 {
              }  // case re1
            }  // choice re-selector-idpd
    
            choice rollback-choice {
              leaf status {
                type empty;
                description
                  "Retrieve the status of package rollback operation";
              }
            }  // choice rollback-choice
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml request-idp-security-package-rollback-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-idp-security-package-rollback
    
        rpc jist-conversion-information {
          description
            "JIST conversion of snort rules to Juniper Signatures";
          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 re-selector-idpd {
              case re0 {
              }  // case re0
    
              case re1 {
              }  // case re1
            }  // choice re-selector-idpd
    
            leaf input-file {
              type string;
              mandatory true;
              description "Snort rules file";
            }
    
            leaf output-file {
              type string;
              description
                "Redirect converted attacks-set commands to this file";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml jist-conversion-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc jist-conversion-information
    
        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-switch-anchor {
          description
            "Manually switch the anchoring device.";
          input {
            leaf anchoring-device-name {
              type string;
              description
                "Anchoring PFE or FPC name.";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-switch-anchor
    
        rpc request-intf-modem-reset {
          description "Reset the modem device";
          input {
            leaf interface-name {
              type string;
              mandatory true;
              description
                "Name of physical interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-intf-modem-reset
    
        rpc request-load-balancing-revert {
          description
            "Revert load-balancing member interface";
          input {
            leaf interface-name {
              type union {
                type jt:interface-wildcard;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description
                "Name of member-interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml load-balancing-revert {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-load-balancing-revert
    
        rpc request-load-balancing-switchover {
          description
            "Switch load-balancing member interface to backup";
          input {
            leaf interface-name {
              type union {
                type jt:interface-wildcard;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description
                "Name of member interface";
            }
    
            leaf force {
              type empty;
              description
                "Force a active member switchover";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml rdd-action-result {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-load-balancing-switchover
    
        rpc request-interface-mcae-switchover {
          description
            "Request MC-AE mastership switchover";
          input {
            leaf mcae-id {
              type union {
                type uint16;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "MC-AE id";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml interface-mcae-switchover {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-interface-mcae-switchover
    
        rpc request-interface-mcae-switchover-immediate {
          description
            "Request MC-AE mastership switchover immediate";
          input {
            leaf mcae-id {
              type union {
                type uint16;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "MC-AE id";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml interface-mcae-switchover-immediate {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-interface-mcae-switchover-immediate
    
        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 request-rebalance-interface {
          description
            "Request rebalance of interfaces on the interface";
          input {
            leaf interface-name {
              type string;
              mandatory true;
              description
                "Name of the interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml rebalance-interface {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-rebalance-interface
    
        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 request-slaac-unblock-all {
          description "Unblock all interfaces";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-slaac-unblock-all
    
        rpc request-slaac-unblock-interface {
          description
            "Name of interface to unblock";
          input {
            leaf interface-name {
              type union {
                type jt:interface-name;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Interface-name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-slaac-unblock-interface
    
        rpc request-static-subscribers-login {
          description "Login static subscribers";
          input {
            choice filter {
              leaf interface {
                type union {
                  type jt:interface-name;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description "Interface name";
              }
              leaf group {
                type string {
                  length "1 .. 64";
                }
                description "Group name";
              }
            }  // choice filter
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml static-subscribers-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-static-subscribers-login
    
        rpc request-static-subscribers-logout {
          description
            "Logout static subscribers";
          input {
            choice filter {
              leaf interface {
                type union {
                  type jt:interface-name;
                  type string {
                    pattern "<.*>|$.*";
                  }
                }
                description "Interface name";
              }
              leaf group {
                type string {
                  length "1 .. 64";
                }
                description "Group name";
              }
            }  // choice filter
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml static-subscribers-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-static-subscribers-logout
    
        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-extensible-subscriber-services-reload-dictionary {
          description "Reload dictionary";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml extensible-subscriber-services-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-extensible-subscriber-services-reload-dictionary
    
        rpc request-appid-protocol-bundle-load {
          description
            "Load a QM protocols bundle dynamically";
          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 proto_bundle {
              type string;
              description
                "Protocol Bundle file name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml request-appid-protocol-bundle-load {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-protocol-bundle-load
    
        rpc request-appid-protocol-bundle-unload {
          description
            "UnLoad a QM protocols bundle dynamically";
          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 proto_bundle {
              type string;
              description
                "Protocol Bundle file name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml request-appid-protocol-bundle-unload {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-protocol-bundle-unload
    
        rpc request-appid-application-package-download {
          description
            "Download application package";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-download-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-package-download
    
        rpc request-appid-application-package-download-version {
          description
            "Version of application package to download";
          input {
            leaf version-value {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint16 {
                  range "1 .. 65535";
                }
              }
              mandatory true;
              description
                "Version number (1 - 65535)";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-download-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-package-download-version
    
        rpc request-appid-application-package-download-status {
          description "Display download status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-download-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-package-download-status
    
        rpc request-appid-application-package-download-check-server {
          description
            "Retrieve version information for latest package on server";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-check-server {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-package-download-check-server
    
        rpc request-appid-application-package-install {
          description
            "Install application package";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-install-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-package-install
    
        rpc request-appid-application-package-install-status {
          description "Display install status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-install-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-package-install-status
    
        rpc request-appid-force-install {
          description
            "Ignore version check during sigpack installation";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-force-install {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-force-install
    
        rpc request-appid-sigpack-rollback {
          description
            "Rollback application package";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-rollback-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-sigpack-rollback
    
        rpc request-appid-sigpack-rollback-status {
          description "Display rollback status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-rollback-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-sigpack-rollback-status
    
        rpc request-appid-application-package-uninstall {
          description
            "Uninstall predefined application package";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-apppack-uinstall {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-package-uninstall
    
        rpc request-appid-application-package-uninstall-status {
          description "Display uninstall status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-uninstall-status {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-package-uninstall-status
    
        rpc request-appid-application-predefined-disable {
          description
            "Disable a predefined application";
          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 application-name {
              type string;
              mandatory true;
              description
                "Predefined application name";
            }
    
            leaf no-commit {
              type empty;
              status deprecated;
              description
                "Do not re-compile signatures";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-application-predefined-disable {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-predefined-disable
    
        rpc request-appid-application-predefined-enable {
          description
            "Enable a predefined application";
          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 application-name {
              type string;
              mandatory true;
              description
                "Predefined application name";
            }
    
            leaf no-commit {
              type empty;
              status deprecated;
              description
                "Do not re-compile signatures";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-application-predefined-enable {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-predefined-enable
    
        rpc request-appid-application-predefined-group-copy {
          description
            "Copy a predefined application group into junos configuration";
          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 group-name {
              type string;
              mandatory true;
              description
                "Predefined application group name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-application-predefined-group-copy {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-predefined-group-copy
    
        rpc request-appid-application-predefined-group-disable {
          description
            "Disable a predefined application group";
          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 group-name {
              type string;
              mandatory true;
              description
                "Predefined application group name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-application-predefined-group-disable {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-predefined-group-disable
    
        rpc request-appid-application-predefined-group-enable {
          description
            "Enable a predefined application group";
          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 group-name {
              type string;
              mandatory true;
              description
                "Predefined application group name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml appid-application-predefined-group-enable {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-appid-application-predefined-group-enable
    
        rpc rdm-reload-dictionary {
          description "Reload dictionary";
          input {
            leaf dictionary-path {
              type jt:filename;
              mandatory true;
              description
                "Complete path with dictionary name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml rdm-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc rdm-reload-dictionary
    
        rpc rdm-sd-reconfigure {
          description
            "Reconfigure service device";
          input {
            leaf service-device-name {
              type string;
              mandatory true;
              description "Service device name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml rdm-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc rdm-sd-reconfigure
    
        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-service-capture-snapshot {
          description
            "Request a snapshot of the current packet capture";
          input {
            leaf interface {
              type string;
              mandatory true;
              description
                "Name of adaptive services interface";
            }
    
            leaf file {
              type string;
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml service-service-capture-snapshot {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-service-capture-snapshot
    
        rpc request-service-capture-clear {
          description
            "Clear the current packet capture";
          input {
            leaf interface {
              type string;
              mandatory true;
              description
                "Name of adaptive services interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml service-service-capture-clear {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-service-capture-clear
    
        rpc request-services-redundancy-set {
          description
            "Request services redundancy-set";
          input {
            leaf id {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Set id";
            }
    
            leaf trigger {
              type empty;
              mandatory true;
              description
                "Trigger a redundancy-event";
            }
    
            leaf redundancy-event {
              type string;
              mandatory true;
              description
                "Redundancy event which needs to be triggered";
            }
    
            leaf force {
              type empty;
              description
                "Trigger event forcefully overriding warnings";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml services-redundancy-set-request {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-services-redundancy-set
    
        rpc request-flb-maintenance-down {
          description
            "Request for destination to go in maintenance-down mode";
          input {
            leaf destination {
              type string;
              description "Destination VSRX";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-flb-maintenance-down
    
        rpc request-traffic-loadbalance-real-service-rejoin {
          description
            "Rejoin for load-balance request";
          input {
            leaf group {
              type string;
              default "all";
              description "Group name";
            }
    
            leaf instance {
              type string;
              default "all";
              description "Instance name";
            }
    
            leaf real-service {
              type string;
              default "all";
              description "Real service name";
            }
    
            leaf virtual-service {
              type string;
              default "all";
              description "Virtual service name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-traffic-loadbalance-real-service-rejoin
    
        rpc request-url-filter-force-dns-resolution-all {
          description "All profiles";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml force-dns-options {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-url-filter-force-dns-resolution-all
    
        rpc request-url-filter-force-dns-resolution-profile {
          description "Profile name";
          input {
            leaf profile-name {
              type string;
              mandatory true;
              description "Profile name";
            }
    
            leaf url-filter-template {
              type string;
              description "Template name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml force-dns-options {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-url-filter-force-dns-resolution-profile
    
        rpc request-url-filter-database-update {
          description
            "Update the specific url-filter-database";
          input {
            leaf file {
              type string;
              mandatory true;
              description
                "URL filter database file";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml update-db-filepath {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-url-filter-database-update
    
        rpc request-dns-filter-database-update {
          description
            "Update the specific dns-filter-database";
          input {
            choice file_type {
              leaf file {
                type string;
                description
                  "DNS filter database file";
              }
              leaf multi-tenant-file {
                type enumeration {
                  enum "plain-text" {
                    value 0;
                    description
                      "DNS filter plain-text database file ";
                  }
                  enum "hashed" {
                    value 1;
                    description
                      "DNS filter encrypted database file ";
                  }
                }
                description "Multi-tenant-file";
              }
            }  // choice file_type
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml update-db-filepath {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-dns-filter-database-update
    
        rpc request-url-filter-validate {
          description
            "Validate the web-filter database";
          input {
            choice file {
              leaf all {
                type empty;
                description
                  "Validate the url-filter database for all profiles";
              }
              leaf url-filter-file-name {
                type string;
                description
                  "URL filter database file";
              }
              leaf dns-filter-file-name {
                type string;
                description
                  "DNS filter database file";
              }
            }  // choice file
    
            leaf hash-method {
              type enumeration {
                enum "hmac-md5-96" {
                  value 0;
                  description
                    "HMAC-MD5-96 algorithm";
                }
                enum "hmac-sha1-96" {
                  value 1;
                  description
                    "HMAC-SHA1-96 algorithm";
                }
                enum "hmac-sha2-256" {
                  value 2;
                  description
                    "HMAC-SHA2-256 algorithm";
                }
                enum "hmac-sha-256-128" {
                  value 3;
                  description
                    "HMAC-SHA-256-128 algorithm";
                }
              }
              description "Hash method";
            }
    
            leaf hash-key {
              type string;
              description "Hash key";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml validate-db-options {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-url-filter-validate
    
        rpc request-services-url-filter-delete-gencfg-data {
          description "Gencfg data";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml request-delete-gencfg {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-services-url-filter-delete-gencfg-data
    
        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 issu-internal {
              type empty;
              description
                "Internally executed by mgd, to allow software adds during issu";
            }
    
            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 {
              leaf-list set {
                type string;
                ordered-by user;
                description
                  "List of package name";
              }
              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 verbose {
              type empty;
              description
                "Enable detailed output";
            }
    
            leaf reboot {
              type empty;
              description
                "Reboot RE vmhost after adding package";
            }
    
            leaf enhanced-mode {
              type empty;
              description
                "Try to upgrade without any traffic loss";
            }
          }
    
          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";
            }
    
            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-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";
            }
    
            leaf no-validate {
              type empty;
              description
                "Don't check compatibility with current configuration";
            }
          }
    
          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-system-mode-change {
          description
            "Change member's current system-mode configuration";
          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 mode {
              type enumeration {
                enum "mode-104port" {
                  value 0;
                  description
                    "104port-mode. This will restart PFE";
                }
                enum "non-oversubscribed-mode" {
                  value 1;
                  description
                    "Non-oversubscribed-mode. This will restart PFE";
                }
                enum "flexi-pic-mode" {
                  value 2;
                  description
                    "Flexi-pic-mode. This will restart PFE";
                }
                enum "mode-2x100G" {
                  value 3;
                  description
                    "PIC mode configuration 2x100G. This will restart PFE and disable VCP ports";
                }
                enum "default-mode" {
                  value 4;
                  description
                    "Default-mode is oversubscribed mode. This will restart PFE";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-system-mode-change
    
        rpc request-chassis-mic {
          description
            "Change Media 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 MIC";
            }
    
            leaf mic-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 1";
                }
              }
              mandatory true;
              description "MIC slot number";
            }
    
            leaf cmd {
              type enumeration {
                enum "offline" {
                  value 0;
                  description "Take MIC offline";
                }
                enum "online" {
                  value 1;
                  description "Bring MIC online";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml chassis-mic-state {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-mic
    
        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-port-led-switch-on {
          description "Switch on LED";
          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";
            }
    
            container port {
              leaf all-10g {
                type empty;
                description "All 10Gig ports";
              }
    
              leaf all-40g {
                type empty;
                description "All 40Gig ports";
              }
    
              leaf all-100g {
                type empty;
                description "All 100Gig ports";
              }
    
              leaf all-400g {
                type empty;
                description "All 400Gig ports";
              }
    
              leaf all-ports {
                type empty;
                description "All PIC ports";
              }
    
              leaf pic-port {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 127";
                  }
                }
                description "PIC port number";
              }
            }  // container port
    
            leaf duration {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65535";
                }
              }
              description
                "Duration (in seconds) to perform LED blinking";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-port-led-switch-on
    
        rpc request-chassis-port-led-switch-off {
          description "Switch off LED";
          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";
            }
    
            container port {
              leaf all-10g {
                type empty;
                description "All 10Gig ports";
              }
    
              leaf all-25g {
                type empty;
                description "All 25Gig ports";
              }
    
              leaf all-40g {
                type empty;
                description "All 40Gig ports";
              }
    
              leaf all-100g {
                type empty;
                description "All 100Gig ports";
              }
    
              leaf all-400g {
                type empty;
                description "All 400Gig ports";
              }
    
              leaf all-ports {
                type empty;
                description "All PIC ports";
              }
    
              leaf pic-port {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 127";
                  }
                }
                description "PIC port number";
              }
            }  // container port
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-port-led-switch-off
    
        rpc request-redundancy-feb {
          description
            "Change Forwarding Engine Board redundancy status";
          input {
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "FEB slot number";
            }
    
            leaf cmd {
              type enumeration {
                enum "switch-to-backup" {
                  value 0;
                  description
                    "Switch mastership to other FEB";
                }
                enum "revert-from-backup" {
                  value 1;
                  description
                    "Revert mastership back to configured default";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-redundancy-feb
    
        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 slc {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 2";
                }
              }
              description "SLC ID";
            }
    
            leaf force {
              type empty;
              description
                "Forcefully restart the FPC";
            }
    
            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;
            }
    
            leaf no-confirm {
              type empty;
              description
                "Do not ask for confirmation";
            }
          }
    
          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-fpc-optical-module {
          description
            "Change optical module status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-fpc-optical-module
    
        rpc request-fpc-optical-module-amplifier-chain {
          description
            "Change amplifier-chain status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-fpc-optical-module-amplifier-chain
    
        rpc request-fpc-optical-module-ila {
          description
            "Change inline-amplifier status";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-fpc-optical-module-ila
    
        rpc request-fpc-optical-module-ila-firmware-upgrade {
          description
            "Change firmware bundle of inline-amplifier";
          input {
            leaf fpc-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "FPC slot number";
            }
    
            leaf ila-number {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description
                "In-line amplifier number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-fpc-optical-module-ila-firmware-upgrade
    
        rpc request-fpc-optical-module-ila-soft-reset {
          description
            "Perform soft-reset on inline-amplifier";
          input {
            leaf fpc-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "FPC slot number";
            }
    
            leaf ila-number {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description
                "In-line amplifier number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-fpc-optical-module-ila-soft-reset
    
        rpc request-fpc-optical-module-ila-hard-reset {
          description
            "Perform hard-reset on inline-amplifier";
          input {
            leaf fpc-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "FPC slot number";
            }
    
            leaf ila-number {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description
                "In-line amplifier number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-fpc-optical-module-ila-hard-reset
    
        rpc request-fpc-optical-module-firmware-upgrade {
          description
            "Change firmware bundle of optical module";
          input {
            leaf fpc-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "FPC slot number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-fpc-optical-module-firmware-upgrade
    
        rpc request-chassis-fabric-plane-sfb {
          description
            "Change Switch Fabric 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 slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              mandatory true;
              description "SFB slot number";
            }
    
            leaf cmd {
              type enumeration {
                enum "offline" {
                  value 0;
                  description "Take SFB offline";
                }
                enum "online" {
                  value 1;
                  description "Bring SFB 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-sfb
    
        rpc request-chassis-afeb {
          description
            "Change Forwarding Engine Board status";
          input {
            leaf cmd {
              type enumeration {
                enum "offline" {
                  value 0;
                  description
                    "Take AFEB offline";
                }
                enum "online" {
                  value 1;
                  description
                    "Bring AFEB online";
                }
                enum "restart" {
                  value 2;
                  description "Restart AFEB";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml chassis-afeb-state {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-afeb
    
        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-fabric-pfe {
          description
            "Change PFE's fabric status";
          input {
            leaf pfe {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 31";
                }
              }
              mandatory true;
              description "PFE number";
            }
    
            leaf fpc {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "FPC slot number";
            }
    
            leaf which-command {
              type enumeration {
                enum "offline" {
                  value 0;
                  description
                    "Offline FPC,PFE's fabric";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-fabric-pfe
    
        rpc request-chassis-fabric-pfe-mask {
          description
            "Change PFE's fabric status";
          input {
            leaf pfe {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 4095";
                }
              }
              mandatory true;
              description "PFE mask";
            }
    
            leaf fpc {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "FPC slot number";
            }
    
            leaf slc {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 3";
                }
              }
              mandatory true;
              description "SLC slot number";
            }
    
            leaf which-command {
              type enumeration {
                enum "offline" {
                  value 0;
                  description
                    "Offline FPC,PFE's fabric";
                }
                enum "online" {
                  value 1;
                  description
                    "Online FPC,PFE's fabric";
                }
                enum "disable" {
                  value 2;
                  description
                    "Disable FPC,PFE's fabric";
                }
                enum "enable" {
                  value 3;
                  description
                    "Enable FPC,PFE's fabric";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-fabric-pfe-mask
    
        rpc request-chassis-fabric-upgrade-bandwidth-fpc {
          description
            "Flexible PIC Concentrator";
          input {
            choice slot_type {
              leaf slot {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "FPC slot number for upgrade";
              }
              leaf all {
                type empty;
                description
                  "Upgrade all available/possible FPCs";
              }
            }  // choice slot_type
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-fabric-upgrade-bandwidth-fpc
    
        rpc request-chassis-fabric-upgrade-bandwidth-info {
          description
            "Status of FPC to fabric connections";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-fabric-upgrade-bandwidth-info
    
        rpc request-chassis-spmb {
          description
            "Change Switch Processor Mezzanine 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 "SPMB slot number";
            }
    
            leaf cmd {
              type enumeration {
                enum "restart" {
                  value 0;
                  description "Restart SPMB";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-spmb
    
        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";
                  }
                }
              }
              leaf start-receiver {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Start SIB optical receiver";
              }
              leaf stop-receiver {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Stop SIB optical 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-ccg {
          description
            "Change clock generator status";
          input {
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 1";
                }
              }
              mandatory true;
              description "CCG slot number";
            }
    
            leaf cmd {
              type enumeration {
                enum "offline" {
                  value 0;
                  description "Take CCG offline";
                }
                enum "online" {
                  value 1;
                  description "Bring CCG online";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-ccg
    
        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-feb {
          description
            "Change Forwarding Engine Board status";
          input {
            leaf slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              mandatory true;
              description "FEB slot number";
            }
    
            leaf cmd {
              type enumeration {
                enum "offline" {
                  value 0;
                  description "Take FEB offline";
                }
                enum "online" {
                  value 1;
                  description "Bring FEB online";
                }
                enum "restart" {
                  value 2;
                  description "Restart FEB";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-feb
    
        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 request-chassis-fpm {
          description
            "Change craft interface 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 cmd {
              type enumeration {
                enum "resync" {
                  value 0;
                  description
                    "Resynchronize craft interface";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml chassis-fpm {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-fpm
    
        rpc request-chassis-beacon {
          description "Change beacon status";
          input {
            leaf cmd {
              type enumeration {
                enum "off" {
                  value 0;
                  description "Turn beacon off";
                }
                enum "on" {
                  value 1;
                  description "Turn beacon on";
                }
              }
              mandatory true;
            }
    
            leaf timer {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 120";
                }
              }
              description
                "Set timer for beacon LED";
            }
    
            choice which-arg {
              leaf all {
                type empty;
                description "All beacons";
              }
              leaf fpc {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Flexible PIC Controller slot number";
              }
              leaf cb {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description
                  "Control Board slot number";
              }
              leaf service-node {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "0 .. 1";
                  }
                }
                description
                  "Service node slot number";
              }
            }  // choice which-arg
    
            leaf pic-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description "PIC slot number";
            }
    
            choice port-num {
              leaf port {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32;
                }
                description "Port number";
              }
              leaf port-range {
                type empty;
                description "Port range";
              }
            }  // choice port-num
    
            leaf lower-limit {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description
                "Port range lower limit";
            }
    
            leaf upper-limit {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description
                "Port range upper limit";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml chassis-beacon-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-beacon
    
        rpc request-chassis-satellite-device-mode {
          description
            "Satellite device specific commands";
          input {
            leaf interface {
              type string;
              mandatory true;
              description "Interface name";
            }
    
            leaf device-mode {
              type enumeration {
                enum "satellite" {
                  value 0;
                  description "Satellite Mode";
                }
              }
              mandatory true;
              description "Device Mode";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-satellite-device-mode
    
        rpc request-chassis-satellite-reboot {
          description
            "Reboot one or more satellite";
          input {
            choice arg {
              leaf fpc-slot {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "65 .. 254";
                  }
                }
                description
                  "Satellite slot number";
              }
              leaf range {
                type string;
                description
                  "Slot range as <start-end> slot number (e.g. 100-110)";
              }
            }  // choice arg
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-satellite-reboot
    
        rpc request-chassis-satellite-restart {
          description
            "Restart a process on one or more satellite";
          input {
            choice arg {
              leaf fpc-slot {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "65 .. 254";
                  }
                }
                description
                  "Satellite slot number";
              }
              leaf range {
                type string;
                description
                  "Slot range as <start-end> slot number (e.g. 100-110)";
              }
            }  // choice arg
    
            leaf process {
              type enumeration {
                enum "packet-forwarding-engine" {
                  value 0;
                  description "SPFE process";
                }
                enum
                  "discovery-and-provisioning-daemon" {
                  value 1;
                  description "DPD process";
                }
                enum "chassis-management-daemon" {
                  value 2;
                  description "LCMD process";
                }
                enum "api-management-daemon" {
                  value 3;
                  description "AMD process";
                }
                enum "ppman" {
                  value 4;
                  description "PPMAN process";
                }
                enum "ppman-lite" {
                  value 5;
                  description
                    "PPMAN-lite process";
                }
              }
              mandatory true;
              description
                "Remote fpc shell command";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-satellite-restart
    
        rpc request-chassis-satellite-shell-command {
          description
            "Execute shell command on one or more satellite";
          input {
            choice arg {
              leaf fpc-slot {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "65 .. 254";
                  }
                }
                description
                  "Satellite slot number";
              }
              leaf range {
                type string;
                description
                  "Slot range as <start-end> slot number (e.g. 100-110)";
              }
            }  // choice arg
    
            leaf remote-command {
              type string;
              mandatory true;
              description
                "Remote fpc shell command";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-satellite-shell-command
    
        rpc request-chassis-satellite-file-copy {
          description "File copy";
          input {
            leaf cmd {
              type enumeration {
                enum "local" {
                  value 0;
                  description "Local user";
                }
                enum "remote" {
                  value 1;
                  description "Remote user";
                }
              }
            }
    
            leaf source {
              type string;
              description
                "URL of source file e.g. For SD, use sd100:/..";
            }
    
            leaf destination {
              type string;
              description
                "URL of destination file e.g. For SD, use sd100:/..";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-satellite-file-copy
    
        rpc request-chassis-satellite-login {
          description
            "Connect to satellite device";
          input {
            leaf fpc-slot {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "65 .. 254";
                }
              }
              description
                "Satellite slot number";
            }
    
            leaf interface-name {
              type string;
              description
                "Name of the interface";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-satellite-login
    
        rpc request-chassis-satellite-beacon {
          description "Change beacon status";
          input {
            choice arg {
              leaf fpc-slot {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "65 .. 254";
                  }
                }
                description
                  "Satellite slot number";
              }
              leaf range {
                type string;
                description
                  "Slot range as <start-end> slot number (e.g. 100-110)";
              }
            }  // choice arg
    
            leaf cmd {
              type enumeration {
                enum "off" {
                  value 0;
                  description
                    "Beacon(s) in OFF state";
                }
                enum "on" {
                  value 1;
                  description
                    "Beacon(s) in ON state";
                }
              }
              mandatory true;
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-satellite-beacon
    
        rpc request-chassis-satellite-disable {
          description "Disable satellite";
          input {
            choice arg {
              leaf fpc-slot {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "65 .. 254";
                  }
                }
                description
                  "Satellite slot number";
              }
              leaf device-alias {
                type string;
                description "Device alias";
              }
            }  // choice arg
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-satellite-disable
    
        rpc request-chassis-satellite-enable {
          description "Enable satellite";
          input {
            choice arg {
              leaf fpc-slot {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "65 .. 254";
                  }
                }
                description
                  "Satellite slot number";
              }
              leaf device-alias {
                type string;
                description "Device alias";
              }
            }  // choice arg
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-satellite-enable
    
        rpc request-chassis-satellite-install {
          description
            "Convert satellite device to standalone Junos device";
          input {
            choice arg {
              leaf fpc-slot {
                type union {
                  type string {
                    pattern "<.*>|$.*";
                  }
                  type uint32 {
                    range "65 .. 254";
                  }
                }
                description
                  "Satellite slot number";
              }
              leaf device-alias {
                type string;
                description "Device alias";
              }
            }  // choice arg
    
            leaf package-name {
              type jt:filename;
              description
                "URL or pathname of package";
            }
    
            leaf no-confirm {
              type empty;
              description
                "Do not ask for confirmation";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-chassis-satellite-install
    
        rpc request-protection-group-ethernet-aps {
          description
            "Ethernet APS related operations";
          input {
            leaf maintenance-domain {
              type string {
                length "1 .. 45";
              }
              mandatory true;
              description
                "Name of maintenance domain";
            }
    
            leaf maintenance-association {
              type string {
                length "1 .. 45";
              }
              mandatory true;
              description
                "Name of maintenance association";
            }
    
            leaf eaps-action {
              type enumeration {
                enum "switch-to-working" {
                  value 0;
                  description
                    "Switch data path to use working path";
                }
                enum "switch-to-protect" {
                  value 1;
                  description
                    "Switch data path to use protection path";
                }
                enum "lockout" {
                  value 2;
                  description
                    "Lockout protection";
                }
                enum "force-switch" {
                  value 3;
                  description
                    "Force switch data path to use protection path";
                }
                enum "manual-switch" {
                  value 4;
                  description
                    "Manual switch data path to use protection path";
                }
                enum "exercise" {
                  value 5;
                  description
                    "Excercise APS protocol";
                }
                enum "clear" {
                  value 6;
                  description
                    "Clears active local command";
                }
              }
              mandatory true;
            }
    
            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 multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-protection-group-ethernet-aps
    
        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 monitor-mobile-gateways-call-trace-start {
          description "Trace subscriber events";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml mobile-gateway-sm-af-call-trace-start {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc monitor-mobile-gateways-call-trace-start
    
        rpc get-mobile-gateways-call-trace-start-information {
          description
            "Start subscriber events trace";
          input {
            leaf msisdn {
              type string {
                length "3 .. 15";
              }
              description
                "Trace events for a specific msisdn";
            }
    
            leaf imsi {
              type string {
                length "5 .. 15";
              }
              description
                "Trace events for a specific imsi";
            }
    
            leaf next-call {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 50";
                }
              }
              default "1";
              description
                "Trace the next call events";
            }
    
            leaf fpc-slot {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description "FPC slot number";
            }
    
            leaf pic-slot {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description "PIC slot number";
            }
    
            leaf apn-name {
              type string {
                length "1 .. 100";
              }
              description "Name of APN";
            }
    
            leaf file-name-prefix {
              type string {
                length "4 .. 24";
              }
              description "Name of file prefix";
            }
    
            leaf comment {
              type string {
                length "4 .. 100";
              }
              description
                "Comment to be added in the file";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml mobile-gateways-call-trace-start-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-mobile-gateways-call-trace-start-information
    
        rpc get-mobile-gateways-call-trace-stop-information {
          description
            "Stop subscriber events trace";
          input {
            leaf identifier {
              type string {
                length "1 .. 100";
              }
              description "Name of identifier";
            }
    
            leaf all {
              type empty;
              description "All call traces";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml mobile-gateways-call-trace-stop-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-mobile-gateways-call-trace-stop-information
    
        rpc get-mobile-gateways-call-trace-clear {
          description
            "Clear subscriber events trace";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-mobile-gateways-call-trace-clear
    
        rpc get-mobile-gateways-call-trace-information {
          description
            "Show subscriber events trace";
          input {
            leaf selector {
              type enumeration {
                enum "current" {
                  value 0;
                  description
                    "Display information about current traces";
                }
                enum "completed" {
                  value 1;
                  description
                    "Display information about completed traces";
                }
                enum "all" {
                  value 2;
                  description
                    "Display information about all trace";
                }
              }
              default "all";
            }
    
            leaf verbosity-level {
              type enumeration {
                enum "brief" {
                  value 0;
                  description
                    "Display brief output (default)";
                }
                enum "detail" {
                  value 1;
                  description
                    "Display detailed output";
                }
              }
              default "brief";
              description
                "Select the verbosity level";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml mobile-gateways-call-trace-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-mobile-gateways-call-trace-information
    
        rpc get-mobile-gateways-sgw-call-trace-start-information {
          description
            "Start subscriber events trace";
          input {
            leaf msisdn {
              type string {
                length "3 .. 15";
              }
              description
                "Trace events for a specific msisdn";
            }
    
            leaf imsi {
              type string {
                length "5 .. 15";
              }
              description
                "Trace events for a specific imsi";
            }
    
            leaf next-call {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 50";
                }
              }
              default "1";
              description
                "Trace the next call events";
            }
    
            leaf fpc-slot {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description "FPC slot number";
            }
    
            leaf pic-slot {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              description "PIC slot number";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml mobile-gateways-call-trace-start-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-mobile-gateways-sgw-call-trace-start-information
    
        rpc get-mobile-gateways-sgw-call-trace-stop-information {
          description
            "Stop subscriber events trace";
          input {
            leaf identifier {
              type string {
                length "1 .. 100";
              }
              description "Name of identifier";
            }
    
            leaf all {
              type empty;
              description "All call traces";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml mobile-gateways-call-trace-stop-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-mobile-gateways-sgw-call-trace-stop-information
    
        rpc get-mobile-gateways-sgw-call-trace-clear {
          description
            "Clear subscriber events trace";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-mobile-gateways-sgw-call-trace-clear
    
        rpc get-mobile-gateways-sgw-call-trace-information {
          description
            "Show subscriber events trace";
          input {
            leaf selector {
              type enumeration {
                enum "current" {
                  value 0;
                  description
                    "Display information about current traces";
                }
                enum "completed" {
                  value 1;
                  description
                    "Display information about completed traces";
                }
                enum "all" {
                  value 2;
                  description
                    "Display information about all trace";
                }
              }
              default "all";
            }
    
            leaf verbosity-level {
              type enumeration {
                enum "brief" {
                  value 0;
                  description
                    "Display brief output (default)";
                }
                enum "detail" {
                  value 1;
                  description
                    "Display detailed output";
                }
              }
              default "brief";
              description
                "Select the verbosity level";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml mobile-gateways-call-trace-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-mobile-gateways-sgw-call-trace-information
    
        rpc get-mobile-gateways-tdf-call-trace-start-information {
          description
            "Start subscriber events trace";
          input {
            leaf msisdn {
              type string {
                length "3 .. 15";
              }
              description
                "Trace events for a specific msisdn";
            }
    
            leaf imsi {
              type string {
                length "5 .. 15";
              }
              description
                "Trace events for a specific imsi";
            }
    
            leaf next-call {
              type empty;
              description
                "Trace the next call events on each session PIC";
            }
    
            leaf v4-addr {
              type jt:ipaddr;
              description
                "Trace events for a specific IPV4 subscriber";
            }
    
            leaf v6-addr {
              type jt:ipv6addr;
              description
                "Trace events for a specific IPV6 subscriber";
            }
    
            leaf routing-instance {
              type string;
              description
                "Routing Instance which the subscriber belong to";
            }
    
            leaf user-name {
              type string;
              description "Subscriber User Name";
            }
    
            leaf subscriber-name {
              type string;
              description
                "Non-IP Subscriber Name";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml mobile-gateways-call-trace-start-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-mobile-gateways-tdf-call-trace-start-information
    
        rpc get-mobile-gateways-tdf-call-trace-stop-information {
          description
            "Stop subscriber events trace";
          input {
            leaf identifier {
              type string {
                length "1 .. 100";
              }
              description "Name of identifier";
            }
    
            leaf all {
              type empty;
              description "All call traces";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml mobile-gateways-call-trace-stop-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-mobile-gateways-tdf-call-trace-stop-information
    
        rpc get-mobile-gateways-tdf-call-trace-clear {
          description
            "Clear subscriber events trace";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-mobile-gateways-tdf-call-trace-clear
    
        rpc get-mobile-gateways-tdf-call-trace-information {
          description
            "Show subscriber events trace";
          input {
            leaf selector {
              type enumeration {
                enum "current" {
                  value 0;
                  description
                    "Display information about current traces";
                }
                enum "completed" {
                  value 1;
                  description
                    "Display information about completed traces";
                }
                enum "all" {
                  value 2;
                  description
                    "Display information about all traces";
                }
              }
              default "all";
            }
    
            leaf verbosity-level {
              type enumeration {
                enum "brief" {
                  value 0;
                  description
                    "Display brief output (default)";
                }
                enum "detail" {
                  value 1;
                  description
                    "Display detailed output";
                }
              }
              default "brief";
              description
                "Select the verbosity level";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml mobile-gateways-call-trace-information {
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc get-mobile-gateways-tdf-call-trace-information
    
        rpc request-path-computation-client-main-pce {
          description "Request new active PCE";
          input {
            leaf pce-id {
              type string;
              mandatory true;
              description
                "PCE ID from configuration";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-path-computation-client-main-pce
    
        rpc request-path-computation-retry-delegation {
          description "Request retry delegation";
          input {
            leaf lsp-name {
              type string;
              mandatory true;
              description
                "Name of static label-switched-path";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-path-computation-retry-delegation
    
        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";
            }
    
            leaf channel {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 3";
                }
              }
              description "Channel 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";
            }
    
            leaf channel {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 3";
                }
              }
              description "Channel 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 request-virtual-chassis-vc-port-diag-optics {
          description
            "Virtual chassis port diagnostics optics";
          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;
              description
                "Name of virtual chassis port";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc request-virtual-chassis-vc-port-diag-optics
    
        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 fabric {
              type empty;
              description
                "Set to virtual chassis fabric mode";
            }
    
            leaf mixed {
              type empty;
              description
                "Allow devices from different product families to become members";
            }
    
            leaf disable {
              type empty;
              description
                "Disable specified mode";
            }
    
            leaf reboot {
              type empty;
              description
                "Reboot system after changing mode";
            }
    
            leaf ieee-clause-82 {
              type empty;
              description
                "Allow devices to operate in ieee-clause-82 PCS encoding";
            }
          }
    
          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";
            }
    
            leaf slots-per-chassis {
              type enumeration {
                enum "12" {
                  value 0;
                  description
                    "12 FPC slots per chassis";
                }
                enum "20" {
                  value 1;
                  description
                    "20 FPC slots per chassis";
                }
              }
              description
                "Virtual-Chassis FPC slots per chassis 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
    
        rpc switch-vc-routing-engine-protocol-master {
          description
            "Toggle mastership between VC members";
          input {
            leaf check {
              type empty;
              description
                "Check status of graceful switchover";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc switch-vc-routing-engine-protocol-master
    
        rpc upgrade-vc-cancel {
          description
            "Terminate sequential upgrade, rollback software image on protocol-backup";
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc upgrade-vc-cancel
    
        rpc upgrade-vc-protocol-backup {
          description
            "Upgrade protocol-backup member chassis";
          input {
            leaf halt-re {
              type empty;
              description
                "Halt routing-engines instead of restarting; manual restart required";
            }
    
            leaf package-name {
              type jt:filename;
              mandatory true;
              description
                "URL or pathname of package";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc upgrade-vc-protocol-backup
    
        rpc upgrade-vc-protocol-master {
          description
            "Upgrade protocol-master member chassis";
          input {
            leaf halt-re {
              type empty;
              description
                "Halt routing-engines instead of restarting; manual restart required";
            }
    
            leaf package-name {
              type jt:filename;
              mandatory true;
              description
                "URL or pathname of package";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml multi-routing-engine-results {
              }
            }  // choice output_c
          }
        }  // rpc upgrade-vc-protocol-master
      }  // module junos-rpc-request
    

© 2023 YumaWorks, Inc. All rights reserved.