Aws-cli: Error al analizar el parámetro '--targets': Esperado: '=', recibido: ''' para la entrada: '{"Clave":"etiqueta:Nombre","Valores":["LDAPHost_env-sandbox"]}'

Creado en 4 ene. 2018  ·  3Comentarios  ·  Fuente: aws/aws-cli

Estoy usando AWS EC2 SSM para realizar una implementación automatizada desde la canalización de compilación de Jenkins. Se proporciona un documento de SSM para ejecutar un script de shell en el documento de SSM. La canalización de jenkins forma el siguiente comando:

aws ssm send-command --document-name "Testdeployment" --targets '{"Key":"tag:Name","Values":["LDAPHost_env-sandbox"]}' --max-concurrency "1" --max-errors "1" --parameters '{"bucketName":["s3://testBucket"],"workingDirectory":["/tmp/"],"releaseName":["sandbox-v1"]}' --timeout-seconds 3600 --output-s3-bucket-name "testBucket" --output-s3-key-prefix "sandbox-v1/test/ssm/log" --region eu-west-1

Mensaje de error:

Error parsing parameter '--targets': Expected: '=', received: ''' for input:
'{"Key":"tag:Name","Values":["LDAPHost_env-sandbox"]}'

Configuración:
SO: Ubuntu 16.04.2 LTS
CLI de AWS: 1.11.122
Pitón: 2.7.12
Linux: 4.4.0-1044-aws
botocore:1.5.85

closing-soon

Comentario más útil

Esto parece un problema de cotización con jenkins. Cuando ejecuto su comando directamente en la terminal, no obtengo ese error:

$ aws ssm send-command --document-name "Testdeployment" --targets '{"Key":"tag:Name","Values":["LDAPHost_env-sandbox"]}' --max-concurrency "1" --max-errors "1" --parameters '{"bucketName":["s3://testBucket"],"workingDirectory":["/tmp/"],"releaseName":["sandbox-v1"]}' --timeout-seconds 3600 --output-s3-bucket-name "testBucket" --output-s3-key-prefix "sandbox-v1/test/ssm/log" --region eu-west-1

An error occurred (InvalidDocument) when calling the SendCommand operation:

Para depurar este problema, ejecute el comando con --debug y verá la cadena exacta que recibe la CLI:

2018-01-04 13:27:37,186 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-cli/1.14.18 Python/2.7.14 Darwin/16.7.0 botocore/1.8.22
2018-01-04 13:27:37,186 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['ssm', 'send-command', '--document-name', 'Testdeployment', '--targets', '{"Key":"tag:Name","Values":["LDAPHost_env-sandbox"]}', '--max-concurrency', '1', '--max-errors', '1', '--parameters', '{"bucketName":["s3://testBucket"],"workingDirectory":["/tmp/"],"releaseName":["sandbox-v1"]}', '--timeout-seconds', '3600', '--output-s3-bucket-name', 'testBucket', '--output-s3-key-prefix', 'sandbox-v1/test/ssm/log', '--region', 'eu-west-1', '--debug']

Sospecho que lo que verá es que la comilla simple se pasa a la CLI, mientras que normalmente, cuando ejecuta el comando de forma interactiva, su shell eliminará las comillas simples antes de pasarlas a python.

Si aún ve el problema, publique sus registros de depuración con la línea "Argumentos ingresados ​​en CLI" y volveré a revisar.

Todos 3 comentarios

Esto parece un problema de cotización con jenkins. Cuando ejecuto su comando directamente en la terminal, no obtengo ese error:

$ aws ssm send-command --document-name "Testdeployment" --targets '{"Key":"tag:Name","Values":["LDAPHost_env-sandbox"]}' --max-concurrency "1" --max-errors "1" --parameters '{"bucketName":["s3://testBucket"],"workingDirectory":["/tmp/"],"releaseName":["sandbox-v1"]}' --timeout-seconds 3600 --output-s3-bucket-name "testBucket" --output-s3-key-prefix "sandbox-v1/test/ssm/log" --region eu-west-1

An error occurred (InvalidDocument) when calling the SendCommand operation:

Para depurar este problema, ejecute el comando con --debug y verá la cadena exacta que recibe la CLI:

2018-01-04 13:27:37,186 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-cli/1.14.18 Python/2.7.14 Darwin/16.7.0 botocore/1.8.22
2018-01-04 13:27:37,186 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['ssm', 'send-command', '--document-name', 'Testdeployment', '--targets', '{"Key":"tag:Name","Values":["LDAPHost_env-sandbox"]}', '--max-concurrency', '1', '--max-errors', '1', '--parameters', '{"bucketName":["s3://testBucket"],"workingDirectory":["/tmp/"],"releaseName":["sandbox-v1"]}', '--timeout-seconds', '3600', '--output-s3-bucket-name', 'testBucket', '--output-s3-key-prefix', 'sandbox-v1/test/ssm/log', '--region', 'eu-west-1', '--debug']

Sospecho que lo que verá es que la comilla simple se pasa a la CLI, mientras que normalmente, cuando ejecuta el comando de forma interactiva, su shell eliminará las comillas simples antes de pasarlas a python.

Si aún ve el problema, publique sus registros de depuración con la línea "Argumentos ingresados ​​en CLI" y volveré a revisar.

Gracias. Eso resolvió el problema.

Mismo problema, esto está desactualizado -

¿Fue útil esta página
0 / 5 - 0 calificaciones