acirb 1.1.2.1 → 1.1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. checksums.yaml +4 -4
  2. data/lib/acirb.rb +9 -9
  3. data/lib/acirb/autoloadmap.rb +6617 -0
  4. data/lib/{events.rb → acirb/events.rb} +1 -1
  5. data/lib/{loader.rb → acirb/loader.rb} +0 -0
  6. data/lib/{logging.rb → acirb/logging.rb} +0 -0
  7. data/lib/{lookup.rb → acirb/lookup.rb} +0 -9
  8. data/lib/acirb/mo.rb +254 -71
  9. data/lib/acirb/{aaa.rb → model/aaa.rb} +1 -1
  10. data/lib/acirb/{ac.rb → model/ac.rb} +1 -1
  11. data/lib/acirb/{action.rb → model/action.rb} +1 -1
  12. data/lib/acirb/{actrl.rb → model/actrl.rb} +1 -1
  13. data/lib/acirb/{actrlcap.rb → model/actrlcap.rb} +1 -1
  14. data/lib/acirb/{adcom.rb → model/adcom.rb} +1 -1
  15. data/lib/acirb/{aib.rb → model/aib.rb} +1 -1
  16. data/lib/acirb/{arp.rb → model/arp.rb} +1 -1
  17. data/lib/acirb/{bfd.rb → model/bfd.rb} +1 -1
  18. data/lib/acirb/{bgp.rb → model/bgp.rb} +1 -1
  19. data/lib/acirb/{callhome.rb → model/callhome.rb} +1 -1
  20. data/lib/acirb/{cap.rb → model/cap.rb} +1 -1
  21. data/lib/acirb/{cdp.rb → model/cdp.rb} +1 -1
  22. data/lib/acirb/{cnw.rb → model/cnw.rb} +1 -1
  23. data/lib/acirb/{comm.rb → model/comm.rb} +1 -1
  24. data/lib/acirb/{comp.rb → model/comp.rb} +1 -1
  25. data/lib/acirb/{compat.rb → model/compat.rb} +1 -1
  26. data/lib/acirb/{condition.rb → model/condition.rb} +1 -1
  27. data/lib/acirb/{config.rb → model/config.rb} +1 -1
  28. data/lib/acirb/{coop.rb → model/coop.rb} +1 -1
  29. data/lib/acirb/{copp.rb → model/copp.rb} +1 -1
  30. data/lib/acirb/{ctrlr.rb → model/ctrlr.rb} +1 -1
  31. data/lib/acirb/{ctx.rb → model/ctx.rb} +1 -1
  32. data/lib/acirb/{datetime.rb → model/datetime.rb} +1 -1
  33. data/lib/acirb/{dbg.rb → model/dbg.rb} +1 -1
  34. data/lib/acirb/{dbgac.rb → model/dbgac.rb} +1 -1
  35. data/lib/acirb/{dbgexp.rb → model/dbgexp.rb} +1 -1
  36. data/lib/acirb/{dhcp.rb → model/dhcp.rb} +1 -1
  37. data/lib/acirb/{dhcptlv.rb → model/dhcptlv.rb} +1 -1
  38. data/lib/acirb/{dhcptlvpol.rb → model/dhcptlvpol.rb} +1 -1
  39. data/lib/acirb/{dlgt.rb → model/dlgt.rb} +1 -1
  40. data/lib/acirb/{dns.rb → model/dns.rb} +1 -1
  41. data/lib/acirb/model/dpp.rb +2295 -0
  42. data/lib/acirb/{draw.rb → model/draw.rb} +1 -1
  43. data/lib/acirb/{edr.rb → model/edr.rb} +1 -1
  44. data/lib/acirb/{eigrp.rb → model/eigrp.rb} +1 -1
  45. data/lib/acirb/{ep.rb → model/ep.rb} +1 -1
  46. data/lib/acirb/{epm.rb → model/epm.rb} +1 -1
  47. data/lib/acirb/{eptrk.rb → model/eptrk.rb} +1 -1
  48. data/lib/acirb/{eqpt.rb → model/eqpt.rb} +1 -1
  49. data/lib/acirb/{eqptcap.rb → model/eqptcap.rb} +1 -1
  50. data/lib/acirb/{eqptcapacity.rb → model/eqptcapacity.rb} +1 -1
  51. data/lib/acirb/{eqptdiag.rb → model/eqptdiag.rb} +1 -1
  52. data/lib/acirb/{eqptdiagp.rb → model/eqptdiagp.rb} +1 -1
  53. data/lib/acirb/{ethpm.rb → model/ethpm.rb} +1 -1
  54. data/lib/acirb/{event.rb → model/event.rb} +1 -1
  55. data/lib/acirb/{extnw.rb → model/extnw.rb} +1 -1
  56. data/lib/acirb/{fabric.rb → model/fabric.rb} +1 -1
  57. data/lib/acirb/{fault.rb → model/fault.rb} +1 -1
  58. data/lib/acirb/model/fcpr.rb +353 -0
  59. data/lib/acirb/{file.rb → model/file.rb} +1 -1
  60. data/lib/acirb/{firmware.rb → model/firmware.rb} +1 -1
  61. data/lib/acirb/{fmcast.rb → model/fmcast.rb} +1 -1
  62. data/lib/acirb/{frmwrk.rb → model/frmwrk.rb} +1 -1
  63. data/lib/acirb/{fsm.rb → model/fsm.rb} +1 -1
  64. data/lib/acirb/{fv.rb → model/fv.rb} +1 -1
  65. data/lib/acirb/{fvcap.rb → model/fvcap.rb} +1 -1
  66. data/lib/acirb/{fvns.rb → model/fvns.rb} +1 -1
  67. data/lib/acirb/{fvtopo.rb → model/fvtopo.rb} +1 -1
  68. data/lib/acirb/{geo.rb → model/geo.rb} +1 -1
  69. data/lib/acirb/{glean.rb → model/glean.rb} +1 -1
  70. data/lib/acirb/{ha.rb → model/ha.rb} +1 -1
  71. data/lib/acirb/{health.rb → model/health.rb} +1 -1
  72. data/lib/acirb/{hvs.rb → model/hvs.rb} +1 -1
  73. data/lib/acirb/{icmp.rb → model/icmp.rb} +1 -1
  74. data/lib/acirb/{icmpv4.rb → model/icmpv4.rb} +1 -1
  75. data/lib/acirb/{icmpv6.rb → model/icmpv6.rb} +1 -24
  76. data/lib/acirb/{ident.rb → model/ident.rb} +1 -1
  77. data/lib/acirb/{igmp.rb → model/igmp.rb} +1 -1
  78. data/lib/acirb/{igmpsnoop.rb → model/igmpsnoop.rb} +1 -55
  79. data/lib/acirb/{im.rb → model/im.rb} +1 -1
  80. data/lib/acirb/{imginstall.rb → model/imginstall.rb} +1 -1
  81. data/lib/acirb/{infra.rb → model/infra.rb} +1 -35
  82. data/lib/acirb/{ip.rb → model/ip.rb} +1 -1
  83. data/lib/acirb/{ipmcsnoop.rb → model/ipmcsnoop.rb} +1 -1
  84. data/lib/acirb/{ipv4.rb → model/ipv4.rb} +1 -1
  85. data/lib/acirb/{ipv6.rb → model/ipv6.rb} +1 -1
  86. data/lib/acirb/{isis.rb → model/isis.rb} +1 -1
  87. data/lib/acirb/{isistlv.rb → model/isistlv.rb} +1 -1
  88. data/lib/acirb/{l1.rb → model/l1.rb} +1 -1
  89. data/lib/acirb/{l1cap.rb → model/l1cap.rb} +1 -1
  90. data/lib/acirb/{l2.rb → model/l2.rb} +1 -1
  91. data/lib/acirb/{l2cap.rb → model/l2cap.rb} +1 -1
  92. data/lib/acirb/{l2ext.rb → model/l2ext.rb} +1 -1
  93. data/lib/acirb/{l3.rb → model/l3.rb} +1 -1
  94. data/lib/acirb/{l3cap.rb → model/l3cap.rb} +1 -1
  95. data/lib/acirb/{l3ext.rb → model/l3ext.rb} +1 -1
  96. data/lib/acirb/{l3vm.rb → model/l3vm.rb} +1 -1
  97. data/lib/acirb/{l4.rb → model/l4.rb} +1 -1
  98. data/lib/acirb/{lacp.rb → model/lacp.rb} +1 -1
  99. data/lib/acirb/{lbp.rb → model/lbp.rb} +1 -1
  100. data/lib/acirb/{leqpt.rb → model/leqpt.rb} +1 -1
  101. data/lib/acirb/{lldp.rb → model/lldp.rb} +1 -38
  102. data/lib/acirb/{lldptlv.rb → model/lldptlv.rb} +1 -1
  103. data/lib/acirb/{lldptlvpol.rb → model/lldptlvpol.rb} +1 -1
  104. data/lib/acirb/{maint.rb → model/maint.rb} +1 -1
  105. data/lib/acirb/{mcast.rb → model/mcast.rb} +1 -1
  106. data/lib/acirb/{mcp.rb → model/mcp.rb} +1 -1
  107. data/lib/acirb/{memory.rb → model/memory.rb} +1 -1
  108. data/lib/acirb/{mgmt.rb → model/mgmt.rb} +1 -1
  109. data/lib/acirb/{mldsnoop.rb → model/mldsnoop.rb} +1 -1
  110. data/lib/acirb/model/mo.rb +77 -0
  111. data/lib/acirb/{mock.rb → model/mock.rb} +1 -1
  112. data/lib/acirb/{mon.rb → model/mon.rb} +1 -1
  113. data/lib/acirb/{monitor.rb → model/monitor.rb} +1 -1
  114. data/lib/acirb/model/naming.rb +48 -0
  115. data/lib/acirb/{nd.rb → model/nd.rb} +1 -1
  116. data/lib/acirb/{nw.rb → model/nw.rb} +1 -1
  117. data/lib/acirb/{nws.rb → model/nws.rb} +1 -25
  118. data/lib/acirb/{oam.rb → model/oam.rb} +1 -1
  119. data/lib/acirb/{observer.rb → model/observer.rb} +1 -1
  120. data/lib/acirb/{opflex.rb → model/opflex.rb} +1 -1
  121. data/lib/acirb/model/opflexp.rb +405 -0
  122. data/lib/acirb/{os.rb → model/os.rb} +1 -1
  123. data/lib/acirb/{ospf.rb → model/ospf.rb} +1 -46
  124. data/lib/acirb/{ospfv3.rb → model/ospfv3.rb} +1 -1
  125. data/lib/acirb/{pc.rb → model/pc.rb} +1 -1
  126. data/lib/acirb/{pcons.rb → model/pcons.rb} +1 -1
  127. data/lib/acirb/{phys.rb → model/phys.rb} +1 -1
  128. data/lib/acirb/{ping.rb → model/ping.rb} +1 -1
  129. data/lib/acirb/{pki.rb → model/pki.rb} +1 -1
  130. data/lib/acirb/{planner.rb → model/planner.rb} +1 -1
  131. data/lib/acirb/{pol.rb → model/pol.rb} +1 -1
  132. data/lib/acirb/{policer.rb → model/policer.rb} +1 -1
  133. data/lib/acirb/{pool.rb → model/pool.rb} +1 -1
  134. data/lib/acirb/{pres.rb → model/pres.rb} +1 -1
  135. data/lib/acirb/{proc.rb → model/proc.rb} +1 -1
  136. data/lib/acirb/{psu.rb → model/psu.rb} +1 -1
  137. data/lib/acirb/{qos.rb → model/qos.rb} +1 -1
  138. data/lib/acirb/{qosm.rb → model/qosm.rb} +1 -1
  139. data/lib/acirb/{qosp.rb → model/qosp.rb} +1 -1
  140. data/lib/acirb/{rbqm.rb → model/rbqm.rb} +1 -1
  141. data/lib/acirb/model/recovery.rb +303 -0
  142. data/lib/acirb/{regress.rb → model/regress.rb} +1 -1
  143. data/lib/acirb/{reln.rb → model/reln.rb} +1 -1
  144. data/lib/acirb/{repl.rb → model/repl.rb} +1 -1
  145. data/lib/acirb/{res.rb → model/res.rb} +1 -1
  146. data/lib/acirb/{rib.rb → model/rib.rb} +1 -1
  147. data/lib/acirb/{rmon.rb → model/rmon.rb} +1 -1
  148. data/lib/acirb/{rpm.rb → model/rpm.rb} +1 -1
  149. data/lib/acirb/{rtcom.rb → model/rtcom.rb} +1 -1
  150. data/lib/acirb/{rtctrl.rb → model/rtctrl.rb} +1 -1
  151. data/lib/acirb/{rtextcom.rb → model/rtextcom.rb} +1 -1
  152. data/lib/acirb/{rtflt.rb → model/rtflt.rb} +1 -1
  153. data/lib/acirb/{rtleak.rb → model/rtleak.rb} +1 -1
  154. data/lib/acirb/{rtmap.rb → model/rtmap.rb} +1 -1
  155. data/lib/acirb/{rtpfx.rb → model/rtpfx.rb} +1 -1
  156. data/lib/acirb/{rtregcom.rb → model/rtregcom.rb} +1 -1
  157. data/lib/acirb/{rtsum.rb → model/rtsum.rb} +1 -1
  158. data/lib/acirb/{rule.rb → model/rule.rb} +1 -1
  159. data/lib/acirb/{satm.rb → model/satm.rb} +1 -1
  160. data/lib/acirb/{snmp.rb → model/snmp.rb} +1 -1
  161. data/lib/acirb/{span.rb → model/span.rb} +1 -1
  162. data/lib/acirb/{stats.rb → model/stats.rb} +1 -1
  163. data/lib/acirb/{statstore.rb → model/statstore.rb} +1 -1
  164. data/lib/acirb/{stormctrl.rb → model/stormctrl.rb} +1 -1
  165. data/lib/acirb/{stp.rb → model/stp.rb} +1 -1
  166. data/lib/acirb/{sts.rb → model/sts.rb} +1 -1
  167. data/lib/acirb/{svccore.rb → model/svccore.rb} +1 -1
  168. data/lib/acirb/{svi.rb → model/svi.rb} +1 -1
  169. data/lib/acirb/{synthetic.rb → model/synthetic.rb} +1 -1
  170. data/lib/acirb/{sysdebug.rb → model/sysdebug.rb} +1 -1
  171. data/lib/acirb/{sysfile.rb → model/sysfile.rb} +1 -1
  172. data/lib/acirb/{syshist.rb → model/syshist.rb} +1 -1
  173. data/lib/acirb/{syslog.rb → model/syslog.rb} +1 -1
  174. data/lib/acirb/{sysmgr.rb → model/sysmgr.rb} +1 -1
  175. data/lib/acirb/{sysmgrp.rb → model/sysmgrp.rb} +1 -1
  176. data/lib/acirb/{tag.rb → model/tag.rb} +1 -1
  177. data/lib/acirb/{task.rb → model/task.rb} +1 -1
  178. data/lib/acirb/{test.rb → model/test.rb} +1 -1
  179. data/lib/acirb/{testinfralab.rb → model/testinfralab.rb} +1 -1
  180. data/lib/acirb/model/throttler.rb +297 -0
  181. data/lib/acirb/{tlv.rb → model/tlv.rb} +1 -1
  182. data/lib/acirb/{top.rb → model/top.rb} +1 -1
  183. data/lib/acirb/{topoctrl.rb → model/topoctrl.rb} +1 -1
  184. data/lib/acirb/{traceroute.rb → model/traceroute.rb} +1 -1
  185. data/lib/acirb/{traceroutep.rb → model/traceroutep.rb} +1 -1
  186. data/lib/acirb/{trig.rb → model/trig.rb} +1 -1
  187. data/lib/acirb/{troubleshoot.rb → model/troubleshoot.rb} +1 -31
  188. data/lib/acirb/{tunnel.rb → model/tunnel.rb} +1 -1
  189. data/lib/acirb/model/ui.rb +57 -0
  190. data/lib/acirb/{uribv4.rb → model/uribv4.rb} +1 -1
  191. data/lib/acirb/{uribv6.rb → model/uribv6.rb} +1 -1
  192. data/lib/acirb/{viz.rb → model/viz.rb} +1 -1
  193. data/lib/acirb/{vlan.rb → model/vlan.rb} +1 -1
  194. data/lib/acirb/{vlanmgr.rb → model/vlanmgr.rb} +1 -1
  195. data/lib/acirb/{vmm.rb → model/vmm.rb} +1 -1
  196. data/lib/acirb/{vns.rb → model/vns.rb} +1 -1
  197. data/lib/acirb/{vpc.rb → model/vpc.rb} +1 -1
  198. data/lib/acirb/{vsvc.rb → model/vsvc.rb} +1 -1
  199. data/lib/acirb/{vtap.rb → model/vtap.rb} +1 -1
  200. data/lib/acirb/{vxlan.rb → model/vxlan.rb} +1 -1
  201. data/lib/acirb/{vz.rb → model/vz.rb} +1 -1
  202. data/lib/acirb/naming.rb +119 -43
  203. data/lib/{query.rb → acirb/query.rb} +1 -1
  204. data/lib/{restclient.rb → acirb/restclient.rb} +13 -3
  205. data/lib/acirb/version.rb +3 -0
  206. metadata +225 -207
  207. data/lib/autoloadmap.rb +0 -6626
  208. data/lib/mo.rb +0 -260
  209. data/lib/naming.rb +0 -124
  210. data/lib/version.rb +0 -3
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class TlvBasic < MO
5
5
  @class_name = 'tlv.Basic'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class TopInfo < MO
