acirb 1.0.4h → 1.0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (195) hide show
  1. checksums.yaml +4 -4
  2. data/lib/acirb/aaa.rb +1211 -92
  3. data/lib/acirb/ac.rb +167 -8
  4. data/lib/acirb/action.rb +309 -33
  5. data/lib/acirb/actrl.rb +1937 -79
  6. data/lib/acirb/actrlcap.rb +24 -2
  7. data/lib/acirb/adcom.rb +376 -26
  8. data/lib/acirb/aib.rb +47 -5
  9. data/lib/acirb/arp.rb +311 -19
  10. data/lib/acirb/bfd.rb +199 -15
  11. data/lib/acirb/bgp.rb +892 -69
  12. data/lib/acirb/callhome.rb +322 -23
  13. data/lib/acirb/cap.rb +45 -6
  14. data/lib/acirb/cdp.rb +235 -20
  15. data/lib/acirb/cnw.rb +122 -6
  16. data/lib/acirb/comm.rb +4565 -186
  17. data/lib/acirb/comp.rb +4882 -205
  18. data/lib/acirb/compat.rb +413 -38
  19. data/lib/acirb/condition.rb +176 -13
  20. data/lib/acirb/config.rb +235 -16
  21. data/lib/acirb/coop.rb +563 -44
  22. data/lib/acirb/copp.rb +1711 -40
  23. data/lib/acirb/ctrlr.rb +20 -2
  24. data/lib/acirb/ctx.rb +48 -6
  25. data/lib/acirb/datetime.rb +359 -24
  26. data/lib/acirb/dbg.rb +1902 -87
  27. data/lib/acirb/dbgac.rb +770 -47
  28. data/lib/acirb/dbgexp.rb +560 -41
  29. data/lib/acirb/dhcp.rb +898 -71
  30. data/lib/acirb/dhcptlv.rb +64 -8
  31. data/lib/acirb/dhcptlvpol.rb +72 -8
  32. data/lib/acirb/dlgt.rb +7 -1
  33. data/lib/acirb/dns.rb +203 -18
  34. data/lib/acirb/draw.rb +18 -2
  35. data/lib/acirb/edr.rb +52 -5
  36. data/lib/acirb/eigrp.rb +604 -49
  37. data/lib/acirb/ep.rb +43 -4
  38. data/lib/acirb/epm.rb +72 -8
  39. data/lib/acirb/eptrk.rb +147 -7
  40. data/lib/acirb/eqpt.rb +12467 -400
  41. data/lib/acirb/eqptcap.rb +131 -12
  42. data/lib/acirb/eqptcapacity.rb +6446 -254
  43. data/lib/acirb/eqptdiag.rb +171 -11
  44. data/lib/acirb/eqptdiagp.rb +956 -61
  45. data/lib/acirb/ethpm.rb +624 -19
  46. data/lib/acirb/event.rb +155 -12
  47. data/lib/acirb/extnw.rb +112 -11
  48. data/lib/acirb/fabric.rb +6199 -418
  49. data/lib/acirb/fault.rb +700 -51
  50. data/lib/acirb/file.rb +113 -9
  51. data/lib/acirb/firmware.rb +535 -40
  52. data/lib/acirb/fmcast.rb +63 -6
  53. data/lib/acirb/frmwrk.rb +201 -17
  54. data/lib/acirb/fsm.rb +26 -1
  55. data/lib/acirb/fv.rb +5653 -431
  56. data/lib/acirb/fvcap.rb +25 -2
  57. data/lib/acirb/fvns.rb +375 -33
  58. data/lib/acirb/fvtopo.rb +60 -5
  59. data/lib/acirb/geo.rb +86 -8
  60. data/lib/acirb/glean.rb +50 -5
  61. data/lib/acirb/ha.rb +6 -1
  62. data/lib/acirb/health.rb +258 -21
  63. data/lib/acirb/hvs.rb +312 -22
  64. data/lib/acirb/icmp.rb +34 -4
  65. data/lib/acirb/icmpv4.rb +42 -4
  66. data/lib/acirb/icmpv6.rb +78 -5
  67. data/lib/acirb/ident.rb +533 -43
  68. data/lib/acirb/igmp.rb +59 -4
  69. data/lib/acirb/igmpsnoop.rb +254 -18
  70. data/lib/acirb/im.rb +94 -7
  71. data/lib/acirb/imginstall.rb +18 -1
  72. data/lib/acirb/infra.rb +3909 -243
  73. data/lib/acirb/ip.rb +276 -24
  74. data/lib/acirb/ipmcsnoop.rb +217 -18
  75. data/lib/acirb/ipv4.rb +120 -8
  76. data/lib/acirb/ipv6.rb +121 -9
  77. data/lib/acirb/isis.rb +2885 -103
  78. data/lib/acirb/isistlv.rb +64 -8
  79. data/lib/acirb/l1.rb +616 -46
  80. data/lib/acirb/l1cap.rb +24 -2
  81. data/lib/acirb/l2.rb +5676 -152
  82. data/lib/acirb/l2cap.rb +25 -2
  83. data/lib/acirb/l2ext.rb +249 -19
  84. data/lib/acirb/l3.rb +562 -38
  85. data/lib/acirb/l3cap.rb +25 -2
  86. data/lib/acirb/l3ext.rb +758 -59
  87. data/lib/acirb/l3vm.rb +36 -3
  88. data/lib/acirb/l4.rb +35 -3
  89. data/lib/acirb/lacp.rb +226 -18
  90. data/lib/acirb/lbp.rb +24 -2
  91. data/lib/acirb/leqpt.rb +94 -7
  92. data/lib/acirb/lldp.rb +383 -29
  93. data/lib/acirb/lldptlv.rb +64 -8
  94. data/lib/acirb/lldptlvpol.rb +72 -8
  95. data/lib/acirb/maint.rb +464 -34
  96. data/lib/acirb/mcast.rb +19 -3
  97. data/lib/acirb/mcp.rb +168 -15
  98. data/lib/acirb/memory.rb +457 -18
  99. data/lib/acirb/mgmt.rb +708 -50
  100. data/lib/acirb/mldsnoop.rb +225 -16
  101. data/lib/acirb/mo.rb +27 -3
  102. data/lib/acirb/mock.rb +48 -4
  103. data/lib/acirb/mon.rb +378 -40
  104. data/lib/acirb/monitor.rb +124 -9
  105. data/lib/acirb/naming.rb +13 -2
  106. data/lib/acirb/nd.rb +304 -25
  107. data/lib/acirb/nw.rb +320 -39
  108. data/lib/acirb/nws.rb +71 -7
  109. data/lib/acirb/oam.rb +65 -3
  110. data/lib/acirb/observer.rb +56 -4
  111. data/lib/acirb/opflex.rb +5794 -168
  112. data/lib/acirb/os.rb +25 -2
  113. data/lib/acirb/ospf.rb +1185 -82
  114. data/lib/acirb/ospfv3.rb +477 -31
  115. data/lib/acirb/pc.rb +205 -11
  116. data/lib/acirb/pcons.rb +444 -42
  117. data/lib/acirb/phys.rb +22 -2
  118. data/lib/acirb/ping.rb +172 -6
  119. data/lib/acirb/pki.rb +194 -15
  120. data/lib/acirb/pol.rb +1063 -88
  121. data/lib/acirb/policer.rb +16 -2
  122. data/lib/acirb/pool.rb +49 -6
  123. data/lib/acirb/pres.rb +216 -19
  124. data/lib/acirb/proc.rb +4069 -130
  125. data/lib/acirb/psu.rb +40 -4
  126. data/lib/acirb/qos.rb +312 -28
  127. data/lib/acirb/qosm.rb +979 -40
  128. data/lib/acirb/qosp.rb +147 -11
  129. data/lib/acirb/rbqm.rb +113 -9
  130. data/lib/acirb/regress.rb +14 -1
  131. data/lib/acirb/reln.rb +304 -26
  132. data/lib/acirb/repl.rb +34 -4
  133. data/lib/acirb/res.rb +120 -12
  134. data/lib/acirb/rib.rb +85 -9
  135. data/lib/acirb/rmon.rb +150 -10
  136. data/lib/acirb/rpm.rb +11 -1
  137. data/lib/acirb/rtcom.rb +27 -3
  138. data/lib/acirb/rtctrl.rb +641 -59
  139. data/lib/acirb/rtextcom.rb +45 -4
  140. data/lib/acirb/rtflt.rb +23 -3
  141. data/lib/acirb/rtleak.rb +58 -6
  142. data/lib/acirb/rtmap.rb +354 -32
  143. data/lib/acirb/rtpfx.rb +54 -5
  144. data/lib/acirb/rtregcom.rb +43 -4
  145. data/lib/acirb/rtsum.rb +8 -1
  146. data/lib/acirb/rule.rb +27 -4
  147. data/lib/acirb/satm.rb +175 -6
  148. data/lib/acirb/snmp.rb +409 -34
  149. data/lib/acirb/span.rb +1263 -84
  150. data/lib/acirb/stats.rb +607 -31
  151. data/lib/acirb/statstore.rb +38 -4
  152. data/lib/acirb/stormctrl.rb +36 -3
  153. data/lib/acirb/stp.rb +315 -28
  154. data/lib/acirb/sts.rb +538 -45
  155. data/lib/acirb/svccore.rb +173 -8
  156. data/lib/acirb/svi.rb +61 -3
  157. data/lib/acirb/synthetic.rb +639 -44
  158. data/lib/acirb/sysdebug.rb +248 -18
  159. data/lib/acirb/sysfile.rb +31 -4
  160. data/lib/acirb/syshist.rb +39 -4
  161. data/lib/acirb/syslog.rb +180 -14
  162. data/lib/acirb/sysmgr.rb +38 -4
  163. data/lib/acirb/sysmgrp.rb +21 -2
  164. data/lib/acirb/tag.rb +159 -12
  165. data/lib/acirb/task.rb +48 -3
  166. data/lib/acirb/test.rb +40 -3
  167. data/lib/acirb/testinfralab.rb +97 -8
  168. data/lib/acirb/tlv.rb +68 -10
  169. data/lib/acirb/top.rb +212 -16
  170. data/lib/acirb/topoctrl.rb +100 -9
  171. data/lib/acirb/traceroute.rb +210 -11
  172. data/lib/acirb/traceroutep.rb +215 -12
  173. data/lib/acirb/trig.rb +344 -30
  174. data/lib/acirb/troubleshoot.rb +136 -8
  175. data/lib/acirb/tunnel.rb +148 -11
  176. data/lib/acirb/uribv4.rb +83 -8
  177. data/lib/acirb/uribv6.rb +63 -6
  178. data/lib/acirb/vlan.rb +88 -5
  179. data/lib/acirb/vlanmgr.rb +21 -2
  180. data/lib/acirb/vmm.rb +715 -50
  181. data/lib/acirb/vns.rb +6681 -428
  182. data/lib/acirb/vpc.rb +260 -14
  183. data/lib/acirb/vsvc.rb +48 -4
  184. data/lib/acirb/vtap.rb +20 -2
  185. data/lib/acirb/vxlan.rb +73 -4
  186. data/lib/acirb/vz.rb +1934 -145
  187. data/lib/acirb.rb +1 -1
  188. data/lib/events.rb +143 -6
  189. data/lib/loader.rb +5 -3
  190. data/lib/mo.rb +72 -15
  191. data/lib/naming.rb +1 -1
  192. data/lib/query.rb +3 -1
  193. data/lib/restclient.rb +172 -47
  194. data/lib/version.rb +1 -1
  195. metadata +32 -4
