34 lines
1.1 KiB
Plaintext
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
|
|
}
|