=====================================================================
Excited to bring V5 to life. This includes some BREAKING CHANGES to
several aspects of ZSH-type scwrypts. Please refer to the readme
for upgrade details (specifically docs/upgrade/v4-to-v5.md)
--- New Features -------------------------
- ZSH testing library with basic mock capabilities
- new scwrypts environment file format includes metadata and more
advanced features like optional parent env overrides, selection
inheritence, and improved structurual flexibility
- speedup cache for non-CI runs of ZSH-type scwrypts
- ${scwryptsmodule} syntax now allows a consistent unique-naming
scheme for functions in ZSH-type scwrypts while providing better
insight into origin of API calls in other modules
- reusable, case-statement-driven argument parsers in ZSH-type scwrypts
--- Changes ------------------------------
- several utility function renames in ZSH-type scwrypts to improve
consistency
- documentation comments included in ZSH libraries
- ZSH-type scwrypts now allow library modules to live alongside
executables
(zsh/lib still supported; autodetection determines default)
--- Bug Fixes ----------------------------
- hardened environment checking for REQUIRED_ENV variables; this removes
the ability to overwrite variables in local function contexts
31 lines
803 B
Bash
Executable File
31 lines
803 B
Bash
Executable File
#!/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}'"
|
|
}
|