@@ -8,10 +8,21 @@ module ACIrb
8
8
  @prefixes = [['from-', true], ['-to-', true]]
9
9
  @rn_format = 'from-[%(from)s]-to-[%(to)s]'
10
10
  @containers = ['TopoctrlVirtDom']
11
- @props = ['childAction', 'descr', 'dn', 'from', 'lcOwn', 'modTs', 'name', 'rn', 'status', 'to', 'uid']
11
+ @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
12
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
13
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
14
+ 'from' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
15
+ 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
16
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
17
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
18
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
19
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
20
+ 'to' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
21
+ 'uid' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
12
22
  @child_classes = []
13
23
  @label = 'Encap Block'
14
24
  @naming_props = ['from', 'to']
25
+ @read_only = false
15
26
 
16
27
  def rn
17
28
  'from-[' << @attributes['from'] << ']-to-[' << @attributes['to'] << ']'
@@ -24,10 +35,17 @@ module ACIrb
24
35
  @prefixes = [['topoctrl', false]]
25
36
  @rn_format = 'topoctrl'
26
37
  @containers = ['TopSystem']
27
- @props = ['childAction', 'dn', 'lcOwn', 'modTs', 'name', 'rn', 'status']
38
+ @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
39
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
40
+ 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
41
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
42
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
43
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
44
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
28
45
  @child_classes = ['TopoctrlVirtDom', 'TopoctrlLbP', 'TopoctrlVxlanP', 'TopoctrlShardRdnP']
