Kyle Kennedy

Introducing Nimble Playbook

Blog Post created by Kyle Kennedy on Apr 11, 2017

Taking some inspiration from Ansible I've put together a Ruby script that wraps the Bimbly REST client and digests yaml files to generate calls to the Nimble device. You don't need to understand Ruby to use the script, just yaml, and know that the first two levels of the yaml config are Array structures delimited by dashes.

 

How to Use (Ruby >= 2.0):

 

gem install bimbly

 

./nimble_playbook config.yml playbook.yml

 

And the rest is done by the script and library. The config.yml file is where the information about how to connect to a Nimble device are stored, and the playbook.yml file has all the calls and details that will go to the device.

 

Sample yaml Playbook

 

playbook_yaml.PNG

 

The script can be found here along with a README and some sample playbook/config files:

 

bimbly/bin at master · zumiez/bimbly · GitHub

 

I have also updated the Bimbly library to make it possible to generate Nimble playbooks. When using the library in irb, you can call 'save' rather than 'call' which will add the REST call to an array instead of sending it off to the device. You can see the REST calls as they are queued up with the method 'review'. Once you decide that you have all of the necessary calls queued up, you can then output them to a yaml file with 'create_playbook(filename)' and the library will write the yaml to disk to be used by the nimble_playbook script at any time.

 

I hope to add to the library here in the future that will help with generating templates, and have some sample templates ready as well.

 

Special thanks to Nimble SE alawrence for suggesting yaml config files for use with the REST client and allowing me to test out my script.

Outcomes