On Tuesday, December 22, 2015 at 9:50:37 AM UTC-6, red 888 wrote: > > Thanks for taking the time to answer my questions. > > It seems like Puppet isn't the right tool for what I want to accomplish or > I will have to wait for native full featured Cisco support. > > I think my confusion came from the notion that extending puppet in this > way was a simple end usery task. >
Puppet's end users are generally sysadmins, so what is simple and end-usery for them is not necessarily very simple in an absolute sense. Even so, I'm not sure how you got the notion you describe. I've always found Puppet DSL to be fairly easy to *use*, but writing extensions is developing for Puppet, not using it, and Puppet's native language is Ruby. Perhaps you fell victim to precisely the misconception that I just denounced: that Puppet's language is some oddball form of scripting language. As I said, it isn't. > > I thought, for example, if I wanted to push out an EIGRP message digest > configuration (currently puppet device can't do this out of the box) I > could plug in my own code/ios commands *somewhere *and refer to it in my > module the same way I do other "resources'" like this (sloppy pseudo code): > > keychain { > name => chainName > keynumber => 5 > key-string => zzzzzzzz > } > > interface { > 'GigabitEthernet 0/1': > description => $interface_description_lan > eigrp keychain { > as => 123 > name => chainName > } > } > > No. Each resource type has a specific set of attributes that it supports, each with specific semantics. In this sense (and in most others) Puppet resource types are much closer analogs to Java or C++ classes than Puppet classes are. > But, if I understand what you are saying, that would require a great deal > of coding. Being that I am not a ruby dev this would probably be a waste > of my time. > > I don't know exactly how much "a great deal" of coding would be to you, but the amount involved is certainly a lot more than zero, and in addition to Ruby issues, there would be the learning curve specific to Puppet development. I imagine the end result would have at least a few hundred lines of Ruby code (but having done that once and gotten it working, you could reuse it widely). If you were looking for something you could do in a Monday morning, then no, I don't think this is it. On the other hand, if configuring EIGRP digest parameters is something you imagine others might want to do too, then you should consider filing a feature request ticket. BTW, do you plan to delete your SO question on this topic? It would be a waste for me to write an answer there if you're just going to delete the question. John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/8343f248-c157-4705-942f-8e30572c34be%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.