acirb 1.1.2.1 → 1.1.2.2

Sign up to get free protection for your applications and to get access to all the features.
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)