5
5
  @class_name = 'top.Info'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class TopoctrlEncapBlk < MO
5
5
  @class_name = 'topoctrl.EncapBlk'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class TracerouteAExec < MO
5
5
  @class_name = 'traceroute.AExec'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class TraceroutepRsTrDst < MO
5
5
  @class_name = 'traceroutep.RsTrDst'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class TrigAbsWindow < MO
5
5
  @class_name = 'trig.AbsWindow'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class TroubleshootEpTransition < MO
5
5
  @class_name = 'troubleshoot.EpTransition'
@@ -29,36 +29,6 @@ module ACIrb
29
29
  'epts-[' << @attributes['subj'] << ']-' << @attributes['id'] << ''
30
30
  end
31
31
  end
32
- class TroubleshootReportGenStatus < MO
33
- @class_name = 'troubleshoot.ReportGenStatus'
34
- @ruby_class = 'TroubleshootReportGenStatus'
35
- @prefix = 'reportStatus-'
36
- @prefixes = [['reportStatus-', true]]
37
- @rn_format = 'reportStatus-%(createTime)s'
38
- @containers = ['TroubleshootSession']
39
- @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
40
- 'createTime' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => false },
41
- 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
42
- 'format' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
43
- 'include' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
44
- 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
45
- 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
46
- 'mode' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
47
- 'nodeId' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
48
- 'reportRequestStatus' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
49
- 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
50
- 'sessionUrl' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
51
- 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
52
- 'statusDetails' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
53
- @child_classes = []
54
- @label = 'troubleshoot report status MO'
55
- @naming_props = ['createTime']
56
- @read_only = true
57
-
58
- def rn
59
- 'reportStatus-' << @attributes['createTime'] << ''
60
- end
61
- end
62
32
  class TroubleshootReportStatus < MO
