- AWS SSO(AWS Single Sign-On)を毎日使用する
- 複数アカウントのリソースを触るため、毎回コマンドを入力するのが面倒
- コマンド入力で、複数アカウントのprofile名も覚えて毎回入力するのが大変
- なので、configファイルのprofile名を一覧として出力して、一覧の数字を入力すると、数字と紐づいたprofile名でsso-loginするツールを作成した
- Windows環境のため、Windowsバッチで作成
- 注意:
- 私の環境のconfigファイルでは動作を確認していますが、環境によっては動かない可能性があります
- 必要に応じて、適宜改修してご利用ください
コード
@echo off
setlocal
set "【configファイルのパス】"
if not exist "%configFile%" (
echo AWS config file not found.
exit /b 1
)
echo Available profiles:
setlocal enabledelayedexpansion
set count=1
for /f "tokens=2 delims=[] " %%a in ('findstr /r /c:"^\[profile.*\]$" "%configFile%"') do (
echo !count!. %%a
set Arr[!count!]=%%a
set /a count+=1
)
setlocal enabledelayedexpansion
set /p "selectedNumber=Enter the profile number: "
echo !selectedNumber!
echo !Arr[%selectedNumber%]!
aws sso login --profile !Arr[%selectedNumber%]!
rem PAUSE
endlocal
memo
全体の流れ
- 設定ファイルの存在を確認
- 設定ファイルから利用可能なプロファイル一覧を出力
- プロファイルに対応した数字を入力→aws sso loginコマンドが該当プロファイルで走る
コメント