O-RAN-DU YANG tree

module: ietf-alarms
  +--rw alarms
     +--rw control
     |  +--rw max-alarm-status-changes?   union
     |  +--rw notify-status-changes?      enumeration
     |  +--rw notify-severity-level?      severity
     |  +--rw alarm-shelving {alarm-shelving}?
     |     +--rw shelf* [name]
     |        +--rw name           string
     |        +--rw resource*      resource-match
     |        +--rw alarm-type* [alarm-type-id alarm-type-qualifier-match]
     |        |  +--rw alarm-type-id                 alarm-type-id
     |        |  +--rw alarm-type-qualifier-match    string
     |        +--rw description?   string
     +--ro alarm-inventory
     |  +--ro alarm-type* [alarm-type-id alarm-type-qualifier]
     |     +--ro alarm-type-id           alarm-type-id
     |     +--ro alarm-type-qualifier    alarm-type-qualifier
     |     +--ro resource*               resource-match
     |     +--ro will-clear              boolean
     |     +--ro severity-level*         severity
     |     +--ro description             string
     +--ro summary {alarm-summary}?
     |  +--ro alarm-summary* [severity]
     |  |  +--ro severity                  severity
     |  |  +--ro total?                    yang:gauge32
     |  |  +--ro not-cleared?              yang:gauge32
     |  |  +--ro cleared?                  yang:gauge32
     |  |  +--ro cleared-not-closed?       yang:gauge32 {operator-actions}?
     |  |  +--ro cleared-closed?           yang:gauge32 {operator-actions}?
     |  |  +--ro not-cleared-closed?       yang:gauge32 {operator-actions}?
     |  |  +--ro not-cleared-not-closed?   yang:gauge32 {operator-actions}?
     |  +--ro shelves-active?   empty {alarm-shelving}?
     +--ro alarm-list
     |  +--ro number-of-alarms?   yang:gauge32
     |  +--ro last-changed?       yang:date-and-time
     |  +--ro alarm* [resource alarm-type-id alarm-type-qualifier]
     |  |  +--ro resource                 resource
     |  |  +--ro alarm-type-id            alarm-type-id
     |  |  +--ro alarm-type-qualifier     alarm-type-qualifier
     |  |  +--ro alt-resource*            resource
     |  |  +--ro related-alarm* [resource alarm-type-id alarm-type-qualifier] {alarm-correlation}?
     |  |  |  +--ro resource                -> /alarms/alarm-list/alarm/resource
     |  |  |  +--ro alarm-type-id           -> /alarms/alarm-list/alarm[resource=current()/../resource]/alarm-type-id
     |  |  |  +--ro alarm-type-qualifier    -> /alarms/alarm-list/alarm[resource=current()/../resource][alarm-type-id=current()/../alarm-type-id]/alarm-type-qualifier
     |  |  +--ro impacted-resource*       resource {service-impact-analysis}?
     |  |  +--ro root-cause-resource*     resource {root-cause-analysis}?
     |  |  +--ro time-created             yang:date-and-time
     |  |  +--ro is-cleared               boolean
     |  |  +--ro last-raised              yang:date-and-time
     |  |  +--ro last-changed             yang:date-and-time
     |  |  +--ro perceived-severity       severity
     |  |  +--ro alarm-text               alarm-text
     |  |  +--ro status-change* [time] {alarm-history}?
     |  |  |  +--ro time                  yang:date-and-time
     |  |  |  +--ro perceived-severity    severity-with-clear
     |  |  |  +--ro alarm-text            alarm-text
     |  |  +--ro operator-state-change* [time] {operator-actions}?
     |  |  |  +--ro time        yang:date-and-time
     |  |  |  +--ro operator    string
     |  |  |  +--ro state       operator-state
     |  |  |  +--ro text?       string
     |  |  +---x set-operator-state {operator-actions}?
     |  |  |  +---w input
     |  |  |     +---w state    writable-operator-state
     |  |  |     +---w text?    string
     |  |  +---n operator-action {operator-actions}?
     |  |     +-- time        yang:date-and-time
     |  |     +-- operator    string
     |  |     +-- state       operator-state
     |  |     +-- text?       string
     |  +---x purge-alarms
     |  |  +---w input
     |  |  |  +---w alarm-clearance-status    enumeration
     |  |  |  +---w older-than!
     |  |  |  |  +---w (age-spec)?
     |  |  |  |     +--:(seconds)
     |  |  |  |     |  +---w seconds?   uint16
     |  |  |  |     +--:(minutes)
     |  |  |  |     |  +---w minutes?   uint16
     |  |  |  |     +--:(hours)
     |  |  |  |     |  +---w hours?     uint16
     |  |  |  |     +--:(days)
     |  |  |  |     |  +---w days?      uint16
     |  |  |  |     +--:(weeks)
     |  |  |  |        +---w weeks?     uint16
     |  |  |  +---w severity!
     |  |  |  |  +---w (sev-spec)?
     |  |  |  |     +--:(below)
     |  |  |  |     |  +---w below?   severity
     |  |  |  |     +--:(is)
     |  |  |  |     |  +---w is?      severity
     |  |  |  |     +--:(above)
     |  |  |  |        +---w above?   severity
     |  |  |  +---w operator-state-filter! {operator-actions}?
     |  |  |     +---w state?   operator-state
     |  |  |     +---w user?    string
     |  |  +--ro output
     |  |     +--ro purged-alarms?   uint32
     |  +---x compress-alarms {alarm-history}?
     |     +---w input
     |     |  +---w resource?               resource-match
     |     |  +---w alarm-type-id?          -> /alarms/alarm-list/alarm/alarm-type-id
     |     |  +---w alarm-type-qualifier?   -> /alarms/alarm-list/alarm/alarm-type-qualifier
     |     +--ro output
     |        +--ro compressed-alarms?   uint32
     +--ro shelved-alarms {alarm-shelving}?
     |  +--ro number-of-shelved-alarms?      yang:gauge32
     |  +--ro shelved-alarms-last-changed?   yang:date-and-time
     |  +--ro shelved-alarm* [resource alarm-type-id alarm-type-qualifier]
     |  |  +--ro resource                 resource
     |  |  +--ro alarm-type-id            alarm-type-id
     |  |  +--ro alarm-type-qualifier     alarm-type-qualifier
     |  |  +--ro alt-resource*            resource
     |  |  +--ro related-alarm* [resource alarm-type-id alarm-type-qualifier] {alarm-correlation}?
     |  |  |  +--ro resource                -> /alarms/alarm-list/alarm/resource
     |  |  |  +--ro alarm-type-id           -> /alarms/alarm-list/alarm[resource=current()/../resource]/alarm-type-id
     |  |  |  +--ro alarm-type-qualifier    -> /alarms/alarm-list/alarm[resource=current()/../resource][alarm-type-id=current()/../alarm-type-id]/alarm-type-qualifier
     |  |  +--ro impacted-resource*       resource {service-impact-analysis}?
     |  |  +--ro root-cause-resource*     resource {root-cause-analysis}?
     |  |  +--ro shelf-name?              -> /alarms/control/alarm-shelving/shelf/name
     |  |  +--ro is-cleared               boolean
     |  |  +--ro last-raised              yang:date-and-time
     |  |  +--ro last-changed             yang:date-and-time
     |  |  +--ro perceived-severity       severity
     |  |  +--ro alarm-text               alarm-text
     |  |  +--ro status-change* [time] {alarm-history}?
     |  |  |  +--ro time                  yang:date-and-time
     |  |  |  +--ro perceived-severity    severity-with-clear
     |  |  |  +--ro alarm-text            alarm-text
     |  |  +--ro operator-state-change* [time] {operator-actions}?
     |  |     +--ro time        yang:date-and-time
     |  |     +--ro operator    string
     |  |     +--ro state       operator-state
     |  |     +--ro text?       string
     |  +---x purge-shelved-alarms
     |  |  +---w input
     |  |  |  +---w alarm-clearance-status    enumeration
     |  |  |  +---w older-than!
     |  |  |  |  +---w (age-spec)?
     |  |  |  |     +--:(seconds)
     |  |  |  |     |  +---w seconds?   uint16
     |  |  |  |     +--:(minutes)
     |  |  |  |     |  +---w minutes?   uint16
     |  |  |  |     +--:(hours)
     |  |  |  |     |  +---w hours?     uint16
     |  |  |  |     +--:(days)
     |  |  |  |     |  +---w days?      uint16
     |  |  |  |     +--:(weeks)
     |  |  |  |        +---w weeks?     uint16
     |  |  |  +---w severity!
     |  |  |  |  +---w (sev-spec)?
     |  |  |  |     +--:(below)
     |  |  |  |     |  +---w below?   severity
     |  |  |  |     +--:(is)
     |  |  |  |     |  +---w is?      severity
     |  |  |  |     +--:(above)
     |  |  |  |        +---w above?   severity
     |  |  |  +---w operator-state-filter! {operator-actions}?
     |  |  |     +---w state?   operator-state
     |  |  |     +---w user?    string
     |  |  +--ro output
     |  |     +--ro purged-alarms?   uint32
     |  +---x compress-shelved-alarms {alarm-history}?
     |     +---w input
     |     |  +---w resource?               -> /alarms/shelved-alarms/shelved-alarm/resource
     |     |  +---w alarm-type-id?          -> /alarms/shelved-alarms/shelved-alarm/alarm-type-id
     |     |  +---w alarm-type-qualifier?   -> /alarms/shelved-alarms/shelved-alarm/alarm-type-qualifier
     |     +--ro output
     |        +--ro compressed-alarms?   uint32
     +--rw alarm-profile* [alarm-type-id alarm-type-qualifier-match resource] {alarm-profile}?
        +--rw alarm-type-id                        alarm-type-id
        +--rw alarm-type-qualifier-match           string
        +--rw resource                             resource-match
        +--rw description                          string
        +--rw alarm-severity-assignment-profile {severity-assignment}?
           +--rw severity-level*   severity

  notifications:
    +---n alarm-notification
    |  +--ro resource                resource
    |  +--ro alarm-type-id           alarm-type-id
    |  +--ro alarm-type-qualifier?   alarm-type-qualifier
    |  +--ro alt-resource*           resource
    |  +--ro related-alarm* [resource alarm-type-id alarm-type-qualifier] {alarm-correlation}?
    |  |  +--ro resource                -> /alarms/alarm-list/alarm/resource
    |  |  +--ro alarm-type-id           -> /alarms/alarm-list/alarm[resource=current()/../resource]/alarm-type-id
    |  |  +--ro alarm-type-qualifier    -> /alarms/alarm-list/alarm[resource=current()/../resource][alarm-type-id=current()/../alarm-type-id]/alarm-type-qualifier
    |  +--ro impacted-resource*      resource {service-impact-analysis}?
    |  +--ro root-cause-resource*    resource {root-cause-analysis}?
    |  +--ro time                    yang:date-and-time
    |  +--ro perceived-severity      severity-with-clear
    |  +--ro alarm-text              alarm-text
    +---n alarm-inventory-changed