63
33
  @class_name = 'troubleshoot.ReportStatus'
64
34
  @ruby_class = 'TroubleshootReportStatus'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class TunnelBank < MO
5
5
  @class_name = 'tunnel.Bank'
@@ -0,0 +1,57 @@
1
+ # auto-generated code
2
+ require 'acirb/mo'
3
+ module ACIrb
4
+ class UiSettings < MO
5
+ @class_name = 'ui.Settings'
6
+ @ruby_class = 'UiSettings'
7
+ @prefix = 'uisettings'
8
+ @prefixes = [['uisettings', false]]
9
+ @rn_format = 'uisettings'
10
+ @containers = ['UiSettingsCont']
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
+ 'epPathLcC' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, '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
+ 'ownerKey' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
19
+ 'ownerTag' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
20
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
21
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
22
+ 'uid' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
23
+ @child_classes = ['FaultDelegate']
24
+ @label = 'UI Settings'
25
+ @naming_props = []
26
+ @read_only = false
27
+
28
+ def rn
29
+ 'uisettings'
30
+ end
31
+ end
32
+ class UiSettingsCont < MO
33
+ @class_name = 'ui.SettingsCont'
34
+ @ruby_class = 'UiSettingsCont'
35
+ @prefix = 'uisettingscont'
36
+ @prefixes = [['uisettingscont', false]]
37
+ @rn_format = 'uisettingscont'
38
+ @containers = ['PolUni']
39
+ @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
40
+ 'descr' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
41
+ 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
42
+ 'lcOwn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
43
+ 'modTs' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
44
+ 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
45
+ 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
46
+ 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
47
+ @child_classes = ['UiSettings', 'FaultDelegate']
48
+ @label = 'UI Settings Container'
49
+ @naming_props = []
50
+ @read_only = true
51
+
52
+ def rn
53
+ 'uisettingscont'
54
+ end
55
+ end
56
+
57
+ end
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class Uribv4Db < MO
5
5
  @class_name = 'uribv4.Db'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class Uribv6Db < MO
