Zsh로 AWS Profile 시각화 및 전환 간소화
이 게시물에서
Zsh를 사용하여 AWS Profile의 시각화 및 전환을 용이하게 하는 방법을 설명합니다.
설정하면 다음과 같이 AWS Profile을 시각화 및 전환할 수 있습니다.
여러 AWS 루트 계정/리전에 리소스를 생성해야 하는 사용자의 도움이 되기를 바랍니다.
또, 더 좋은 방법을 아시는 분, 꼭 가르쳐 주세요. 잘 부탁드립니다.
전제
Zsh가 설정되었다고 가정합니다.
설정 방법
1. AWS Profile 시각화
spaceship-prompt를 사용하면 AWS Profile을 쉽게 시각화할 수 있습니다.
다음 명령으로 설치,
※npm 이외에도 설치 방법이 있습니다. 자세한 내용은 공식 페이지을 참조하십시오.
$ npm install -g spaceship-prompt
~/.zshrc
에 다음 설정을 추가 한 후,
autoload -U promptinit; promptinit
prompt spaceship
~/.zshrc
를 읽으면 설정이 완료됩니다.
$ source ~/.zshrc
나중에 다음과 같이 환경 변수를 설정하면
$ export AWS_PROFILE=hoge
다음과 같이 AWS Profile이 프롬프트에 표시됩니다.
2. AWS Profile 전환 용이성
peco을 설치합니다.
※homebrew 이외에도 설치 방법이 있습니다. 자세한 내용은 공식 페이지을 참조하십시오.
$ brew install peco
~/.zshrc
에 다음 설정을 추가 한 후,
alias awsp=aws_profile_update
function aws_profile_update() {
PROFILES=$(aws configure list-profiles)
PROFILES_ARRAY=($(echo $PROFILES))
SELECTED_PROFILE=$(echo $PROFILES | peco)
[[ -n ${PROFILES_ARRAY[(re)${SELECTED_PROFILE}]} ]] && export AWS_PROFILE=${SELECTED_PROFILE}; echo 'Updated profile' || echo ''
}
~/.zshrc
를 읽으면 설정이 완료됩니다.
$ source ~/.zshrc
다음과 같이 명령을 실행하면
$ awsp
동영상처럼 ~/.aws/config
에서 AWS Profile을 선택하고 전환할 수 있습니다.
3. 여담
동영상과 prompt의 표시가 다르다고 생각하는 분이 계실지도 모릅니다.
나는 spaceship을 다음과 같이 사용자 정의하고 있습니다.
SPACESHIP_TIME_SHOW=true
SPACESHIP_KUBECONTEXT_SHOW=false
SPACESHIP_DIR_PREFIX=' '
SPACESHIP_AWS_PREFIX=' '
SPACESHIP_EXEC_TIME_PREFIX=''
spaceship은 ~/.zshrc
에 환경 변수를 추가하는 것만으로 용이하게 항목의 추가/삭제나 prefix의 변경등을 할 수 있습니다.
자세한 내용은 spaceship Options을 참조하십시오.
Reference
이 문제에 관하여(Zsh로 AWS Profile 시각화 및 전환 간소화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hirokoji/items/1ae81eec66fd9b3ff9f9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Zsh가 설정되었다고 가정합니다.
설정 방법
1. AWS Profile 시각화
spaceship-prompt를 사용하면 AWS Profile을 쉽게 시각화할 수 있습니다.
다음 명령으로 설치,
※npm 이외에도 설치 방법이 있습니다. 자세한 내용은 공식 페이지을 참조하십시오.
$ npm install -g spaceship-prompt
~/.zshrc
에 다음 설정을 추가 한 후,
autoload -U promptinit; promptinit
prompt spaceship
~/.zshrc
를 읽으면 설정이 완료됩니다.
$ source ~/.zshrc
나중에 다음과 같이 환경 변수를 설정하면
$ export AWS_PROFILE=hoge
다음과 같이 AWS Profile이 프롬프트에 표시됩니다.
2. AWS Profile 전환 용이성
peco을 설치합니다.
※homebrew 이외에도 설치 방법이 있습니다. 자세한 내용은 공식 페이지을 참조하십시오.
$ brew install peco
~/.zshrc
에 다음 설정을 추가 한 후,
alias awsp=aws_profile_update
function aws_profile_update() {
PROFILES=$(aws configure list-profiles)
PROFILES_ARRAY=($(echo $PROFILES))
SELECTED_PROFILE=$(echo $PROFILES | peco)
[[ -n ${PROFILES_ARRAY[(re)${SELECTED_PROFILE}]} ]] && export AWS_PROFILE=${SELECTED_PROFILE}; echo 'Updated profile' || echo ''
}
~/.zshrc
를 읽으면 설정이 완료됩니다.
$ source ~/.zshrc
다음과 같이 명령을 실행하면
$ awsp
동영상처럼 ~/.aws/config
에서 AWS Profile을 선택하고 전환할 수 있습니다.
3. 여담
동영상과 prompt의 표시가 다르다고 생각하는 분이 계실지도 모릅니다.
나는 spaceship을 다음과 같이 사용자 정의하고 있습니다.
SPACESHIP_TIME_SHOW=true
SPACESHIP_KUBECONTEXT_SHOW=false
SPACESHIP_DIR_PREFIX=' '
SPACESHIP_AWS_PREFIX=' '
SPACESHIP_EXEC_TIME_PREFIX=''
spaceship은 ~/.zshrc
에 환경 변수를 추가하는 것만으로 용이하게 항목의 추가/삭제나 prefix의 변경등을 할 수 있습니다.
자세한 내용은 spaceship Options을 참조하십시오.
Reference
이 문제에 관하여(Zsh로 AWS Profile 시각화 및 전환 간소화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hirokoji/items/1ae81eec66fd9b3ff9f9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ npm install -g spaceship-prompt
autoload -U promptinit; promptinit
prompt spaceship
$ source ~/.zshrc
$ export AWS_PROFILE=hoge
$ brew install peco
alias awsp=aws_profile_update
function aws_profile_update() {
PROFILES=$(aws configure list-profiles)
PROFILES_ARRAY=($(echo $PROFILES))
SELECTED_PROFILE=$(echo $PROFILES | peco)
[[ -n ${PROFILES_ARRAY[(re)${SELECTED_PROFILE}]} ]] && export AWS_PROFILE=${SELECTED_PROFILE}; echo 'Updated profile' || echo ''
}
$ source ~/.zshrc
$ awsp
SPACESHIP_TIME_SHOW=true
SPACESHIP_KUBECONTEXT_SHOW=false
SPACESHIP_DIR_PREFIX=' '
SPACESHIP_AWS_PREFIX=' '
SPACESHIP_EXEC_TIME_PREFIX=''
Reference
이 문제에 관하여(Zsh로 AWS Profile 시각화 및 전환 간소화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hirokoji/items/1ae81eec66fd9b3ff9f9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)