Bash Script with awscli Query Flag Failure












0















I know the syntax is very ugly but my script below is working fine except "--query" flag of awscli. It's deactivating the old keys and generating the new one for each user. I want the script to write the new generated secret access keys to the txt file that I pointed. It fails and just writing "none" to the text file. I suppose that code after "--query" flag is not working properly. On the other hand there is no output of this command which may show the error.



Here is the code:



#!/bin/bash

declare -i counter=11
declare -i counter2=14

for i in {1..3}
do

aws iam update-access-key --access-key-id $(aws iam list-access-keys --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F" '{print $4}')) --status Inactive --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F" '{print $4}')
aws iam create-access-key --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F" '{print $4}') --query 'AccessKey[*].[Username,AccessKeyId,SecretAccessKey]' --output text >> /Users/sampleuser/Desktop/AccessKeyLogs/KeyLogger.txt
counter=$counter+7
counter2=$counter2+7

done


Here is the sample output of create-access-key command(I wanted it as text):



{
"AccessKey": {
"UserName": "Bob",
"Status": "Active",
"CreateDate": "2015-03-09T18:39:23.411Z",
"SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
"AccessKeyId": "AKIAIOSFODNN7EXAMPLE"
}
}









share|improve this question

























  • The way to debug this sort of issue is to break it down. Separate each sub command and run them individually. Add echo statements and check their output. Since we cannot run your script (we don't have access to your machine), you will need to give us the output of each of the subcommands you are running.

    – terdon
    Feb 8 at 11:22
















0















I know the syntax is very ugly but my script below is working fine except "--query" flag of awscli. It's deactivating the old keys and generating the new one for each user. I want the script to write the new generated secret access keys to the txt file that I pointed. It fails and just writing "none" to the text file. I suppose that code after "--query" flag is not working properly. On the other hand there is no output of this command which may show the error.



Here is the code:



#!/bin/bash

declare -i counter=11
declare -i counter2=14

for i in {1..3}
do

aws iam update-access-key --access-key-id $(aws iam list-access-keys --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F" '{print $4}')) --status Inactive --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F" '{print $4}')
aws iam create-access-key --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F" '{print $4}') --query 'AccessKey[*].[Username,AccessKeyId,SecretAccessKey]' --output text >> /Users/sampleuser/Desktop/AccessKeyLogs/KeyLogger.txt
counter=$counter+7
counter2=$counter2+7

done


Here is the sample output of create-access-key command(I wanted it as text):



{
"AccessKey": {
"UserName": "Bob",
"Status": "Active",
"CreateDate": "2015-03-09T18:39:23.411Z",
"SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
"AccessKeyId": "AKIAIOSFODNN7EXAMPLE"
}
}









share|improve this question

























  • The way to debug this sort of issue is to break it down. Separate each sub command and run them individually. Add echo statements and check their output. Since we cannot run your script (we don't have access to your machine), you will need to give us the output of each of the subcommands you are running.

    – terdon
    Feb 8 at 11:22














0












0








0








I know the syntax is very ugly but my script below is working fine except "--query" flag of awscli. It's deactivating the old keys and generating the new one for each user. I want the script to write the new generated secret access keys to the txt file that I pointed. It fails and just writing "none" to the text file. I suppose that code after "--query" flag is not working properly. On the other hand there is no output of this command which may show the error.



Here is the code:



#!/bin/bash

declare -i counter=11
declare -i counter2=14

for i in {1..3}
do

aws iam update-access-key --access-key-id $(aws iam list-access-keys --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F" '{print $4}')) --status Inactive --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F" '{print $4}')
aws iam create-access-key --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F" '{print $4}') --query 'AccessKey[*].[Username,AccessKeyId,SecretAccessKey]' --output text >> /Users/sampleuser/Desktop/AccessKeyLogs/KeyLogger.txt
counter=$counter+7
counter2=$counter2+7

done


Here is the sample output of create-access-key command(I wanted it as text):



{
"AccessKey": {
"UserName": "Bob",
"Status": "Active",
"CreateDate": "2015-03-09T18:39:23.411Z",
"SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
"AccessKeyId": "AKIAIOSFODNN7EXAMPLE"
}
}









share|improve this question
















I know the syntax is very ugly but my script below is working fine except "--query" flag of awscli. It's deactivating the old keys and generating the new one for each user. I want the script to write the new generated secret access keys to the txt file that I pointed. It fails and just writing "none" to the text file. I suppose that code after "--query" flag is not working properly. On the other hand there is no output of this command which may show the error.



Here is the code:



#!/bin/bash

declare -i counter=11
declare -i counter2=14

for i in {1..3}
do

aws iam update-access-key --access-key-id $(aws iam list-access-keys --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F" '{print $4}')) --status Inactive --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F" '{print $4}')
aws iam create-access-key --user-name $(aws iam get-group --group-name Devs | awk -v counter1=$counter 'NR==counter1' | awk -F" '{print $4}') --query 'AccessKey[*].[Username,AccessKeyId,SecretAccessKey]' --output text >> /Users/sampleuser/Desktop/AccessKeyLogs/KeyLogger.txt
counter=$counter+7
counter2=$counter2+7

done


Here is the sample output of create-access-key command(I wanted it as text):



{
"AccessKey": {
"UserName": "Bob",
"Status": "Active",
"CreateDate": "2015-03-09T18:39:23.411Z",
"SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
"AccessKeyId": "AKIAIOSFODNN7EXAMPLE"
}
}






bash awk aws






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 8 at 11:20









terdon

131k32257436




131k32257436










asked Feb 8 at 11:11









CascaCasca

1




1













  • The way to debug this sort of issue is to break it down. Separate each sub command and run them individually. Add echo statements and check their output. Since we cannot run your script (we don't have access to your machine), you will need to give us the output of each of the subcommands you are running.

    – terdon
    Feb 8 at 11:22



















  • The way to debug this sort of issue is to break it down. Separate each sub command and run them individually. Add echo statements and check their output. Since we cannot run your script (we don't have access to your machine), you will need to give us the output of each of the subcommands you are running.

    – terdon
    Feb 8 at 11:22

















The way to debug this sort of issue is to break it down. Separate each sub command and run them individually. Add echo statements and check their output. Since we cannot run your script (we don't have access to your machine), you will need to give us the output of each of the subcommands you are running.

– terdon
Feb 8 at 11:22





The way to debug this sort of issue is to break it down. Separate each sub command and run them individually. Add echo statements and check their output. Since we cannot run your script (we don't have access to your machine), you will need to give us the output of each of the subcommands you are running.

– terdon
Feb 8 at 11:22










0






active

oldest

votes











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f499448%2fbash-script-with-awscli-query-flag-failure%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f499448%2fbash-script-with-awscli-query-flag-failure%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How to reconfigure Docker Trusted Registry 2.x.x to use CEPH FS mount instead of NFS and other traditional...

is 'sed' thread safe

How to make a Squid Proxy server?