module: ietf-hardware
  +--rw hardware
     +--ro last-change?   yang:date-and-time
     +--rw component* [name]
        +--rw name              string
        +--rw class             identityref
        +--ro physical-index?   int32 {entity-mib}?
        +--ro description?      string
        +--rw parent?           -> ../../component/name
        +--rw parent-rel-pos?   int32
        +--ro contains-child*   -> ../../component/name
        +--ro hardware-rev?     string
        +--ro firmware-rev?     string
        +--ro software-rev?     string
        +--ro serial-num?       string
        +--ro mfg-name?         string
        +--ro model-name?       string
        +--rw alias?            string
        +--rw asset-id?         string
        +--ro is-fru?           boolean
        +--ro mfg-date?         yang:date-and-time
        +--rw uri*              inet:uri
        +--ro uuid?             yang:uuid
        +--rw state {hardware-state}?
        |  +--ro state-last-changed?   yang:date-and-time
        |  +--rw admin-state?          admin-state
        |  +--ro oper-state?           oper-state
        |  +--ro usage-state?          usage-state
        |  +--ro alarm-state?          alarm-state
        |  +--ro standby-state?        standby-state
        +--ro sensor-data {hardware-sensor}?
           +--ro value?               sensor-value
           +--ro value-type?          sensor-value-type
           +--ro value-scale?         sensor-value-scale
           +--ro value-precision?     sensor-value-precision
           +--ro oper-status?         sensor-status
           +--ro units-display?       string
           +--ro value-timestamp?     yang:date-and-time
           +--ro value-update-rate?   uint32

  notifications:
    +---n hardware-state-change
    +---n hardware-state-oper-enabled {hardware-state}?
    |  +--ro name?          -> /hardware/component/name
    |  +--ro admin-state?   -> /hardware/component/state/admin-state
    |  +--ro alarm-state?   -> /hardware/component/state/alarm-state
    +---n hardware-state-oper-disabled {hardware-state}?
       +--ro name?          -> /hardware/component/name
       +--ro admin-state?   -> /hardware/component/state/admin-state
       +--ro alarm-state?   -> /hardware/component/state/alarm-state
