Thread overview | |||||
---|---|---|---|---|---|
|
November 17, 2020 Executing AWS commands | ||||
---|---|---|---|---|
| ||||
Hi All, Request your help on how to execute aws commands, below is an example code, and this code is not working, tried several options nothing seem to be working. Code: import std.process: environment, execute; import std.stdio: writeln; void main() { environment["AWS_DEFAULT_REGION"] = "eu-west-1"; auto pid = execute(["/usr/bin/aws ec2 describe-images --filters 'Name=state,Values=available' --query 'Images[*].[ImageId]'"]); if (pid.status != 0) { writeln("Failed"); } else { writeln(pid.output); } } Tried the below(execute, executeShell,spawnProcess,execv) auto pid = execute(["/usr/bin/aws ec2 describe-images --filters 'Name=state,Values=available' --query 'Images[*].[ImageId]'"]); auto pid = execute(["/usr/bin/aws", "ec2 describe-images --filters 'Name=state,Values=available' --query 'Images[*].[ImageId]'"]); auto pid = execute(["/usr/bin/aws", "ec2 describe-images", "--filters 'Name=state,Values=available'", "--query 'Images[*].[ImageId]'"]); auto pid = execute(["/usr/bin/aws", "ec2", "describe-images", "--filters 'Name=state,Values=available'", "--query 'Images[*].[ImageId]'"]); From, Vino.B |
November 17, 2020 Re: Executing AWS commands | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vino | On Tuesday, 17 November 2020 at 19:07:42 UTC, Vino wrote: > auto pid = execute(["/usr/bin/aws ec2 describe-images --filters 'Name=state,Values=available' --query 'Images[*].[ImageId]'"]); [...] > auto pid = execute(["/usr/bin/aws ec2 describe-images --filters 'Name=state,Values=available' --query 'Images[*].[ImageId]'"]); You need to break up your command line so that each argument is in a separate array element. In the commands above you have multiple arguments grouped together into each array element. Alternately, you can pass everything in a single string to `executeShell`. |
November 18, 2020 Re: Executing AWS commands | ||||
---|---|---|---|---|
| ||||
Posted in reply to Paul Backus | On Tuesday, 17 November 2020 at 21:08:21 UTC, Paul Backus wrote:
> On Tuesday, 17 November 2020 at 19:07:42 UTC, Vino wrote:
>> auto pid = execute(["/usr/bin/aws ec2 describe-images --filters 'Name=state,Values=available' --query 'Images[*].[ImageId]'"]);
> [...]
>> auto pid = execute(["/usr/bin/aws ec2 describe-images --filters 'Name=state,Values=available' --query 'Images[*].[ImageId]'"]);
>
> You need to break up your command line so that each argument is in a separate array element. In the commands above you have multiple arguments grouped together into each array element.
>
> Alternately, you can pass everything in a single string to `executeShell`.
Hi Paul,
Thank you very much was able to execute the aws commands using `executeShell`.
From,
Vino.B
|
Copyright © 1999-2021 by the D Language Foundation