5
5
  @class_name = 'uribv6.Db'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class VizCounter < MO
5
5
  @class_name = 'viz.Counter'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class VlanCktEp < MO
5
5
  @class_name = 'vlan.CktEp'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class VlanmgrEntity < MO
5
5
  @class_name = 'vlanmgr.Entity'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class VmmAccGrpCont < MO
5
5
  @class_name = 'vmm.AccGrpCont'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class VnsAbsCfgRel < MO
5
5
  @class_name = 'vns.AbsCfgRel'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class VpcAppParamInfo < MO
5
5
  @class_name = 'vpc.AppParamInfo'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class VsvcAConsLbl < MO
5
5
  @class_name = 'vsvc.AConsLbl'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class VtapNatEntry < MO
5
5
  @class_name = 'vtap.NatEntry'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class VxlanCktEp < MO
5
5
  @class_name = 'vxlan.CktEp'
@@ -1,5 +1,5 @@
1
1
  # auto-generated code
2
- require 'mo'
2
+ require 'acirb/mo'
3
3
  module ACIrb
4
4
  class VzABrCP < MO
5
5
  @class_name = 'vz.ABrCP'
@@ -1,48 +1,124 @@
1
- # auto-generated code
2
- require 'mo'
3
1
  module ACIrb
4
- class NamingNamedIdentifiedObject < MO
5
- @class_name = 'naming.NamedIdentifiedObject'
6
- @ruby_class = 'NamingNamedIdentifiedObject'
7
- @prefix = ''
8
- @prefixes = []
9
- @rn_format = ''
10
- @containers = []
11
- @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
12
- 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
13
- 'id' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
14
- 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
15
- 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
16
- 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
17
- @child_classes = []
18
- @label = 'None'
19
- @naming_props = []
20
- @read_only = false
21
-
22
- def rn
23
- ''
2
+ class Naming
3
+ def self.split_outside_brackets(dn_str, splitChar)
4
+ depth = 0
5
+ place = 0
6
+ last_split = 0
7
+ pieces = []
8
+ while place < dn_str.length
9
+ c = dn_str[place]
10
+ if c == '['
11
+ depth += 1
12
+ elsif c == ']'
13
+ depth -= 1
14
+ end
15
+ if depth == 0 && c == splitChar && place != 0
16
+ pieces.push(dn_str[last_split..place])
17
+ last_split = place + 1
18
+ end
19
+ place += 1
20
+ end
21
+ pieces.push(dn_str[last_split..place - 1]) if place != last_split
22
+
23
+ pieces
24
24
  end