module: ietf-interfaces
  +--rw interfaces
  |  +--rw interface* [name]
  |     +--rw name                        string
  |     +--rw description?                string
  |     +--rw type                        identityref
  |     +--rw enabled?                    boolean
  |     +--rw link-up-down-trap-enable?   enumeration {if-mib}?
  |     +--ro admin-status                enumeration {if-mib}?
  |     +--ro oper-status                 enumeration
  |     +--ro last-change?                yang:date-and-time
  |     +--ro if-index                    int32 {if-mib}?
  |     +--ro phys-address?               yang:phys-address
  |     +--ro higher-layer-if*            interface-ref
  |     +--ro lower-layer-if*             interface-ref
  |     +--ro speed?                      yang:gauge64
  |     +--ro statistics
  |        +--ro discontinuity-time    yang:date-and-time
  |        +--ro in-octets?            yang:counter64
  |        +--ro in-unicast-pkts?      yang:counter64
  |        +--ro in-broadcast-pkts?    yang:counter64
  |        +--ro in-multicast-pkts?    yang:counter64
  |        +--ro in-discards?          yang:counter32
  |        +--ro in-errors?            yang:counter32
  |        +--ro in-unknown-protos?    yang:counter32
  |        +--ro out-octets?           yang:counter64
  |        +--ro out-unicast-pkts?     yang:counter64
  |        +--ro out-broadcast-pkts?   yang:counter64
  |        +--ro out-multicast-pkts?   yang:counter64
  |        +--ro out-discards?         yang:counter32
  |        +--ro out-errors?           yang:counter32
  x--ro interfaces-state
     x--ro interface* [name]
        x--ro name               string
        x--ro type               identityref
        x--ro admin-status       enumeration {if-mib}?
        x--ro oper-status        enumeration
        x--ro last-change?       yang:date-and-time
        x--ro if-index           int32 {if-mib}?
        x--ro phys-address?      yang:phys-address
        x--ro higher-layer-if*   interface-state-ref
        x--ro lower-layer-if*    interface-state-ref
        x--ro speed?             yang:gauge64
        x--ro statistics
           x--ro discontinuity-time    yang:date-and-time
           x--ro in-octets?            yang:counter64
           x--ro in-unicast-pkts?      yang:counter64
           x--ro in-broadcast-pkts?    yang:counter64
           x--ro in-multicast-pkts?    yang:counter64
           x--ro in-discards?          yang:counter32
           x--ro in-errors?            yang:counter32
           x--ro in-unknown-protos?    yang:counter32
           x--ro out-octets?           yang:counter64
           x--ro out-unicast-pkts?     yang:counter64
           x--ro out-broadcast-pkts?   yang:counter64
           x--ro out-multicast-pkts?   yang:counter64
           x--ro out-discards?         yang:counter32
           x--ro out-errors?           yang:counter32
