summaryrefslogtreecommitdiff
path: root/public/zsh/.usr/local/bin
diff options
context:
space:
mode:
Diffstat (limited to 'public/zsh/.usr/local/bin')
-rwxr-xr-xpublic/zsh/.usr/local/bin/awk2
-rwxr-xr-xpublic/zsh/.usr/local/bin/aws-console36
-rwxr-xr-xpublic/zsh/.usr/local/bin/find2
-rwxr-xr-xpublic/zsh/.usr/local/bin/sed2
4 files changed, 42 insertions, 0 deletions
diff --git a/public/zsh/.usr/local/bin/awk b/public/zsh/.usr/local/bin/awk
new file mode 100755
index 0000000..da814c3
--- /dev/null
+++ b/public/zsh/.usr/local/bin/awk
@@ -0,0 +1,2 @@
+#!/bin/bash
+gawk "$@"
diff --git a/public/zsh/.usr/local/bin/aws-console b/public/zsh/.usr/local/bin/aws-console
new file mode 100755
index 0000000..77c2320
--- /dev/null
+++ b/public/zsh/.usr/local/bin/aws-console
@@ -0,0 +1,36 @@
+#!/bin/bash
+set -eufo pipefail
+export SHELLOPTS
+IFS=$'\t\n'
+
+if [[ -z "${AWS_ACCESS_KEY_ID:-}" ]] ||
+ [[ -z "${AWS_SECRET_ACCESS_KEY:-}" ]] ||
+ [[ -z "${AWS_SESSION_TOKEN:-}" ]]; then
+ echo "AWS_ required variables not set"
+ exit 1
+fi
+
+command -v curl >/dev/null 2>&1 || { echo "curl is not installed!"; exit 1; }
+command -v jq >/dev/null 2>&1 || { echo "jq is not installed!"; exit 1; }
+
+credentials='{"sessionId":"'"${AWS_ACCESS_KEY_ID}"'","sessionKey":"'"${AWS_SECRET_ACCESS_KEY}"'","sessionToken":"'"${AWS_SESSION_TOKEN}"'"}'
+
+uc="${credentials//'%'/%25}"; uc="${uc//'"'/%22}"; uc="${uc//','/%2C}"
+uc="${uc//'/'/%2F}"; uc="${uc//':'/%3A}"; uc="${uc//'='/%3D}"
+uc="${uc//'{'/%7B}"; uc="${uc//'}'/%7D}"; uc="${uc//'+'/%2B}"
+
+federation_url="https://signin.aws.amazon.com/federation"
+federation_url="${federation_url}?Action=getSigninToken"
+federation_url="${federation_url}&SessionDuration=3600"
+federation_url="${federation_url}&Session=$(printf %s "$uc")"
+
+token=$(curl -s "${federation_url}" | jq -r '.SigninToken' 2>/dev/null) ||
+ { echo "invalid or expired credentials"; exit 1; }
+
+console_url="https://signin.aws.amazon.com/federation"
+console_url="${console_url}?Destination=https%3A%2F%2Fconsole.aws.amazon.com%2F"
+console_url="${console_url}&SigninToken=${token}"
+console_url="${console_url}&Issuer=https%3A%2F%2Fexample.com"
+console_url="${console_url}&Action=login"
+
+open "${console_url}"
diff --git a/public/zsh/.usr/local/bin/find b/public/zsh/.usr/local/bin/find
new file mode 100755
index 0000000..0df7b89
--- /dev/null
+++ b/public/zsh/.usr/local/bin/find
@@ -0,0 +1,2 @@
+#!/bin/bash
+gfind "$@"
diff --git a/public/zsh/.usr/local/bin/sed b/public/zsh/.usr/local/bin/sed
new file mode 100755
index 0000000..1077e99
--- /dev/null
+++ b/public/zsh/.usr/local/bin/sed
@@ -0,0 +1,2 @@
+#!/bin/bash
+gsed "$@"