25
- end
26
- class NamingNamedObject < MO
27
- @class_name = 'naming.NamedObject'
28
- @ruby_class = 'NamingNamedObject'
29
- @prefix = ''
30
- @prefixes = []
31
- @rn_format = ''
32
- @containers = []
33
- @props = { 'childAction' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
34
- 'dn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => true, 'isRn' => false },
35
- 'name' => { 'isAdmin' => true, 'isImplicit' => false, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false },
36
- 'rn' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => true, 'isDn' => false, 'isRn' => true },
37
- 'status' => { 'isAdmin' => true, 'isImplicit' => true, 'isCreateOnly' => false, 'isDn' => false, 'isRn' => false } }
38
- @child_classes = []
39
- @label = 'None'
40
- @naming_props = []
41
- @read_only = false
42
-
43
- def rn
44
- ''
25
+
26
+ def self.strip_last_delimiter(str, delim)
27
+ if str[-1] == delim
28
+ return str[0..-2]
29
+ else
30
+ return str
31
+ end
32
+ end
33
+
34
+ def self.strip_outer_brackets(str)
35
+ if str[0] == '[' && str[-1] == ']'
36
+ return str[1..-2]
37
+ else
38
+ return str
39
+ end
40
+ end
41
+
42
+ def self.split_dn_str(dn_str)
43
+ rns = []
44
+ split_outside_brackets(dn_str, '/').each do |rn|
45
+ rns.push(strip_last_delimiter(rn, '/'))
46
+ end
47
+ rns
48
+ end
49
+
50
+ def self.split_rn_str(rn_str, delims)
51
+ rn_pieces = []
52
+ delims.each_with_index do |(delim, _has_prop), index|
53
+ begin_delim = rn_str.split(delim)
54
+
55
+ if index == delims.length - 1
56
+ name_prop = begin_delim[1]
57
+ else
58
+ rn_str = begin_delim[1]
59
+ end_delim = rn_str.split(delims[index + 1][0])
60
+ name_prop = end_delim[0]
61
+ end
62
+
63
+ rn_pieces.push(delim)
64
+ rn_pieces.push(name_prop)
65
+ end
66
+ rn_pieces
45
67
  end
