123456789101112131415161718192021222324252627282930313233343536373839 |
- #! /bin/bash
- # Gets the current dlm policies, if any.
- #
- # WARNING: THIS IS RUN DURRING A 'PLAN' STEP. Do not make changes. Read-only in this script.
- set -euo pipefail
- PARTITION=$1
- REGION=$2
- ACCOUNT=$3
- ACCOUNT_NAME=$4
- # Fix for some accounts having -gov already appended and some not.
- # Accounts in gov will get it appended.
- ACCOUNT_NAME=${ACCOUNT_NAME%%-gov}
- if [[ ${REGION} == "us-gov-east-1" ]]; then
- PROFILE=${ACCOUNT_NAME}-gov
- elif [[ ${REGION} == "us-gov-west-1" ]]; then
- PROFILE=${ACCOUNT_NAME}-gov
- elif [[ ${REGION} == "us-east-1" ]]; then
- PROFILE=${ACCOUNT_NAME}
- elif [[ ${REGION} == "us-west-1" ]]; then
- PROFILE=${ACCOUNT_NAME}
- else
- >&2 echo ERROR: Could not determine target region from source region \"${REGION}\"
- exit -1
- fi
- # Fix the accounts that we foolish prepended 'afs-' to.
- PROFILE=${PROFILE##afs-}
- POLICIES=$(aws --profile ${PROFILE} --region ${REGION} dlm get-lifecycle-policies)
- # Extracts the policy IDs of IMAGE_MANAGEMENT policye
- POLICY_IDS=$(echo $POLICIES | jq -r '[.Policies[] | select(.PolicyType=="IMAGE_MANAGEMENT") | select(.Tags.SnapshotPolicy=="Daily")] | first | .PolicyId')
- # jq ensures a safe json output
- # Will return 'null' if no matching policy
- jq -n --arg policy $POLICY_IDS '{ "PolicyId": $policy }'
|