Skip to content

Commit d69536c

Browse files
[Add] - add feature search aws commands
1 parent 4ccf6f6 commit d69536c

File tree

3 files changed

+39
-1
lines changed

3 files changed

+39
-1
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
aws_cli_results
22
services/tmp.sh
3-
.DS_Store
3+
.DS_Store
4+
aws_cli_inputs

main.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ export aws_cli_results="${AWS_CLI_SOURCE_SCRIPTS}/aws_cli_results"
2626
export aws_cli_logs="${AWS_CLI_SOURCE_SCRIPTS}/aws_cli_results/logs"
2727
export aws_cli_images="${AWS_CLI_SOURCE_SCRIPTS}/aws_cli_results/images"
2828
export aws_cli_input_tmp="${AWS_CLI_SOURCE_SCRIPTS}/aws_cli_results/inputs"
29+
export aws_cli_input_folder="${AWS_CLI_SOURCE_SCRIPTS}/aws_cli_inputs"
30+
export aws_cli_list_commands_folder="${aws_cli_input_folder}/aws_services_commands"
2931
export aws_tmp_input="/tmp/aws_tmp_input_23647494949484.txt"
3032
export aws_assume_role_print_account_info="false"
3133
export aws_cli_retry_time=10
@@ -45,6 +47,7 @@ mkdir -p ${tmp_credentials}
4547
mkdir -p ${aws_cli_results}
4648
mkdir -p ${aws_cli_logs}
4749
mkdir -p ${aws_cli_input_tmp}
50+
mkdir -p ${aws_cli_list_commands_folder}
4851

4952
# Default settings AWSCLI
5053
export AWS_DEFAULT_OUTPUT="json"

services/help.sh

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,37 @@ aws_main_function() {
2828
# echo Running the commandline ${aws_custom_commandline:?"The commandline is unset or empty. Then do nothing"}
2929
# eval $aws_custom_commandline
3030
# }
31+
32+
aws_get_command() {
33+
if [ ! -s ${aws_cli_input_folder}/aws_list_services.txt ]; then
34+
curl https://awscli.amazonaws.com/v2/documentation/api/latest/reference/index.html | grep '<li class="toctree-l1"><a class="reference internal"' | awk -F '.html">' '{print $2}' | awk -F '</a>' '{print $1}' > ${aws_cli_input_folder}/aws_list_services.txt
35+
fi
36+
37+
local aws_service=$(cat ${aws_cli_input_folder}/aws_list_services.txt | peco --prompt "Select service >")
38+
39+
if [ -z $aws_service ]; then
40+
return
41+
fi
42+
43+
if [ ! -s ${aws_cli_list_commands_folder}/aws_service.txt ]; then
44+
curl https://awscli.amazonaws.com/v2/documentation/api/latest/reference/$aws_service/index.html | grep '<li class="toctree-l1"><a class="reference internal"' | awk -F '.html">' '{print $2}' | awk -F '</a>' '{print $1}' > ${aws_cli_list_commands_folder}/$aws_service.txt
45+
fi
46+
47+
local aws_command=$(cat ${aws_cli_list_commands_folder}/$aws_service.txt | peco --prompt "aws $aws_service" --on-cancel error)
48+
49+
if [ -z $aws_command ]; then
50+
return
51+
fi
52+
53+
local final_action=$(echo -e "echo \ndocument" | peco)
54+
55+
if [ $final_action = "document" ]; then
56+
open https://awscli.amazonaws.com/v2/documentation/api/latest/reference/$aws_service/$aws_command.html
57+
return
58+
fi
59+
60+
echo
61+
local GREEN='\033[0;32m'
62+
local NC='\033[0m'
63+
echo -e "${GREEN}aws $aws_service $aws_command${NC}"
64+
}

0 commit comments

Comments
 (0)