(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(X) (DQ ($ VSub_Number "$1"))} {(Lit_Other "=")} {(X)} 
                  {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(echo)} {(DQ (" ** one argument required (environment name)"))})
            (C {(exit)} {(-1)})
          ]
          spids: [-1 20]
        )
      ]
      spids: [-1 34]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(KW_Bang "!")} {(-f)} 
                  {(environments/) ($ VSub_Number "$1") (.json)} {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(echo)} {(DQ (" ** must create environments/") ($ VSub_Number "$1") (".json first..."))})
            (C {(echo)} 
              {
                (DQ ("    (try 'cp environments/Test-Laptop.json environments/") ($ VSub_Number "$1") 
                  (".json' and editing)")
                )
              }
            )
            (C {(exit)} {(-1)})
          ]
          spids: [-1 52]
        )
      ]
      spids: [-1 77]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(-f)} {(data_bags/configs/) ($ VSub_Number "$1") (.json)} 
                  {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(echo)} 
              {(DQ (" ** file data_bags/configs/") ($ VSub_Number "$1") (".json already exists"))}
            )
            (C {(exit)} {(-1)})
          ]
          spids: [-1 93]
        )
      ]
      spids: [-1 109]
    )
    (C {(./make_secret.sh)})
    (Pipeline
      children: [
        (SimpleCommand
          words: [{(erubis)} {(-c)} {(DQ ("context['environ']='") ($ VSub_Number "$1") ("'"))}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: -1
              body: 
                {
                  (DQ ("<%\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(") (Right_DoubleQuote "\"") 
                    ("environments/#{@environ}.json") (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(") 
                    (Right_DoubleQuote "\"") (cookbooks/bcpc/templates/default/openssl.cnf.erb) (Right_DoubleQuote "\"") 
                    (")).result(:node=>node)\n") ("File.open(") (Right_DoubleQuote "\"") (/tmp/openssl.cnf) (Right_DoubleQuote "\"") 
                    (", 'w') {|f| f.write(ssl_conf)}\n") ("%>\n") ("{\n") ("    ") (Right_DoubleQuote "\"") (id) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{node['bcpc']['region_name']}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (ceilometer-secret) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (ceph-fs-uuid) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{%x[uuidgen].strip.downcase}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (ceph-mon-key) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{ceph_keygen}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (contrail-api-passwd) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (contrail-control-passwd) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (contrail-dns-passwd) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (contrail-metadata-secret) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (contrail-schema-passwd) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (contrail-svc-monitor-passwd) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (glance-cloudpipe-uuid) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{%x[uuidgen].strip.downcase}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (graphite-secret-key) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (haproxy-stats-password) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (haproxy-stats-user) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") (haproxy) (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (horizon-secret-key) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (keepalived-password) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (keepalived-router-id) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{(rand * 1000).to_i%254/2*2+1}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (keystone-admin-password) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (keystone-admin-token) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (keystone-admin-user) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (admin) (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 "
                    ) (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']}"
                    ) (Right_DoubleQuote "\"") ("] %>\n") ("    ") (Right_DoubleQuote "\"") (keystone-pki-certificate) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{%x[echo ") (Right_DoubleQuote "\"") 
                    ("#{temp}") (Right_DoubleQuote "\"") (" | openssl x509].gsub(/") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) 
                    ("/,'") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("')}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (keystone-pki-private-key) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{%x[echo ") (Right_DoubleQuote "\"") ("#{temp}") 
                    (Right_DoubleQuote "\"") (" | openssl rsa -passin pass:temp_passwd -out /dev/stdout].gsub(/") 
                    (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("/,'") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("')}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (keystone-test-password) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (keystone-test-user) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") (tester) (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (libvirt-secret-uuid) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{%x[uuidgen].strip.downcase}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-ceilometer-password) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-ceilometer-user) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (ceilometer) (Right_DoubleQuote "\"") (",\n") ("    ") 
                    (Right_DoubleQuote "\"") (mysql-check-password) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") 
                    (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") 
                    (Right_DoubleQuote "\"") (mysql-check-user) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (check) 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-cinder-password) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-cinder-user) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") (cinder) (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-galera-password) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-galera-user) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (sst) (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") 
                    (mysql-glance-password) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") 
                    ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") 
                    (mysql-glance-user) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (glance) (Right_DoubleQuote "\"") (",\n") ("    ") 
                    (Right_DoubleQuote "\"") (mysql-graphite-password) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") 
                    (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") 
                    (Right_DoubleQuote "\"") (mysql-graphite-user) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (graphite) 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-heat-password) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-heat-user) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") (heat) (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-horizon-password) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-horizon-user) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (horizon) (Right_DoubleQuote "\"") (",\n") ("    ") 
                    (Right_DoubleQuote "\"") (mysql-keystone-password) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") 
                    (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") 
                    (Right_DoubleQuote "\"") (mysql-keystone-user) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (keystone) 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-neutron-password) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-neutron-user) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") (neutron) (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-nova-password) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-nova-user) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (nova) (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") 
                    (mysql-pdns-password) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") 
                    ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") 
                    (mysql-pdns-user) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (pdns) (Right_DoubleQuote "\"") (",\n") ("    ") 
                    (Right_DoubleQuote "\"") (mysql-root-password) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") 
                    (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") 
                    (Right_DoubleQuote "\"") (mysql-root-user) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (root) (Right_DoubleQuote "\"") 
                    (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-zabbix-password) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (mysql-zabbix-user) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") (zabbix) (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (rabbitmq-cookie) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (rabbitmq-password) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (rabbitmq-user) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (guest) (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") 
                    (radosgw-admin-access-key) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") 
                    ("#{secure_password_alphanum_upper}") (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") 
                    (radosgw-admin-secret-key) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") 
                    ("#{secure_password(40)}") (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") 
                    (radosgw-admin-user) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (radosgw) (Right_DoubleQuote "\"") (",\n") 
                    ("    ") (Right_DoubleQuote "\"") (radosgw-test-access-key) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password_alphanum_upper}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (radosgw-test-secret-key) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password(40)}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (radosgw-test-user) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") (tester) (Right_DoubleQuote "\"") (",\n") ("    <% key = OpenSSL::PKey::RSA.new 2048; pubkey = ") 
                    (Right_DoubleQuote "\"") ("#{key.ssh_type} #{[ key.to_blob ].pack('m0')}") (Right_DoubleQuote "\"") (" %>\n") ("    ") 
                    (Right_DoubleQuote "\"") (ssh-nova-private-key) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") 
                    (Right_DoubleQuote "\"") ("#{key.to_pem.gsub(/") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("/,'") 
                    (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("')}") (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") 
                    (ssh-nova-public-key) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") 
                    ("#{pubkey.gsub(/") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("/,'')}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    <% key = OpenSSL::PKey::RSA.new 2048; pubkey = ") (Right_DoubleQuote "\"") 
                    ("#{key.ssh_type} #{[ key.to_blob ].pack('m0')}") (Right_DoubleQuote "\"") (" %>\n") ("    ") (Right_DoubleQuote "\"") (ssh-private-key) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{key.to_pem.gsub(/") 
                    (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("/,'") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("')}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (ssh-public-key) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{pubkey.gsub(/") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) 
                    ("/,'')}") (Right_DoubleQuote "\"") ("%>") (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 "
                    ) (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']}"
                    ) (Right_DoubleQuote "\"") ("] %>\n") ("    ") (Right_DoubleQuote "\"") (ssl-certificate) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{%x[echo ") (Right_DoubleQuote "\"") 
                    ("#{temp}") (Right_DoubleQuote "\"") (" | openssl x509].gsub(/") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) 
                    ("/,'") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("')}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (ssl-private-key) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{%x[echo ") (Right_DoubleQuote "\"") ("#{temp}") 
                    (Right_DoubleQuote "\"") (" | openssl rsa -passin pass:temp_passwd -out /dev/stdout].gsub(/") 
                    (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("/,'") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("')}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (zabbix-admin-password) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") (Right_DoubleQuote "\"") ("%>") 
                    (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (zabbix-admin-user) (Right_DoubleQuote "\"") (": ") 
                    (Right_DoubleQuote "\"") (admin) (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (zabbix-guest-password) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") ("<%=") (Right_DoubleQuote "\"") ("#{secure_password}") 
                    (Right_DoubleQuote "\"") ("%>") (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") (zabbix-guest-user) 
                    (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (guest) (Right_DoubleQuote "\"") ("\n") ("}\n")
                  )
                }
              do_expansion: True
              here_end: EOH
              was_filled: True
              spids: [125]
            )
            (Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[128])
          ]
        )
        (C {(knife)} {(solo)} {(data)} {(bag)} {(create)} {(configs)} {($ VSub_Number "$1")} {(--json-file)} 
          {(/dev/stdin)} {(--data-bag-path)} {(data_bags)} {(--secret-file)} {(secret_file)}
        )
      ]
      negated: False
    )
    (Pipeline
      children: [
        (C {(cat)} {(data_bags/configs/) ($ VSub_Number "$1") (.json)})
        (SimpleCommand
          words: [{(python)} {(-mjson.tool)}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: -1
              arg_word: {(data_bags/configs/) ($ VSub_Number "$1") (.json.new)}
              spids: [1113]
            )
          ]
        )
      ]
      negated: False
    )
    (C {(mv)} {(-f)} {(data_bags/configs/) ($ VSub_Number "$1") (.json.new)} 
      {(data_bags/configs/) ($ VSub_Number "$1") (.json)}
    )
    (C {(echo)} {(DQ (" ** created data_bags/configs/") ($ VSub_Number "$1") (.json))})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other "[")} {(KW_Bang "!")} {(-f)} {(id_rsa)} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(touch)} {(id_rsa)})
            (C {(chmod)} {(600)} {(id_rsa)})
            (SimpleCommand
              words: [{(erubis)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("<%\n") ("require 'json'\n") ("JSON.create_id = nil\n") 
                        ("bag = JSON.parse(%x[knife solo data bag show configs ") ($ VSub_Number "$1") (" --data-bag-path data_bags --secret-file secret_file -fjson])\n") ("%>\n") 
                        ("<%=") (Right_DoubleQuote "\"") ("#{bag['ssh-private-key']}") (Right_DoubleQuote "\"") ("%>\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOH
                  was_filled: True
                  spids: [1170]
                )
                (Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[1173])
                (Redir op_id:Redir_DGreat fd:-1 arg_word:{(id_rsa)} spids:[1176])
              ]
            )
            (C {(echo)} {(DQ (" ** created ./id_rsa with ssh key for BCPC nodes"))})
          ]
          spids: [-1 1153]
        )
      ]
      spids: [-1 1199]
    )
  ]
)