Функция CLI менеджера системы AWS - PullRequest
0 голосов
/ 28 февраля 2019

У меня возникли проблемы при запуске команды CLI для создания задачи Ассоциации администратора системы AWS.Команда указана ниже:

aws ssm create-association --name AWS-RunRemoteScript --targets Key=instanceids,Values=i-03710c82b70551c32 --parameters '{"sourceType":["S3"],"sourceInfo":["{"path":\"https://s3-eu-west-1.amazonaws.com/xxx/private/xxx.ps1\"}"],"commandLine":["xxx.ps1"]}' --schedule-expression "cron(0 0 2 ? * SUN *)"

Каждый раз, когда я получаю сообщение об ошибке, что что-то не так с частью параметров, но я пробовал все комбинации кавычек, но не мог найти никакого исправления для этого.

Ошибка разбора параметра '--parameters': ожидается: '=', получено: '' для входа: '{sourceType: [S3], sourceInfo: [{https://s3 -eu-west-1.amazonaws.com/xxx/private/xxx.ps1"[],commandLine:[xxx]]'

Кто-то сталкивался с подобной проблемой?

1 Ответ

0 голосов
/ 01 марта 2019

Для sourceInfo требуется список строк.Обязательно избегайте любых кавычек в строке.

Вместо:

'{"sourceType":["S3"],"sourceInfo":["{"path":\"https://s3-eu-west-1.amazonaws.com/xxx/private/xxx.ps1\"}"],"commandLine":["xxx.ps1"]}'

Используйте это:

'{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3-eu-west-1.amazonaws.com/xxx/private/xxx.ps1\"}"],"commandLine":["xxx.ps1"]}'

На Mac это работало нормально:

$ aws ssm create-association --name AWS-RunRemoteScript --targets Key=instanceids,Values=i-03710c82b70551c32 --parameters '{"sourceType":["S3"],"sourceInfo":["{\"path\":\"https://s3-eu-west-1.amazonaws.com/xxx/private/xxx.ps1\"}"],"commandLine":["xxx.ps1"]}' --schedule-expression "cron(0 0 2 ? * SUN *)"
{
    "AssociationDescription": {
        "Name": "AWS-RunRemoteScript",
        "AssociationVersion": "1",
        "Date": 1551432508.365,
        "LastUpdateAssociationDate": 1551432508.365,
        "Overview": {
            "Status": "Pending",
            "DetailedStatus": "Creating"
        },
        "DocumentVersion": "$DEFAULT",
        "Parameters": {
            "commandLine": [
                "xxx.ps1"
            ],
            "sourceInfo": [
                "{\"path\":\"https://s3-eu-west-1.amazonaws.com/xxx/private/xxx.ps1\"}"
            ],
            "sourceType": [
                "S3"
            ]
        },
        "AssociationId": "5de73031-a390-4e7f-8b99-8064584e84cb",
        "Targets": [
            {
                "Key": "instanceids",
                "Values": [
                    "i-03710c82b70551c32"
                ]
            }
        ],
        "ScheduleExpression": "cron(0 0 2 ? * SUN *)"
    }
}
...