===================================================================== 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}'"
|
|
}
|