#!/usr/bin/env zsh
DEPENDENCIES+=(cli53)
REQUIRED_ENV+=(AWS_PROFILE AWS_ACCOUNT)
#####################################################################

utils.cli53() {
	AWS_ACCOUNT=${AWS_ACCOUNT} \
		cli53 --profile ${AWS_PROFILE} $@;
}

MAIN() {
	local BACKUP_BASE_PATH="${SCWRYPTS_DATA_PATH}/route53-backup/${SCWRYPTS_ENV}"

	local DOMAIN
	local JOBS=()
	for DOMAIN in $(utils.cli53 list | awk '{print $2;}' | sed '1d; s/\.$//')
	do
		(
			utils.cli53 export ${DOMAIN} > "${BACKUP_BASE_PATH}/${DOMAIN}/$(date '+%Y-%m-%d_%H%M').cli53.txt" \
				&& echo.success "backed up '${DOMAIN}'" \
				|| echo.error "failed to back up '${DOMAIN}'" \
		) &
		JOBS+=$!
	done

	local P
	for P in ${JOBS[@]}; do wait ${P} &>/dev/null; done

	echo.reminder "successful backups can be found in '${BACKUP_BASE_PATH}'"
}