module: o-ran-sc-root-v1
  +--rw controlled-element!
     +--rw identifier                yang:uuid
     +--rw controlled-identifier* [authority-ref]
     |  +--rw authority-ref    ot:sized-printable-string
     |  +--rw identifer?       string
     +--rw name?                     ot:sized-printable-string
     +--rw label?                    string
     +--ro operational-state?        identityref
     +--rw administrative-control?   identityref
     +--ro administrative-state?     identityref
     +--rw lifecycle-state?          identityref
     +--rw controlled-function* [identifier]
     |  +--rw identifier                 yang:uuid
     |  +--rw controlled-identifier* [authority-ref]
     |  |  +--rw authority-ref    ot:sized-printable-string
     |  |  +--rw identifer?       string
     |  +--rw name?                      ot:sized-printable-string
     |  +--rw label?                     string
     |  +--ro operational-state?         identityref
     |  +--rw administrative-control?    identityref
     |  +--ro administrative-state?      identityref
     |  +--rw lifecycle-state?           identityref
     |  +--rw function-type?             identityref
     |  +--ro oal:alarm-reference* [resource alarm-type-id alarm-type-qualifier]
     |  |  +--ro oal:resource                -> /al:alarms/alarm-list/alarm/resource
     |  |  +--ro oal:alarm-type-id           -> /al:alarms/alarm-list/alarm[al:resource=current()/../resource]/alarm-type-id
     |  |  +--ro oal:alarm-type-qualifier    -> /al:alarms/alarm-list/alarm[al:resource=current()/../resource][al:alarm-type-id=current()/../alarm-type-id]/al:alarm-type-qualifier
     |  +--ro ohw:hardware-reference*    hardware-ref
     |  +--ro oif:interface-reference*   if:interface-ref
     +--ro oal:alarm-reference* [resource alarm-type-id alarm-type-qualifier]
     |  +--ro oal:resource                -> /al:alarms/alarm-list/alarm/resource
     |  +--ro oal:alarm-type-id           -> /al:alarms/alarm-list/alarm[al:resource=current()/../resource]/alarm-type-id
     |  +--ro oal:alarm-type-qualifier    -> /al:alarms/alarm-list/alarm[al:resource=current()/../resource][al:alarm-type-id=current()/../alarm-type-id]/al:alarm-type-qualifier
     +--ro ohw:hardware-reference*   hardware-ref