#!/bin/sh # http://concourse.ci/implementing-resources.html#resource-check set -e # parse incoming config data payload=`cat` bucket=$(echo "$payload" | jq -r '.source.bucket') prefix="$(echo "$payload" | jq -r '.source.path // ""')" # export for `aws` cli AWS_ACCESS_KEY_ID=$(echo "$payload" | jq -r '.source.access_key_id') AWS_SECRET_ACCESS_KEY=$(echo "$payload" | jq -r '.source.secret_access_key') # Due to precedence rules, must be unset to support AWS IAM Roles. if [ -n "$AWS_ACCESS_KEY_ID" ] && [ -n "$AWS_SECRET_ACCESS_KEY" ]; then export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY fi # Consider the most recent LastModified timestamp as the most recent version. timestamps=$(aws s3api list-objects --bucket $bucket --prefix "$prefix" --query 'Contents[].{LastModified: LastModified}') recent="$(echo $timestamps | jq -r 'max_by(.LastModified)')" echo "[$recent]"