Bash Script with awscli Query Flag Failure
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
add a comment |
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
The way to debug this sort of issue is to break it down. Separate each sub command and run them individually. Addecho
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
add a comment |
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
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
bash awk aws
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. Addecho
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
add a comment |
The way to debug this sort of issue is to break it down. Separate each sub command and run them individually. Addecho
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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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