mardi 17 avril 2018

Nested "if" blocks powershell

i have two key-value storages (Vault and Consul) for secret and regular parameters. Also i have a config file (xml). I expet to get secret parameters from vault and regular parameters from consul. But this code looking for secret parameters in Vault and ALL parameters (secret and regular) in Consul. Where did i make a mistake?

Sorry for my bad english. Code below:

$nodes = $xml.SelectNodes("//appSettings/add")

foreach($node in $nodes) {
    if ($node.key -Match $secrets)
    {
        $get = ($vaultPath + $node.key )
        write-host vaultpath $get
        $vaultget = vault read -field=secretvalue $get
        $vaultValue = ($vaultget) | Out-String
            if (!$vaultValue)
            {
                $vaultValue = ""
            }
        $node.Value = $vaultValue
    }
    else 
    {
        if (!$key)
        {
            $key=""
        }
    write-host Consul $node.key $node.Value
        #$node.Value = $valHash.$key
    }
}

Aucun commentaire:

Enregistrer un commentaire