(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: [16777215 20]
        )
      ]
      spids: [16777215 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: [16777215 52]
        )
      ]
      spids: [16777215 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: [16777215 93]
        )
      ]
      spids: [16777215 109]
    )
    (C {(./make_secret.sh)})
    (Pipeline
      children: [
        (SimpleCommand
          words: [{(erubis)} {(-c)} {(DQ ("context['environ']='") ($ VSub_Number '$1') ("'"))}]
          redirects: [
            (HereDoc
              op_id: Redir_DLess
              fd: 16777215
              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(/') (Lit_Other '\\') ("n/,'") (Lit_Other '\\') ("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(/') 
                    (Lit_Other '\\') ("n/,'") (Lit_Other '\\') ("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(/') (Lit_Other '\\') ("n/,'") (Lit_Other '\\') ("n')}") 
                    (Right_DoubleQuote '"') ('%>') (Right_DoubleQuote '"') (',\n') ('    ') (Right_DoubleQuote '"') (ssh-nova-public-key) 
                    (Right_DoubleQuote '"') (': ') (Right_DoubleQuote '"') ('<%=') (Right_DoubleQuote '"') ('#{pubkey.gsub(/') (Lit_Other '\\') 
                    ("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(/') (Lit_Other '\\') ("n/,'") (Lit_Other '\\') ("n')}") 
                    (Right_DoubleQuote '"') ('%>') (Right_DoubleQuote '"') (',\n') ('    ') (Right_DoubleQuote '"') (ssh-public-key) 
                    (Right_DoubleQuote '"') (': ') (Right_DoubleQuote '"') ('<%=') (Right_DoubleQuote '"') ('#{pubkey.gsub(/') (Lit_Other '\\') 
                    ("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(/') (Lit_Other '\\') ("n/,'") (Lit_Other '\\') ("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(/') 
                    (Lit_Other '\\') ("n/,'") (Lit_Other '\\') ("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: 16777215
              arg_word: {(data_bags/configs/) ($ VSub_Number '$1') (.json.new)}
              spids: [1114]
            )
          ]
        )
      ]
      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: 16777215
                  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: [1171]
                )
                (Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[1174])
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {(id_rsa)}
                  spids: [1177]
                )
              ]
            )
            (C {(echo)} {(DQ (' ** created ./id_rsa with ssh key for BCPC nodes'))})
          ]
          spids: [16777215 1154]
        )
      ]
      spids: [16777215 1201]
    )
  ]
)