Files
dotfiles/zsh/.local/share/zsh/functions/use-bedrock
2026-04-28 09:58:20 -04:00

34 lines
1.1 KiB
Plaintext

use-bedrock() {
local force=0
while getopts "f" opt; do
case $opt in
f) force=1 ;;
*) echo "Usage: use-bedrock [-f]" >&2; return 1 ;;
esac
done
OPTIND=1
if [[ "$force" -eq 0 ]] && [[ -n "$AWS_ACCESS_KEY_ID" ]] && [[ -n "$AWS_SECRET_ACCESS_KEY" ]]; then
echo "AWS credentials already set. Skipping Bedrock setup. Use -f to force re-authentication." >&2
return
fi
aws sso login --use-device-code || return 1
local creds
creds=$(aws configure export-credentials --format env) || return 1
eval "$creds"
export CLAUDE_CODE_USE_BEDROCK=1
export CLAUDE_BEDROCK_AWS_REGION="${AWS_REGION:-us-east-2}"
export ANTHROPIC_DEFAULT_OPUS_MODEL="${BEDROCK_OPUS_MODEL:-us.anthropic.claude-opus-4-7-v1}"
export ANTHROPIC_DEFAULT_SONNET_MODEL="${BEDROCK_SONNET_MODEL:-us.anthropic.claude-sonnet-4-6}"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="${BEDROCK_HAIKU_MODEL:-us.anthropic.claude-haiku-4-5-20251001-v1:0}"
unset CLAUDE_CODE_USE_VERTEX
printf 'Bedrock environment set.\n\tOpus: %s\n\tSonnet: %s\n\tHaiku: %s\n' \
"$ANTHROPIC_DEFAULT_OPUS_MODEL" "$ANTHROPIC_DEFAULT_SONNET_MODEL" "$ANTHROPIC_DEFAULT_HAIKU_MODEL" >&2
}