/*
 * Copyright (c) 2017 Juniper Networks, Inc.
 * All rights reserved.
 */

 module show-fabric {
  namespace "http://yang.juniper.net/yang/1.1/jrpc";
  prefix jrpc;

  import junos-extension {
    prefix junos;
  }

  organization
    "Juniper Networks, Inc.";

  description
    "Junos YANG module for RPC";

   typedef daemon {
     type string;
   }
   typedef filename {
     type string;
   }
   typedef client-filename {
     type string;
   }
   typedef hostname {
     type string;
   }
   typedef ipaddr {
     type string;
   }
   typedef sysid {
     type string;
   }
   typedef interface-device {
     type string;
   }
   typedef ddl-bits {
     type string;
   }
   typedef isoaddr {
     type string;
   }
   typedef ipprefix {
     type string;
   }
   typedef ipprefix-mandatory {
     type string;
   }
   typedef interface-unit {
     type string;
   }
   typedef ipaddr-or-interface {
     type string;
   }
   typedef areaid {
     type string;
   }
   typedef interface-name {
     type string;
   }
   typedef community {
     type string;
   }
   typedef interface-wildcard {
     type string;
   }
   typedef unreadable {
     type string;
   }
   typedef ipprefix-optional {
     type string;
   }
   typedef policy-algebra {
     type string;
   }
   typedef regular-expression {
     type string;
   }
   typedef group-glob {
     type string;
   }
   typedef atm-vci {
     type string;
   }
   typedef ipprefix-only {
     type string;
   }
   typedef ipv4addr {
     type string;
   }
   typedef ipv4prefix {
     type string;
   }
   typedef ipv4prefix-mandatory {
     type string;
   }
   typedef ipv4addr-or-interface {
     type string;
   }
   typedef ipv4prefix-optional {
     type string;
   }
   typedef ipv4prefix-only {
     type string;
   }
   typedef ipv6addr {
     type string;
   }
   typedef ipv6prefix {
     type string;
   }
   typedef ipv6prefix-mandatory {
     type string;
   }
   typedef ipv6addr-or-interface {
     type string;
   }
   typedef ipv6prefix-optional {
     type string;
   }
   typedef ipv6prefix-only {
     type string;
   }
   typedef interface-device-wildcard {
     type string;
   }
   typedef time {
     type string;
   }
   typedef mac-addr {
     type string;
   }
   typedef mac-addr-prefix {
     type string;
   }
   typedef mac-unicaset {
     type string;
   }
   typedef mac-unicast-prefix {
     type string;
   }
   typedef mac-multicast {
     type string;
   }
   typedef mac-multicast-prefix {
     type string;
   }
   typedef mpls-label {
     type string;
   }
   typedef unsigned-float {
     type string;
   }
   typedef isoprefix {
     type string;
   }
   typedef isosysid {
     type string;
   }
   typedef string-huge {
     type string;
   }
   typedef variable {
     type string;
   }
   typedef glob-variable {
     type string;
   }
   typedef vlan-range {
     type string;
   }
   typedef interface-range-wild {
     type string;
   }
   typedef fc-addr {
     type string;
   }
   typedef wwn {
     type string;
   }
   typedef logfilename {
     type string;
   }
   typedef range {
     type string;
   }
   typedef esi {
     type string;
   }

   rpc get-fabric-administration-inventory {
     description "Show the administrative inventory";
     input {
       leaf summary {
         description "Show inventory summary";
         type empty;
       }
       leaf verbosity_level {
         default "brief";
         type enumeration {
           enum "terse" {
             description "Display terse output";
           }
           enum "brief" {
             description "Display brief output (default)";
           }
           enum "detail" {
             description "Display detailed output";
           }
         }
       }
     }
     output {
       container sfc-inventory {
         container brief {
           container fabric-managers {
             leaf name {
               type string;
             }
             container fabric-manager {
               leaf fabric-manager-name {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
             }
           }
           container diagnostic-routing-engines {
             leaf name {
               type string;
             }
             container diagnostic-routing-engine {
               leaf diagnostic-routing-engine-name {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
             }
           }
           container director-groups {
             leaf name {
               type string;
             }
             container director-device {
               leaf director-device-name {
                 type string;
               }
               leaf director-device-id {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               container routing-engine {
                 leaf routing-engine-type {
                   type string;
                 }
                 leaf host-name {
                   type string;
                 }
                 leaf pid {
                   type string;
                 }
                 leaf cpu-use-percent {
                   type string;
                 }
               }
             }
           }
           container node-devices {
             leaf name {
               type string;
             }
             container node-device {
               leaf node-device-name {
                 type string;
               }
               leaf node-device-id {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf empty-field {
                 type string;
               }
             }
           }
           container node-groups {
             leaf name {
               type string;
             }
             container node-group {
               leaf node-group-name {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf node-group-id {
                 type string;
               }
               container commit-messages {
               }
               container node-group-node-devices {
                 container node-group-node-device {
                   leaf node-device-name {
                     type string;
                   }
                   leaf node-device-id {
                     type string;
                   }
                   leaf connected {
                     type empty;
                   }
                   leaf disconnected {
                     type empty;
                   }
                   leaf configuration {
                     type string;
                   }
                 }
               }
             }
           }
           container fabric-controls {
             leaf name {
               type string;
             }
             container fabric-control {
               leaf fabric-control-name {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
             }
           }
           container interconnect-devices {
             leaf name {
               type string;
             }
             container interconnect-device {
               leaf interconnect-device-name {
                 type string;
               }
               leaf interconnect-device-id {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               container fabric-chassis-ccpcs {
                 container fabric-chassis-ccpc {
                   leaf ccpc-name {
                     type string;
                   }
                   leaf ccpc-member-id {
                     type string;
                   }
                 }
               }
             }
           }
         }
         container detail {
           container fabric-managers {
             container fabric-manager {
               leaf fabric-manager-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
             }
           }
           container diagnostic-routing-engines {
             container diagnostic-routing-engine {
               leaf diagnostic-routing-engine-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
             }
           }
           container director-groups {
             container director-device {
               leaf director-device-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf director-device-id {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               container routing-engine {
                 leaf routing-engine-type {
                   type string;
                 }
                 leaf host-name {
                   type string;
                 }
                 leaf pid {
                   type string;
                 }
                 leaf cpu-use-percent {
                   type string;
                 }
               }
             }
           }
           container node-devices {
             container node-device {
               leaf node-device-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf node-device-id {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
               leaf node-device-group-name {
                 type string;
               }
               leaf node-device-member-id {
                 type int32;
               }
               leaf is-master {
                 type empty;
               }
               leaf flexi-port-capable {
                 type empty;
               }
               leaf empty-field {
                 type string;
               }
             }
           }
           container node-groups {
             container node-group {
               leaf node-group-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
               leaf network-domain {
                 type empty;
               }
               leaf node-group-id {
                 type string;
               }
               container commit-messages {
                 container commit-message {
                   leaf edit-path {
                     type string;
                   }
                   leaf statement {
                     type string;
                   }
                   leaf message {
                     type string;
                   }
                 }
               }
               container node-group-node-devices {
                 container node-group-node-device {
                   leaf node-device-name {
                     type string;
                   }
                   leaf connected {
                     type empty;
                   }
                   leaf disconnected {
                     type empty;
                   }
                   leaf configuration {
                     type string;
                   }
                   leaf node-device-member-id {
                     type int32;
                   }
                   leaf is-master {
                     type empty;
                   }
                   leaf flexi-port-capable {
                     type empty;
                   }
                 }
               }
             }
           }
           container fabric-controls {
             container fabric-control {
               leaf fabric-control-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
             }
           }
           container interconnect-devices {
             container interconnect-device {
               leaf interconnect-device-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf interconnect-device-id {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               container fabric-chassis-ccpcs {
                 container fabric-chassis-ccpc {
                   leaf ccpc-name {
                     type string;
                   }
                   leaf is-master {
                     type empty;
                   }
                   leaf ccpc-member-id {
                     type string;
                   }
                 }
               }
             }
           }
         }
         container summary {
           container fabric-managers {
           }
           container diagnostic-routing-engines {
           }
           container director-groups {
             container director-device {
               leaf director-device-name {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               container routing-engine {
                 leaf routing-engine-type {
                   type string;
                 }
                 leaf host-name {
                   type string;
                 }
                 leaf pid {
                   type string;
                 }
                 leaf cpu-use-percent {
                   type string;
                 }
               }
             }
           }
           container node-devices {
             container node-device {
               leaf empty-field {
                 type string;
               }
             }
           }
           container node-groups {
             container node-group {
               leaf node-group-id {
                 type string;
               }
               container commit-messages {
               }
               container node-group-node-devices {
               }
             }
           }
           container fabric-controls {
           }
           container interconnect-devices {
             container interconnect-device {
               leaf empty-field {
                 type string;
               }
               container fabric-chassis-ccpcs {
                 container fabric-chassis-ccpc {
                   leaf ccpc-member-id {
                     type string;
                   }
                 }
               }
             }
           }
           container sfc-inventory-summary {
             leaf total-node-devices {
               type int32;
             }
             leaf total-connected-node-devices {
               type int32;
             }
             leaf total-disconnected-node-devices {
               type int32;
             }
             leaf total-ccpcs {
               type int32;
             }
           }
         }
       }
     }
   }
   rpc get-vm-process-stats {
     description "Display infrastructure information";
     input {
       leaf verbosity_level {
         default "brief";
         type enumeration {
           enum "brief" {
             description "Display brief output (default)";
           }
           enum "detail" {
             description "Display detailed output";
           }
         }
       }
     }
   }
   rpc fabric-administration-inventory-fabric-controls {
     description "Display Fabric controls";
     input {
       leaf fabric-control {
         description "Show information for the specified Fabric control";
         type string;
       }
       leaf verbosity_level {
         default "brief";
         type enumeration {
           enum "brief" {
             description "Display brief output (default)";
           }
           enum "detail" {
             description "Display detailed output";
           }
         }
       }
     }
   }
   rpc fabric-administration-inventory-fabric-managers {
     description "Display Fabric managers";
     input {
       leaf fabric-manager {
         description "Show information for the specified Fabric manager";
         type string;
       }
       leaf verbosity_level {
         default "brief";
         type enumeration {
           enum "brief" {
             description "Display brief output (default)";
           }
           enum "detail" {
             description "Display detailed output";
           }
         }
       }
     }
   }
   rpc fabric-administration-inventory-diagnostic-routing-engines {
     description "Display Diagnostic routing engines";
     input {
       leaf diagnostic-routing-engine {
         description "Show information for the specified Diagnostic routing engine";
         type string;
       }
       leaf verbosity_level {
         default "brief";
         type enumeration {
           enum "brief" {
             description "Display brief output (default)";
           }
           enum "detail" {
             description "Display detailed output";
           }
         }
       }
     }
   }
   rpc get-director-group-status {
     description "Show the current configuration and clustering states of each Control cluster device";
     input {
       leaf target {
         description "Send command to a single device or the entire Control cluster";
         type string;
       }
       leaf detail {
         description "Level of detail to show";
         default "all";
         type enumeration {
           enum "all" {
             description "Display all status";
           }
         }
       }
     }
     output {
       container director-group-status {
         container cluster-details {
           leaf time {
             type string;
           }
           container member-summary {
             leaf name {
               type string;
             }
             leaf status {
               type string;
             }
             leaf role {
               type string;
             }
             leaf mgmt-address {
               type string;
             }
             leaf cpu {
               type string;
             }
             leaf free-memory {
               type string;
             }
             leaf vms {
               type string;
             }
             leaf up-time {
               type string;
             }
             leaf alias {
               type string;
             }
           }
         }
         container member-summary-error {
           leaf error {
             type string;
           }
         }
         container member-details {
           leaf name {
             type string;
           }
           leaf alias {
             type string;
           }
           leaf status {
             type string;
           }
           leaf role {
             type string;
           }
           container master-services-status {
             container entry {
             }
           }
           container cluster-managed-services-status {
             container entry {
               leaf name {
                 type string;
               }
               leaf status {
                 type string;
               }
               leaf role {
                 type string;
               }
             }
           }
           container hard-disk-status {
             container partition-entry {
               leaf partition-name {
                 type string;
               }
               leaf partition-status {
                 type string;
               }
             }
           }
           container hard-disk-usage-status {
             container hard-disk-usage-entry {
               leaf total-space {
                 type string;
               }
               leaf used-space {
                 type string;
               }
               leaf free-space {
                 type string;
               }
               leaf used-percent {
                 type string;
               }
               leaf mounted-on {
                 type string;
               }
             }
           }
           container director-group-processes-status {
             container entry {
               leaf name {
                 type string;
               }
               leaf status {
                 type string;
               }
               leaf role {
                 type string;
               }
             }
           }
           container interface-link-status {
             container entry {
               leaf name {
                 type string;
               }
               leaf status {
                 type string;
               }
               leaf role {
                 type string;
               }
             }
           }
           container hard-disk-status-error {
             leaf error {
               type string;
             }
           }
           container hard-disk-usage-status-error {
             leaf error {
               type string;
             }
           }
         }
       }
     }
   }
   rpc fabric-administration-inventory-node-device {
     description "Display Node devices";
     input {
       leaf node-device {
         description "Show information for the specified Node device";
         type string;
       }
       leaf verbosity_level {
         default "brief";
         type enumeration {
           enum "brief" {
             description "Display brief output (default)";
           }
           enum "detail" {
             description "Display detailed output";
           }
         }
       }
     }
   }
   rpc fabric-administration-inventory-device-group {
     description "Display Node groups";
     input {
       leaf node-group {
         description "Show information for the specified Node group";
         type string;
       }
       leaf verbosity_level {
         default "brief";
         type enumeration {
           enum "terse" {
             description "Display terse output";
           }
           enum "brief" {
             description "Display brief output (default)";
           }
           enum "detail" {
             description "Display detailed output";
           }
         }
       }
     }
   }
   rpc fabric-administration-interconnect-device {
     description "Display Interconnect devices";
     input {
       leaf interconnect-device {
         description "Show information for the specified Interconnect device";
         type string;
       }
       leaf verbosity_level {
         default "brief";
         type enumeration {
           enum "brief" {
             description "Display brief output (default)";
           }
           enum "detail" {
             description "Display detailed output";
           }
         }
       }
     }
   }
   rpc get-dcf-mac-pool {
     description "Show current MAC address pool details";
     output {
       container mac-pool-information {
         container mac-block {
           leaf mac-base {
             type string;
           }
           leaf mac-count {
             type string;
           }
           leaf mac-free {
             type string;
           }
         }
       }
     }
   }
   rpc get-fabric-inventory {
     description "Show the inventory";
     input {
       leaf verbosity_level {
         default "brief";
         type enumeration {
           enum "terse" {
             description "Display terse output";
           }
           enum "brief" {
             description "Display brief output (default)";
           }
           enum "detail" {
             description "Display detailed output";
           }
         }
       }
     }
     output {
       container sfc-inventory {
         container brief {
           container fabric-managers {
             leaf name {
               type string;
             }
             container fabric-manager {
               leaf fabric-manager-name {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
             }
           }
           container diagnostic-routing-engines {
             leaf name {
               type string;
             }
             container diagnostic-routing-engine {
               leaf diagnostic-routing-engine-name {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
             }
           }
           container director-groups {
             leaf name {
               type string;
             }
             container director-device {
               leaf director-device-name {
                 type string;
               }
               leaf director-device-id {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               container routing-engine {
                 leaf routing-engine-type {
                   type string;
                 }
                 leaf host-name {
                   type string;
                 }
                 leaf pid {
                   type string;
                 }
                 leaf cpu-use-percent {
                   type string;
                 }
               }
             }
           }
           container node-devices {
             leaf name {
               type string;
             }
             container node-device {
               leaf node-device-name {
                 type string;
               }
               leaf node-device-id {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf empty-field {
                 type string;
               }
             }
           }
           container node-groups {
             leaf name {
               type string;
             }
             container node-group {
               leaf node-group-name {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf node-group-id {
                 type string;
               }
               container commit-messages {
               }
               container node-group-node-devices {
                 container node-group-node-device {
                   leaf node-device-name {
                     type string;
                   }
                   leaf node-device-id {
                     type string;
                   }
                   leaf connected {
                     type empty;
                   }
                   leaf disconnected {
                     type empty;
                   }
                   leaf configuration {
                     type string;
                   }
                 }
               }
             }
           }
           container fabric-controls {
             leaf name {
               type string;
             }
             container fabric-control {
               leaf fabric-control-name {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
             }
           }
           container interconnect-devices {
             leaf name {
               type string;
             }
             container interconnect-device {
               leaf interconnect-device-name {
                 type string;
               }
               leaf interconnect-device-id {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               container fabric-chassis-ccpcs {
                 container fabric-chassis-ccpc {
                   leaf ccpc-name {
                     type string;
                   }
                   leaf ccpc-member-id {
                     type string;
                   }
                 }
               }
             }
           }
         }
         container detail {
           container fabric-managers {
             container fabric-manager {
               leaf fabric-manager-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
             }
           }
           container diagnostic-routing-engines {
             container diagnostic-routing-engine {
               leaf diagnostic-routing-engine-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
             }
           }
           container director-groups {
             container director-device {
               leaf director-device-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf director-device-id {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               container routing-engine {
                 leaf routing-engine-type {
                   type string;
                 }
                 leaf host-name {
                   type string;
                 }
                 leaf pid {
                   type string;
                 }
                 leaf cpu-use-percent {
                   type string;
                 }
               }
             }
           }
           container node-devices {
             container node-device {
               leaf node-device-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf node-device-id {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
               leaf node-device-group-name {
                 type string;
               }
               leaf node-device-member-id {
                 type int32;
               }
               leaf is-master {
                 type empty;
               }
               leaf flexi-port-capable {
                 type empty;
               }
               leaf empty-field {
                 type string;
               }
             }
           }
           container node-groups {
             container node-group {
               leaf node-group-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
               leaf network-domain {
                 type empty;
               }
               leaf node-group-id {
                 type string;
               }
               container commit-messages {
                 container commit-message {
                   leaf edit-path {
                     type string;
                   }
                   leaf statement {
                     type string;
                   }
                   leaf message {
                     type string;
                   }
                 }
               }
               container node-group-node-devices {
                 container node-group-node-device {
                   leaf node-device-name {
                     type string;
                   }
                   leaf connected {
                     type empty;
                   }
                   leaf disconnected {
                     type empty;
                   }
                   leaf configuration {
                     type string;
                   }
                   leaf node-device-member-id {
                     type int32;
                   }
                   leaf is-master {
                     type empty;
                   }
                   leaf flexi-port-capable {
                     type empty;
                   }
                 }
               }
             }
           }
           container fabric-controls {
             container fabric-control {
               leaf fabric-control-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
             }
           }
           container interconnect-devices {
             container interconnect-device {
               leaf interconnect-device-name {
                 type string;
               }
               leaf connected {
                 type empty;
               }
               leaf disconnected {
                 type empty;
               }
               leaf configuration {
                 type string;
               }
               leaf interconnect-device-id {
                 type string;
               }
               leaf connection-time {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               container fabric-chassis-ccpcs {
                 container fabric-chassis-ccpc {
                   leaf ccpc-name {
                     type string;
                   }
                   leaf is-master {
                     type empty;
                   }
                   leaf ccpc-member-id {
                     type string;
                   }
                 }
               }
             }
           }
         }
         container summary {
           container fabric-managers {
           }
           container diagnostic-routing-engines {
           }
           container director-groups {
             container director-device {
               leaf director-device-name {
                 type string;
               }
               leaf empty-field {
                 type string;
               }
               container routing-engine {
                 leaf routing-engine-type {
                   type string;
                 }
                 leaf host-name {
                   type string;
                 }
                 leaf pid {
                   type string;
                 }
                 leaf cpu-use-percent {
                   type string;
                 }
               }
             }
           }
           container node-devices {
             container node-device {
               leaf empty-field {
                 type string;
               }
             }
           }
           container node-groups {
             container node-group {
               leaf node-group-id {
                 type string;
               }
               container commit-messages {
               }
               container node-group-node-devices {
               }
             }
           }
           container fabric-controls {
           }
           container interconnect-devices {
             container interconnect-device {
               leaf empty-field {
                 type string;
               }
               container fabric-chassis-ccpcs {
                 container fabric-chassis-ccpc {
                   leaf ccpc-member-id {
                     type string;
                   }
                 }
               }
             }
           }
           container sfc-inventory-summary {
             leaf total-node-devices {
               type int32;
             }
             leaf total-connected-node-devices {
               type int32;
             }
             leaf total-disconnected-node-devices {
               type int32;
             }
             leaf total-ccpcs {
               type int32;
             }
           }
         }
       }
     }
   }
   rpc fabric-inventory-node-device {
     description "Display Node devices";
     input {
       leaf node-device {
         description "Show information for the specified Node device";
         type string;
       }
       leaf verbosity_level {
         default "brief";
         type enumeration {
           enum "brief" {
             description "Display brief output (default)";
           }
           enum "detail" {
             description "Display detailed output";
           }
         }
       }
     }
   }
   rpc fabric-inventory-device-group {
     description "Display Node groups";
     input {
       leaf node-group {
         description "Show information for the specified Node group";
         type string;
       }
       leaf verbosity_level {
         default "brief";
         type enumeration {
           enum "terse" {
             description "Display terse output";
           }
           enum "brief" {
             description "Display brief output (default)";
           }
           enum "detail" {
             description "Display detailed output";
           }
         }
       }
     }
   }
   rpc fabric-inventory-fabric-controls {
     description "Display Fabric controls";
     input {
       leaf fabric-control {
         description "Show information for the specified Fabric control";
         type string;
       }
       leaf verbosity_level {
         default "brief";
         type enumeration {
           enum "brief" {
             description "Display brief output (default)";
           }
           enum "detail" {
             description "Display detailed output";
           }
         }
       }
     }
   }
 }
