This script generates two files in the current directory: etc_hosts and etc_ssh_config . etc_hosts contains "ip hostname" lines for each Halo-managed server in a format similar to that used in the /etc/hosts file. This can be pasted into an existing /etc/hosts file to make it easy to locate hosts that do not have their hostnames registered in DNS. etc_ssh_config contains configuration blocks for each host similar to those used in ~/.ssh/config . It can be pasted into ~/.ssh/config or /etc/ssh/ssh_config to make it easy to reach hosts over ssh. Requirements: - ruby - The following ruby gems installed: oauth2, rest-client, json, date, and optparse. The following command will install all optional gems needed by the CloudPasssage API clients: sudo gem install oauth2 rest-client json public_suffix ip - A Read only (preferred) or Full access API key and secret , placed in /etc/halo-api-keys separated by a vertical pipe, like: aa00bb44|11111111222222223333333344444444 This file should be owned by the user that runs api scripts, mode 600. Developers only: If you're working with an alternate grid, put that grid's api hostname and port in the third column of the line: aa00bb44|11111111222222223333333344444444|api.example.com:9999 Installation: - Copy gen_host_files.rb and wlslib.rb to the same directory in your path. wlslib.rb will also be found if you copy it to any directory in your ruby library search path, which can be seen by running echo 'puts $:' | irb Sample invocations: #See help text and parameters: gen_host_files.rb -h #Create etc_hosts and etc_ssh_config files in the current directory: gen_host_files.rb -i ab45fe98