46
- end
47
68
 
69
+ def self.get_mo_from_dn(dn_str)
70
+ rns = split_dn_str(dn_str)
71
+ mo = ACIrb::TopRoot.new(nil)
72
+ rns.each do |rn|
73
+ mo = get_mo_from_rn(mo, rn)
74
+ end
75
+ mo
76
+ end
77
+
78
+ def self.get_mo_from_rn(parent_mo, rn_str)
79
+ mo = get_class_from_child_prefix(parent_mo, rn_str).new(parent_mo)
80
+ return mo if mo.naming_props.length == 0
81
+ rn_pieces = split_rn_str(rn_str, mo.prefixes)
82
+ rn_values = rn_pieces.values_at(*(1..rn_pieces.length - 1).step(2))
83
+ mo.naming_props.each_with_index do |prop_name, index|
84
+ prop_val = rn_values[index]
85
+ mo.set_prop(prop_name.to_s, strip_outer_brackets(prop_val))
86
+ end
87
+ mo
88
+ end
89
+
90
+ def self.match_prefix_in_list(rn_str, prefix_list)
91
+ matches = false
92
+ prefix_match = ''
93
+ prefix_list.each do |prefix|
94
+ if rn_str.start_with?(prefix)
95
+ matches = true
96
+ prefix_match = prefix
97
+ break
98
+ end
99
+ end
100
+
101
+ return prefix_match if matches
102
+
103
+ nil
104
+ end
105
+
106
+ def self.get_class_from_child_prefix(parent_mo, rn_str)
107
+ prefix_to_class = {}
108
+ parent_mo.child_classes.each do |c|
109
+ cls = ACIrb.const_get(c)
110
+ prefix_to_class[cls.prefix] = cls
111
+ end
112
+
113
+ lpm = prefix_to_class.keys.sort_by { |x| -1 * x.length }
114
+ prefix_match = match_prefix_in_list(rn_str, lpm)
115
+
116
+ if prefix_match
117
+ return prefix_to_class[prefix_match]
118
+ else
119
+ fail 'Unknown child prefix ' + rn_str + ' in container class ' +
120
+ parent_mo.class.to_s
121
+ end
122
+ end
123
+ end
48
124
  end
