added aws_ecr_alternate_tags.sh

pull/2/head
Hari Sekhon 3 years ago
parent d6832f34bd
commit 1f91624c3c

@ -0,0 +1,71 @@
#!/usr/bin/env bash
# vim:ts=4:sts=4:sw=4:et
# args: haritest:1.0 stable
#
# Author: Hari Sekhon
# Date: 2021-12-10 11:30:51 +0000 (Fri, 10 Dec 2021)
#
# https://github.com/HariSekhon/bash-tools
#
# License: see accompanying Hari Sekhon LICENSE file
#
# If you're using my code you're welcome to connect with me on LinkedIn and optionally send me feedback to help steer this or other code I publish
#
# https://www.linkedin.com/in/HariSekhon
#
# https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-retag.html
set -euo pipefail
[ -n "${DEBUG:-}" ] && set -x
srcdir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck disable=SC1090
. "$srcdir/lib/aws.sh"
# shellcheck disable=SC2034,SC2154
usage_description="
Lists all alternative tags for the given specific GCR docker image:tag
If a container has multiple tags (eg. latest, v1, hashref), you can supply '<image>:latest' to see which version has been tagged to 'latest'
Each tag for the given <image>:<tag> is output on a separate line for easy further piping and filtering, including the originally supplied tag
If no tag is given, assumes 'latest'
If the image isn't found in GCR, will return nothing and no error code since this is the default GCloud SDK behaviour
$usage_aws_cli_required
If you want to remove an extra tag from an existing image:
aws ecr batch-delete-image --repository-name <image> --image-ids \"imageTag=<tag>\"
Similar scripts:
aws_ecr_*.sh - scripts for AWS Elastic Container Registry
gcr_*.sh - scripts for Google Container Registry
"
# used by usage() in lib/utils.sh
# shellcheck disable=SC2034
usage_args="<image>:<tag>"
help_usage "$@"
num_args 1 "$@"
image_tag="$1"
image="${image_tag%%:*}"
tag="${image_tag##*:}"
if [ -z "$tag" ] || [ "$tag" = "$image" ]; then
tag="latest"
fi
aws ecr describe-images --repository-name "$image" --image-ids "imageTag=$tag" |
jq -r '.imageDetails[].imageTags[]' |
sort
Loading…
Cancel
Save