M-x
でawscliを実行するために簡易な関数を書いた。
(autoload #'string-join "subr-x")
(autoload #'term-ansi-make-term "term")
(defvar aws-cli-buffer-name
"A queue of strings whose echo we want suppressed.")
(defvar aws-cli-buffer-name "*AWS*"
"AWS CLI execution buffer name.")
(defvar aws-cli-endpoint-url "http://localhost:4566"
"AWS API endpoint.")
(defvar aws-cli-profile "default"
"Profile name in ~/.aws/config.")
(defun aws-cli (line)
"Execute AWS CLI command."
(interactive "MCommand Line: ")
(switch-to-buffer
(funcall #'term-ansi-make-term
aws-cli-buffer-name
"bash" nil "-c" (string-join `("aws" "--no-paginate"
"--endpoint-url" ,aws-cli-endpoint-url
"--profile" ,aws-cli-profile
,line)
" "))))
M-x aws-cli
とするとサブコマンドを待ち受ける。=aws-cli-profile= の値
を切り替えることで使用するプロフィールを切り替えられる。送信するAPIの
エンドポイントは aws-cli-endpoint-url
で設定できる。
成長したらパッケージ化したい。オプションの設定などはtransientを使って スイッチできるようにしたい。=~/.aws/config= を読み取ってプロフィールを 選択することで切り替えられるような関数を追加したい。