29
46
  @label = 'Topology Control Entity'
30
47
  @naming_props = []
48
+ @read_only = true
31
49
 
32
50
  def rn
33
51
  'topoctrl'
@@ -40,10 +58,21 @@ module ACIrb
40
58
  @prefixes = [['lbp', false]]
41
59
  @rn_format = 'lbp'
42
60
  @containers = ['TopoctrlEntity']
43
- @props = ['childAction', 'descr', 'dlbMode', 'dn', 'lcOwn', 'modTs', 'mode', 'name', 'pri', 'rn', 'status']
61
+ @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
62
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
63
+ 'dlbMode' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
64
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
65
+ 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
66
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
67
+ 'mode' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
68
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
69
+ 'pri' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
70
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
71
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
44
72
  @child_classes = []
45
73
  @label = 'Fabric Load Balance Policy'
46
74
  @naming_props = []
75
+ @read_only = true
47
76
 
48
77
  def rn
49
78
  'lbp'
@@ -56,10 +85,22 @@ module ACIrb
56
85
  @prefixes = [['lprotectp', false]]
57
86
  @rn_format = 'lprotectp'
58
87
  @containers = ['TopoctrlEntity']
59
- @props = ['action', 'adminSt', 'childAction', 'descr', 'dn', 'lcOwn', 'loopDetectIntvl', 'loopDetectMult', 'modTs', 'name', 'rn', 'status']
88
+ @props = { 'action' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
89
+ 'adminSt' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
90
+ 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
91
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
92
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
93
+ 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
94
+ 'loopDetectIntvl' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
95
+ 'loopDetectMult' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
96
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
97
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
98
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
99
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
60
100
  @child_classes = ['TopoctrlRsEpLoopProtectPolCons']
61
101
  @label = 'Loop Protection Policy'
62
102
  @naming_props = []
103
+ @read_only = true
63
104
 
64
105
  def rn
65
106
  'lprotectp'
@@ -72,10 +113,23 @@ module ACIrb
72
113
  @prefixes = [['rsepLoopProtectPolCons', false]]
73
114
  @rn_format = 'rsepLoopProtectPolCons'
74
115
  @containers = ['TopoctrlLoopProtectP']
75
- @props = ['childAction', 'dn', 'forceResolve', 'lcOwn', 'modTs', 'rType', 'rn', 'state', 'stateQual', 'status', 'tCl', 'tDn', 'tType']
116
+ @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
117
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
118
+ 'forceResolve' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
119
+ 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
120
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
121
+ 'rType' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
122
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
123
+ 'state' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
124
+ 'stateQual' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
125
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
126
+ 'tCl' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
127
+ 'tDn' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
128
+ 'tType' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
76
129
  @child_classes = []
77
130
  @label = 'End Point Loop Protect Policy Attachment'
78
131
  @naming_props = []
132
+ @read_only = true
79
133
 
80
134
  def rn
81
135
  'rsepLoopProtectPolCons'
@@ -88,10 +142,20 @@ module ACIrb
88
142
  @prefixes = [['shchp-', true]]
89
143
  @rn_format = 'shchp-%(af)s'
90
144
  @containers = ['L3Inst']
91
- @props = ['af', 'childAction', 'descr', 'dn', 'lcOwn', 'modTs', 'name', 'node', 'rn', 'status']
145
+ @props = { 'af' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
146
+ 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
147
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
148
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
149
+ 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
150
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
151
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
152
+ 'node' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
153
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
154
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
92
155
  @child_classes = []
93
156
  @label = 'Shard Chain Policy'
94
157
  @naming_props = ['af']
158
+ @read_only = true
95
159
 
96
160
  def rn
97
161
  'shchp-' << @attributes['af'] << ''
@@ -104,10 +168,19 @@ module ACIrb
104
168
  @prefixes = [['shrdnp', false]]
105
169
  @rn_format = 'shrdnp'
106
170
  @containers = ['TopoctrlEntity']
107
- @props = ['childAction', 'descr', 'dn', 'factor', 'lcOwn', 'modTs', 'name', 'rn', 'status']
171
+ @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
172
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
173
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
174
+ 'factor' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
175
+ 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
176
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
177
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
178
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
179
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
108
180
  @child_classes = []
109
181
  @label = 'Shard Redundancy Policy'
110
182
  @naming_props = []
183
+ @read_only = true
111
184
 
112
185
  def rn
113
186
  'shrdnp'
@@ -120,10 +193,19 @@ module ACIrb
120
193
  @prefixes = [['virtdom', false]]
121
194
  @rn_format = 'virtdom'
122
195
  @containers = ['TopoctrlEntity']
123
- @props = ['childAction', 'descr', 'dn', 'lcOwn', 'mcastAddr', 'modTs', 'name', 'rn', 'status']
196
+ @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
197
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
198
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
199
+ 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
200
+ 'mcastAddr' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
201
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
202
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
203
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
204
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
124
205
  @child_classes = ['TopoctrlEncapBlk']
125
206
  @label = 'Virtual Domain'
126
207
  @naming_props = []
208
+ @read_only = true
127
209
 
128
210
  def rn
129
211
  'virtdom'
@@ -136,10 +218,19 @@ module ACIrb
136
218
  @prefixes = [['vxlanp', false]]
137
219
  @rn_format = 'vxlanp'
138
220
  @containers = ['TopoctrlEntity']
139
- @props = ['childAction', 'descr', 'dn', 'lcOwn', 'modTs', 'name', 'rn', 'status', 'udpPort']
221
+ @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
222
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
223
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
224
+ 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
225
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
226
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
227
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
228
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
229
+ 'udpPort' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
140
230
  @child_classes = []
141
231
  @label = 'Fabric Vxlan Policy'
142
232
  @naming_props = []
233
+ @read_only = true
143
234
 
144
235
  def rn
145
236
  'vxlanp'
@@ -8,10 +8,37 @@ module ACIrb
8
8
  @prefixes = []
9
9
  @rn_format = ''
10
10
  @containers = ['ActionLSubj']
11
- @props = ['adminSt', 'childAction', 'descr', 'dn', 'dstIp', 'dstMac', 'epT', 'freq', 'maxHops', 'maxPaths', 'name', 'operSt', 'payloadSz', 'peerClassId', 'rSz', 'rTm', 'rn', 'srcIp', 'srcMac', 'srcNodeId', 'startTs', 'status', 'tenant', 'type', 'vrf', 'vtep', 'vtepEncap']
11
+ @props = { 'adminSt' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
12
+ 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
13
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
14
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
15
+ 'dstIp' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
16
+ 'dstMac' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
17
+ 'epT' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
18
+ 'freq' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
19
+ 'maxHops' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
20
+ 'maxPaths' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
21
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
22
+ 'operSt' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
23
+ 'payloadSz' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
24
+ 'peerClassId' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
25
+ 'rSz' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
26
+ 'rTm' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
27
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
28
+ 'srcIp' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
29
+ 'srcMac' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
30
+ 'srcNodeId' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
31
+ 'startTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
32
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
33
+ 'tenant' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
34
+ 'type' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
35
+ 'vrf' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
36
+ 'vtep' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
37
+ 'vtepEncap' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
12
38
  @child_classes = ['OamRsSrcEncap']
13
39
  @label = 'Exec'
14
40
  @naming_props = []
41
+ @read_only = false
15
42
 
16
43
  def rn
17
44
  ''
@@ -24,10 +51,32 @@ module ACIrb
24
51
  @prefixes = []
25
52
  @rn_format = ''
26
53
  @containers = ['ActionLSubj']
27
- @props = ['ack', 'childAction', 'descr', 'dn', 'dstIp', 'endTs', 'maxHops', 'name', 'operSt', 'payloadSz', 'peerClassId', 'qual', 'rSz', 'rTm', 'rn', 'srcIp', 'srcNodeId', 'startTs', 'status', 'tenant', 'type', 'vrf']
54
+ @props = { 'ack' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
55
+ 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
56
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
57
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
58
+ 'dstIp' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
59
+ 'endTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
60
+ 'maxHops' => { 'isAdmin' => false, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
61
+ 'name' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
62
+ 'operSt' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
63
+ 'payloadSz' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
64
+ 'peerClassId' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
65
+ 'qual' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
66
+ 'rSz' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
67
+ 'rTm' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
68
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
69
+ 'srcIp' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
70
+ 'srcNodeId' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
71
+ 'startTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
72
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
73
+ 'tenant' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
74
+ 'type' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
75
+ 'vrf' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
28
76
  @child_classes = []
29
77
  @label = 'Result'
30
78
  @naming_props = []
79
+ @read_only = true
31
80
 
32
81
  def rn
33
82
  ''
@@ -40,10 +89,42 @@ module ACIrb
40
89
  @prefixes = [['trexecfab-', true], ['-', true], ['-to-', true]]
41
90
  @rn_format = 'trexecfab-[%(name)s]-%(srcNodeId)s-to-%(dstNodeId)s'
42
91
  @containers = ['ActionLSubj']
43
- @props = ['adminSt', 'childAction', 'descr', 'dn', 'dstIp', 'dstMac', 'dstNodeId', 'epT', 'freq', 'lcOwn', 'maxHops', 'maxPaths', 'modTs', 'monPolDn', 'name', 'operSt', 'payloadSz', 'peerClassId', 'rSz', 'rTm', 'rn', 'srcIp', 'srcMac', 'srcNodeId', 'startTs', 'status', 'tenant', 'type', 'uid', 'vrf', 'vtep', 'vtepEncap']
92
+ @props = { 'adminSt' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
93
+ 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
94
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
95
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
96
+ 'dstIp' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
97
+ 'dstMac' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
98
+ 'dstNodeId' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
99
+ 'epT' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
100
+ 'freq' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
101
+ 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
102
+ 'maxHops' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
103
+ 'maxPaths' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
104
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
105
+ 'monPolDn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
106
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
107
+ 'operSt' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
108
+ 'payloadSz' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
109
+ 'peerClassId' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
110
+ 'rSz' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
111
+ 'rTm' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
112
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
113
+ 'srcIp' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
114
+ 'srcMac' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
115
+ 'srcNodeId' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
116
+ 'startTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
117
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
118
+ 'tenant' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
119
+ 'type' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
120
+ 'uid' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
121
+ 'vrf' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
122
+ 'vtep' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
123
+ 'vtepEncap' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
44
124
  @child_classes = ['FaultCounts', 'HealthInst', 'OamRsSrcEncap']
45
125
  @label = 'Fabric Traceroute Exec'
46
126
  @naming_props = ['name', 'srcNodeId', 'dstNodeId']
127
+ @read_only = false
47
128
 
48
129
  def rn
49
130
  'trexecfab-[' << @attributes['name'] << ']-' << @attributes['srcNodeId'] << '-to-' << @attributes['dstNodeId'] << ''
@@ -56,10 +137,43 @@ module ACIrb
56
137
  @prefixes = [['trexectn-', true], ['-', true], ['-ip-', true], ['-to-', true]]
57
138
  @rn_format = 'trexectn-[%(tenant)s]-[%(name)s]-ip-[%(srcIp)s]-to-[%(dstIp)s]'
58
139
  @containers = ['ActionLSubj']
59
- @props = ['adminSt', 'childAction', 'descr', 'dn', 'dstIp', 'dstMac', 'epT', 'freq', 'gwMac', 'lcOwn', 'maxHops', 'maxPaths', 'modTs', 'monPolDn', 'name', 'operSt', 'payloadSz', 'peerClassId', 'rSz', 'rTm', 'rn', 'srcIp', 'srcMac', 'srcNodeId', 'startTs', 'status', 'tenant', 'type', 'uid', 'useGwMac', 'vrf', 'vtep', 'vtepEncap']
140
+ @props = { 'adminSt' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
141
+ 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
142
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
143
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
144
+ 'dstIp' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
145
+ 'dstMac' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
146
+ 'epT' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
147
+ 'freq' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
148
+ 'gwMac' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
149
+ 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
150
+ 'maxHops' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
151
+ 'maxPaths' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
152
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
153
+ 'monPolDn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
154
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
155
+ 'operSt' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
156
+ 'payloadSz' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
157
+ 'peerClassId' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
158
+ 'rSz' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
159
+ 'rTm' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
160
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
161
+ 'srcIp' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
162
+ 'srcMac' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
163
+ 'srcNodeId' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
164
+ 'startTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
165
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
166
+ 'tenant' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
167
+ 'type' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
168
+ 'uid' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
169
+ 'useGwMac' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
170
+ 'vrf' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
171
+ 'vtep' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
172
+ 'vtepEncap' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
60
173
  @child_classes = ['FaultCounts', 'HealthInst', 'OamRsSrcEncap']
61
174
  @label = 'Tenant Traceroute Exec'
62
175
  @naming_props = ['tenant', 'name', 'srcIp', 'dstIp']
176
+ @read_only = false
63
177
 
64
178
  def rn
65
179
  'trexectn-[' << @attributes['tenant'] << ']-[' << @attributes['name'] << ']-ip-[' << @attributes['srcIp'] << ']-to-[' << @attributes['dstIp'] << ']'
@@ -72,10 +186,19 @@ module ACIrb
72
186
  @prefixes = [['node-', true]]
73
187
  @rn_format = 'node-%(order)s'
74
188
  @containers = ['TraceroutePath']
75
- @props = ['addr', 'childAction', 'dn', 'elapsedTime', 'ifId', 'modTs', 'order', 'rn', 'status']
189
+ @props = { 'addr' => { 'isAdmin' => false, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
190
+ 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
191
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
192
+ 'elapsedTime' => { 'isAdmin' => false, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
193
+ 'ifId' => { 'isAdmin' => false, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
194
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
195
+ 'order' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
196
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
197
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
76
198
  @child_classes = []
77
199
  @label = 'Node'
78
200
  @naming_props = ['order']
201
+ @read_only = true
79
202
 
80
203
  def rn
81
204
  'node-' << @attributes['order'] << ''
@@ -88,10 +211,18 @@ module ACIrb
88
211
  @prefixes = [['path-', true]]
89
212
  @rn_format = 'path-%(id)s'
90
213
  @containers = ['TraceroutePathGrp']
91
- @props = ['childAction', 'dn', 'flags', 'id', 'modTs', 'rn', 'status', 'type']
214
+ @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
215
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
216
+ 'flags' => { 'isAdmin' => false, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
217
+ 'id' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
218
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
219
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
220
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
221
+ 'type' => { 'isAdmin' => false, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
92
222
  @child_classes = ['TracerouteNode']
93
223
  @label = 'Path'
94
224
  @naming_props = ['id']
225
+ @read_only = true
95
226
 
96
227
  def rn
97
228
  'path-' << @attributes['id'] << ''
@@ -104,10 +235,16 @@ module ACIrb
104
235
  @prefixes = [['pgrp-', true]]
105
236
  @rn_format = 'pgrp-%(id)s'
106
237
  @containers = ['TracerouteRsltFab', 'TracerouteRsltTn']
107
- @props = ['childAction', 'dn', 'id', 'modTs', 'rn', 'status']
238
+ @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
239
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
240
+ 'id' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
241
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
242
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
243
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
108
244
  @child_classes = ['TraceroutePath']
109
245
  @label = 'Path Group'
110
246
  @naming_props = ['id']
247
+ @read_only = true
111
248
 
112
249
  def rn
113
250
  'pgrp-' << @attributes['id'] << ''
@@ -120,10 +257,20 @@ module ACIrb
120
257
  @prefixes = [['sport-', true], ['-dport-', true], ['-prot-', true]]
121
258
  @rn_format = 'sport-%(srcPort)s-dport-%(dstPort)s-prot-%(prot)s'
122
259
  @containers = ['TracerouteProbeInfo']
123
- @props = ['childAction', 'dn', 'dstAddr', 'dstPort', 'modTs', 'prot', 'rn', 'srcAddr', 'srcPort', 'status']
260
+ @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
261
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
262
+ 'dstAddr' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
263
+ 'dstPort' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
264
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
265
+ 'prot' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
266
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
267
+ 'srcAddr' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
268
+ 'srcPort' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
269
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
124
270
  @child_classes = []
125
271
  @label = 'Probe'
126
272
  @naming_props = ['srcPort', 'dstPort', 'prot']
273
+ @read_only = true
127
274
 
128
275
  def rn
129
276
  'sport-' << @attributes['srcPort'] << '-dport-' << @attributes['dstPort'] << '-prot-' << @attributes['prot'] << ''
@@ -136,10 +283,15 @@ module ACIrb
136
283
  @prefixes = [['probeinfo', false]]
137
284
  @rn_format = 'probeinfo'
138
285
  @containers = ['TraceroutePath']
139
- @props = ['childAction', 'dn', 'modTs', 'rn', 'status']
286
+ @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
287
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
288
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
289
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
290
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
140
291
  @child_classes = ['TracerouteProbe']
141
292
  @label = 'ProbeInfo'
142
293
  @naming_props = []
294
+ @read_only = true
143
295
 
144
296
  def rn
145
297
  'probeinfo'
@@ -152,10 +304,34 @@ module ACIrb
152
304
  @prefixes = [['trrsltfab-', true], ['-', true], ['-to-', true], ['-ts-', true]]
153
305
  @rn_format = 'trrsltfab-[%(name)s]-%(srcNodeId)s-to-%(dstNodeId)s-ts-%(startTs)s'
154
306
  @containers = ['ActionLSubj']
155
- @props = ['ack', 'childAction', 'descr', 'dn', 'dstIp', 'dstNodeId', 'endTs', 'maxHops', 'modTs', 'name', 'operSt', 'payloadSz', 'peerClassId', 'qual', 'rSz', 'rTm', 'rn', 'srcIp', 'srcNodeId', 'startTs', 'status', 'tenant', 'type', 'vrf']
307
+ @props = { 'ack' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
308
+ 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
309
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
310
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
311
+ 'dstIp' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
312
+ 'dstNodeId' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
313
+ 'endTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
314
+ 'maxHops' => { 'isAdmin' => false, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
315
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
316
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
317
+ 'operSt' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
318
+ 'payloadSz' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
319
+ 'peerClassId' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
320
+ 'qual' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
321
+ 'rSz' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
322
+ 'rTm' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
323
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
324
+ 'srcIp' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
325
+ 'srcNodeId' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
326
+ 'startTs' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
327
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
328
+ 'tenant' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
329
+ 'type' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
330
+ 'vrf' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
156
331
  @child_classes = ['TraceroutePathGrp']
157
332
  @label = 'Fabric Result'
158
333
  @naming_props = ['name', 'srcNodeId', 'dstNodeId', 'startTs']
334
+ @read_only = true
159
335
 
160
336
  def rn
161
337
  'trrsltfab-[' << @attributes['name'] << ']-' << @attributes['srcNodeId'] << '-to-' << @attributes['dstNodeId'] << '-ts-' << @attributes['startTs'] << ''
@@ -168,10 +344,33 @@ module ACIrb
168
344
  @prefixes = [['trrslttn-', true], ['-', true], ['-ip-', true], ['-to-', true], ['-ts-', true]]
169
345
  @rn_format = 'trrslttn-[%(tenant)s]-[%(name)s]-ip-[%(srcIp)s]-to-[%(dstIp)s]-ts-%(startTs)s'
170
346
  @containers = ['ActionLSubj']
171
- @props = ['ack', 'childAction', 'descr', 'dn', 'dstIp', 'endTs', 'maxHops', 'modTs', 'name', 'operSt', 'payloadSz', 'peerClassId', 'qual', 'rSz', 'rTm', 'rn', 'srcIp', 'srcNodeId', 'startTs', 'status', 'tenant', 'type', 'vrf']
347
+ @props = { 'ack' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
348
+ 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
349
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
350
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
351
+ 'dstIp' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
352
+ 'endTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
353
+ 'maxHops' => { 'isAdmin' => false, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
354
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
355
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
356
+ 'operSt' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
357
+ 'payloadSz' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
358
+ 'peerClassId' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
359
+ 'qual' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
360
+ 'rSz' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
361
+ 'rTm' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
362
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
363
+ 'srcIp' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
364
+ 'srcNodeId' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
365
+ 'startTs' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
366
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
367
+ 'tenant' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
368
+ 'type' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
369
+ 'vrf' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
172
370
  @child_classes = ['TraceroutePathGrp']
173
371
  @label = 'Tenant Result'
174
372
  @naming_props = ['tenant', 'name', 'srcIp', 'dstIp', 'startTs']
373
+ @read_only = true
175
374
 
176
375
  def rn
177
376
  'trrslttn-[' << @attributes['tenant'] << ']-[' << @attributes['name'] << ']-ip-[' << @attributes['srcIp'] << ']-to-[' << @attributes['dstIp'] << ']-ts-' << @attributes['startTs'] << ''