(command.CommandList
  children: [
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<X> (DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {<X>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} {(DQ <' ** one argument required (environment name)'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<-1>})
          ]
          spids: [4 20]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                  {<environments/> ($ Id.VSub_Number '$1') <.json>} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} 
              {(DQ <' ** must create environments/'> ($ Id.VSub_Number '$1') <'.json first...'>)}
            )
            (C {<echo>} 
              {
                (DQ <"    (try 'cp environments/Test-Laptop.json environments/"> 
                  ($ Id.VSub_Number '$1') <".json' and editing)">
                )
              }
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<-1>})
          ]
          spids: [37 52]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<-f>} {<data_bags/configs/> ($ Id.VSub_Number '$1') <.json>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} 
              {(DQ <' ** file data_bags/configs/'> ($ Id.VSub_Number '$1') <'.json already exists'>)}
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<-1>})
          ]
          spids: [80 93]
        )
      ]
    )
    (C {<./make_secret.sh>})
    (command.Pipeline
      children: [
        (command.Simple
          words: [{<erubis>} {<-c>} {(DQ <"context['environ']='"> ($ Id.VSub_Number '$1') <"'">)}]
          redirects: [
            (redir.HereDoc
              op: <Id.Redir_DLess '<<'>
              fd: -1
              here_begin: {<EOH>}
              here_end_span_id: 1101
              stdin_parts: [
                <'<%\n'>
                <"require 'openssl'\n">
                <"require 'json'\n">
                <"require 'net/ssh'\n">
                <"require 'erubis'\n">
                <'\n'>
                <'JSON.create_id = nil\n'>
                <'node = JSON.parse(IO.read('>
                <Id.Right_DoubleQuote '"'>
                <'environments/#{@environ}.json'>
                <Id.Right_DoubleQuote '"'>
                <"))['override_attributes']\n">
                <"node['bcpc']['region_name'] = @environ\n">
                <'\n'>
                <"load 'cookbooks/bcpc/libraries/utils.rb'\n">
                <'\n'>
                <'ssl_conf = Erubis::Eruby.new(IO.read('>
                <Id.Right_DoubleQuote '"'>
                <cookbooks/bcpc/templates/default/openssl.cnf.erb>
                <Id.Right_DoubleQuote '"'>
                <')).result(:node=>node)\n'>
                <'File.open('>
                <Id.Right_DoubleQuote '"'>
                </tmp/openssl.cnf>
                <Id.Right_DoubleQuote '"'>
                <", 'w') {|f| f.write(ssl_conf)}\n">
                <'%>\n'>
                <'{\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <id>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <"#{node['bcpc']['region_name']}">
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <ceilometer-secret>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <ceph-fs-uuid>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{%x[uuidgen].strip.downcase}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <ceph-mon-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{ceph_keygen}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <contrail-api-passwd>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <contrail-control-passwd>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <contrail-dns-passwd>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <contrail-metadata-secret>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <contrail-schema-passwd>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <contrail-svc-monitor-passwd>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <glance-cloudpipe-uuid>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{%x[uuidgen].strip.downcase}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <graphite-secret-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <haproxy-stats-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <haproxy-stats-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <haproxy>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <horizon-secret-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <keepalived-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <keepalived-router-id>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{(rand * 1000).to_i%254/2*2+1}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <keystone-admin-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <keystone-admin-token>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <keystone-admin-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <admin>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <
'    <% temp = %x[openssl req -new -x509 -passout pass:temp_passwd -newkey rsa:2048 -out /dev/stdout -keyout /dev/stdout -days 1095 -subj '
                >
                <Id.Right_DoubleQuote '"'>
                <
"/C=#{node['bcpc']['country']}/ST=#{node['bcpc']['state']}/L=#{node['bcpc']['location']}/O=#{node['bcpc']['organization']}/OU=#{node['bcpc']['region_name']}/CN=keystone.#{node['bcpc']['cluster_domain']}/emailAddress=#{node['bcpc']['admin_email']}"
                >
                <Id.Right_DoubleQuote '"'>
                <'] %>\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <keystone-pki-certificate>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{%x[echo '>
                <Id.Right_DoubleQuote '"'>
                <'#{temp}'>
                <Id.Right_DoubleQuote '"'>
                <' | openssl x509].gsub(/'>
                <Id.Lit_Other '\\'>
                <"n/,'">
                <Id.Lit_Other '\\'>
                <"n')}">
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <keystone-pki-private-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{%x[echo '>
                <Id.Right_DoubleQuote '"'>
                <'#{temp}'>
                <Id.Right_DoubleQuote '"'>
                <' | openssl rsa -passin pass:temp_passwd -out /dev/stdout].gsub(/'>
                <Id.Lit_Other '\\'>
                <"n/,'">
                <Id.Lit_Other '\\'>
                <"n')}">
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <keystone-test-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <keystone-test-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <tester>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <libvirt-secret-uuid>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{%x[uuidgen].strip.downcase}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-ceilometer-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-ceilometer-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <ceilometer>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-check-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-check-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <check>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-cinder-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-cinder-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <cinder>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-galera-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-galera-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <sst>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-glance-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-glance-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <glance>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-graphite-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-graphite-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <graphite>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-heat-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-heat-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <heat>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-horizon-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-horizon-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <horizon>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-keystone-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-keystone-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <keystone>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-neutron-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-neutron-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <neutron>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-nova-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-nova-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <nova>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-pdns-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-pdns-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <pdns>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-root-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-root-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <root>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-zabbix-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <mysql-zabbix-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <zabbix>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <rabbitmq-cookie>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <rabbitmq-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <rabbitmq-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <guest>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <radosgw-admin-access-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password_alphanum_upper}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <radosgw-admin-secret-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password(40)}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <radosgw-admin-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <radosgw>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <radosgw-test-access-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password_alphanum_upper}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <radosgw-test-secret-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password(40)}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <radosgw-test-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <tester>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    <% key = OpenSSL::PKey::RSA.new 2048; pubkey = '>
                <Id.Right_DoubleQuote '"'>
                <"#{key.ssh_type} #{[ key.to_blob ].pack('m0')}">
                <Id.Right_DoubleQuote '"'>
                <' %>\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <ssh-nova-private-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{key.to_pem.gsub(/'>
                <Id.Lit_Other '\\'>
                <"n/,'">
                <Id.Lit_Other '\\'>
                <"n')}">
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <ssh-nova-public-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{pubkey.gsub(/'>
                <Id.Lit_Other '\\'>
                <"n/,'')}">
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    <% key = OpenSSL::PKey::RSA.new 2048; pubkey = '>
                <Id.Right_DoubleQuote '"'>
                <"#{key.ssh_type} #{[ key.to_blob ].pack('m0')}">
                <Id.Right_DoubleQuote '"'>
                <' %>\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <ssh-private-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{key.to_pem.gsub(/'>
                <Id.Lit_Other '\\'>
                <"n/,'">
                <Id.Lit_Other '\\'>
                <"n')}">
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <ssh-public-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{pubkey.gsub(/'>
                <Id.Lit_Other '\\'>
                <"n/,'')}">
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <
'    <% temp = %x[openssl req -config /tmp/openssl.cnf -extensions v3_req -new -x509 -passout pass:temp_passwd -newkey rsa:4096 -out /dev/stdout -keyout /dev/stdout -days 1095 -subj '
                >
                <Id.Right_DoubleQuote '"'>
                <
"/C=#{node['bcpc']['country']}/ST=#{node['bcpc']['state']}/L=#{node['bcpc']['location']}/O=#{node['bcpc']['organization']}/OU=#{node['bcpc']['region_name']}/CN=openstack.#{node['bcpc']['cluster_domain']}/emailAddress=#{node['bcpc']['admin_email']}"
                >
                <Id.Right_DoubleQuote '"'>
                <'] %>\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <ssl-certificate>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{%x[echo '>
                <Id.Right_DoubleQuote '"'>
                <'#{temp}'>
                <Id.Right_DoubleQuote '"'>
                <' | openssl x509].gsub(/'>
                <Id.Lit_Other '\\'>
                <"n/,'">
                <Id.Lit_Other '\\'>
                <"n')}">
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <ssl-private-key>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{%x[echo '>
                <Id.Right_DoubleQuote '"'>
                <'#{temp}'>
                <Id.Right_DoubleQuote '"'>
                <' | openssl rsa -passin pass:temp_passwd -out /dev/stdout].gsub(/'>
                <Id.Lit_Other '\\'>
                <"n/,'">
                <Id.Lit_Other '\\'>
                <"n')}">
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <zabbix-admin-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <zabbix-admin-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <admin>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <zabbix-guest-password>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <'<%='>
                <Id.Right_DoubleQuote '"'>
                <'#{secure_password}'>
                <Id.Right_DoubleQuote '"'>
                <'%>'>
                <Id.Right_DoubleQuote '"'>
                <',\n'>
                <'    '>
                <Id.Right_DoubleQuote '"'>
                <zabbix-guest-user>
                <Id.Right_DoubleQuote '"'>
                <': '>
                <Id.Right_DoubleQuote '"'>
                <guest>
                <Id.Right_DoubleQuote '"'>
                <'\n'>
                <'}\n'>
              ]
            )
            (redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})
          ]
        )
        (C {<knife>} {<solo>} {<data>} {<bag>} {<create>} {<configs>} {($ Id.VSub_Number '$1')} 
          {<--json-file>} {</dev/stdin>} {<--data-bag-path>} {<data_bags>} {<--secret-file>} {<secret_file>}
        )
      ]
      negated: F
    )
    (command.Pipeline
      children: [
        (C {<cat>} {<data_bags/configs/> ($ Id.VSub_Number '$1') <.json>})
        (command.Simple
          words: [{<python>} {<-mjson.tool>}]
          redirects: [
            (redir.Redir
              op: <Id.Redir_Great '>'>
              fd: -1
              arg_word: {<data_bags/configs/> ($ Id.VSub_Number '$1') <.json.new>}
            )
          ]
        )
      ]
      negated: F
    )
    (C {<mv>} {<-f>} {<data_bags/configs/> ($ Id.VSub_Number '$1') <.json.new>} 
      {<data_bags/configs/> ($ Id.VSub_Number '$1') <.json>}
    )
    (C {<echo>} {(DQ <' ** created data_bags/configs/'> ($ Id.VSub_Number '$1') <.json>)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<id_rsa>} {<Id.Lit_RBracket ']'>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<touch>} {<id_rsa>})
            (C {<chmod>} {<600>} {<id_rsa>})
            (command.Simple
              words: [{<erubis>}]
              redirects: [
                (redir.HereDoc
                  op: <Id.Redir_DLess '<<'>
                  fd: -1
                  here_begin: {<EOH>}
                  here_end_span_id: 1195
                  stdin_parts: [
                    <'<%\n'>
                    <"require 'json'\n">
                    <'JSON.create_id = nil\n'>
                    <'bag = JSON.parse(%x[knife solo data bag show configs '>
                    ($ Id.VSub_Number '$1')
                    <' --data-bag-path data_bags --secret-file secret_file -fjson])\n'>
                    <'%>\n'>
                    <'<%='>
                    <Id.Right_DoubleQuote '"'>
                    <"#{bag['ssh-private-key']}">
                    <Id.Right_DoubleQuote '"'>
                    <'%>\n'>
                  ]
                )
                (redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>})
                (redir.Redir op:<Id.Redir_DGreat '>>'> fd:-1 arg_word:{<id_rsa>})
              ]
            )
            (C {<echo>} {(DQ <' ** created ./id_rsa with ssh key for BCPC nodes'>)})
          ]
          spids: [1142 1155]
        )
      ]
    )
  ]
)