@@ -1,4 +1,4 @@
1
- require 'restclient'
1
+ require 'acirb/restclient'
2
2
 
3
3
  # rubocop:disable ClassLength
4
4
  # rubocop:disable FormatString
@@ -104,6 +104,16 @@ module ACIrb
104
104
  @refresh_time = doc.at_css('aaaLogin')['refreshTimeoutSeconds']
105
105
  end
106
106
 
107
+ # Internal: Escape URI before using with APIC REST interface
108
+ #
109
+ # uri - URI to escape
110
+ #
111
+ # Returns escaped URI as string
112
+
113
+ def escape(uri)
114
+ return URI.encode(uri, /[^\-_.!~*'()a-zA-Z\d;\/?:@&=+$,]/)
115
+ end
116
+
107
117
  # Internal: Posts data to the APIC REST interface
108
118
  #
109
119
  # options - Hash options for defining post parameters (default: {})
@@ -113,7 +123,7 @@ module ACIrb
113
123
  # Returns results of parse_response, which will be the parsed results of
114
124
  # the XML or JSON payload represented as ACIrb::MO objects
115
125
  def post(options)
116
- post_url = URI.encode(@baseurl.to_s + options[:url].to_s)
126
+ post_url = self.escape(@baseurl.to_s + options[:url].to_s)
117
127
 
118
128
  data = options[:data]
119
129
  if @format == 'xml'
@@ -138,7 +148,7 @@ module ACIrb
138
148
  # Returns results of parse_response, which will be the parsed results of
139
149
  # the XML or JSON payload represented as ACIrb::MO objects
140
150
  def get(options)
141
- get_url = URI.encode(@baseurl.to_s + options[:url].to_s)
151
+ get_url = self.escape(@baseurl.to_s + options[:url].to_s)
142
152
 
143
153
  puts 'GET REQUEST', get_url if @debug
144
154
  response = @client.get(get_url)
@@ -238,7 +248,7 @@ module ACIrb
238
248
  query_obj.subscribe = 'yes'
239
249
  query_uri = query_obj.uri(@format)
240
250
 
241
- get_url = URI.encode(@baseurl.to_s + query_uri.to_s)
251
+ get_url = self.escape(@baseurl.to_s + query_uri.to_s)
242
252
 
243
253
  puts 'GET REQUEST', get_url if @debug
244
254
  response = @client.get(get_url)