Функция возвращает json вместо только значений - PullRequest
0 голосов
/ 11 января 2019

У меня есть экземпляры ec2 с тегами RDP, Test и т. Д.

Я создал функцию для подключения WinRM в зависимости от тега:

function PSconnector($IP){
# code to get instance tag
#....

if ($instance_tag -match 'RDP') {
   $user = "foo"
   $pass = "bar"
}
else{
  # donwload config
  #....

  $config = Get-Content .\$config_name| Out-String | ConvertFrom-Json
  $user = $config.Server.ServerUser
  $pass = $config.Server.ServerPassword
}
# running echo to check only
echo $user
echo $pass
#
return ($user, $pass)
}

Когда я это называю:

$creds =  PSconnector($ip)
$creds

Для RDP - все нормально. Но для другого:

{
    "AcceptRanges": "bytes",
    "LastModified": "Fri, 11 Jan 2019 09:56:53 GMT",
    "ContentLength": 2919,
    "ETag": "\"1f5ace2cfc81ba53ffde4b0e66cb65da\"",
    "ContentType": "application/json",
    "Metadata": {}
}
foobar
barfoo

В то же время эхо в функции показывает правильные значения, только без json:

foobar
barfoo

EDIT1

Конфиг загружен с помощью aws cli

 aws s3api get-object --bucket $bucket --key $key/$config_name $config_name 

EDIT2 Если вместо этого я использую Get-S3Object, результат aws cli будет аналогичным:

ETag         : "1f5ace2cfc81ba53ffde4b0e66cb65da"
BucketName   : jenkins-configuration-files
Key          : __json.config___
LastModified : 1/11/2019 11:56:53 AM
Owner        : Amazon.S3.Model.Owner
Size         : 2919
StorageClass : STANDARD

foobar
barfoo

Где проблема?

1 Ответ

0 голосов
/ 11 января 2019

Pipe Read-S3Object до Out-Null, чтобы остановить вывод команд:

Read-S3Object -BucketName $bucket -Key $key/$config_name -File $config_name | Out-Null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...