mirror of
https://github.com/nikdoof/dotfiles.git
synced 2025-12-18 05:19:24 +00:00
[shell-common] Add AWS credentials check
This commit is contained in:
@@ -71,10 +71,36 @@ function awslogout() {
|
|||||||
unset AWS_ACCESS_KEY_ID
|
unset AWS_ACCESS_KEY_ID
|
||||||
unset AWS_SECRET_ACCESS_KEY
|
unset AWS_SECRET_ACCESS_KEY
|
||||||
unset AWS_SESSION_TOKEN
|
unset AWS_SESSION_TOKEN
|
||||||
|
unset AWS_CREDENTIAL_EXPIRATION
|
||||||
export AWS_PROFILE_DISPLAY=""
|
export AWS_PROFILE_DISPLAY=""
|
||||||
echo "AWS profile and credentials cleared."
|
echo "AWS profile and credentials cleared."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function check_aws_expiration() {
|
||||||
|
if [[ -n "$AWS_CREDENTIAL_EXPIRATION" ]]; then
|
||||||
|
local expiration_epoch
|
||||||
|
local current_epoch
|
||||||
|
|
||||||
|
# Convert expiration time to epoch (handles ISO 8601 format)
|
||||||
|
if command -v gdate &> /dev/null; then
|
||||||
|
# macOS with GNU coreutils installed
|
||||||
|
expiration_epoch=$(gdate -d "$AWS_CREDENTIAL_EXPIRATION" +%s 2>/dev/null)
|
||||||
|
current_epoch=$(gdate +%s)
|
||||||
|
else
|
||||||
|
# macOS with BSD date
|
||||||
|
expiration_epoch=$(date -j -f "%Y-%m-%dT%H:%M:%S%z" "$AWS_CREDENTIAL_EXPIRATION" +%s 2>/dev/null)
|
||||||
|
current_epoch=$(date +%s)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $? -eq 0 && -n "$expiration_epoch" ]]; then
|
||||||
|
if [[ $current_epoch -ge $expiration_epoch ]]; then
|
||||||
|
echo "AWS credentials have expired. Logging out..."
|
||||||
|
awslogout
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# easy access to SSH
|
# easy access to SSH
|
||||||
function awsssh() {
|
function awsssh() {
|
||||||
local profile=""
|
local profile=""
|
||||||
|
|||||||
Reference in New Issue
Block a user