概要
毎回AWSの操作でちょっと不便だったものをAIを使ってシェルのアプリ化をしてみました。ほぼ一発で綺麗に動作してくれました。
書き出されたコードは以下に置いておきます。
以下こんなスクリプトを書きました、というのを置いておきます。
AWS CLIを実行の為の2段階認証を対話形式で実行するプログラム
入力したプロンプト
以下のコマンドでAWSの2段階認証で返ってくるJSONの内容を出力する内容に変換して表示するスクリプトを書いてほしい。
[ ]の箇所はコマンドラインで対話形式で入力出来るようにしたい。
~/.aws/credentialsの内容を参照して、profile名の一覧を取得して選択出来る様にしてほしい。尚profile名は[]でくくられた文字列である。
~/.aws/mfaから各行のリストを取得して、mfa_arnを選択できるようにしてほしい。
かならずシェルスクリプト形式で書くこと。
# コマンド
aws sts get-session-token --serial-number [mfa_arn] --profile [aws_profile] --token-code [token_code]
# 返ってくるJSON例
export AWS_ACCESS_KEY_ID="AAAAAAAAAAAAAAAAAAAAAA"
export AWS_SECRET_ACCESS_KEY="BBBBBBBBBBBBBBBBBBBBBBB"
export AWS_SESSION_TOKEN="CCCCCCCCCCCCCCCCCCCCCCCCCCC"
# 出力してほしい内容
export AWS_ACCESS_KEY_ID="AAAAAAAAAAAAAAAAAAAAAA"
export AWS_SECRET_ACCESS_KEY="BBBBBBBBBBBBBBBBBBBBBBB"
export AWS_SESSION_TOKEN="CCCCCCCCCCCCCCCCCCCCCCCCCCC"
# ~/.aws/credentialsのサンプル
[credential_name1]
aws_access_key_id=AAAAAAAAAAAAAAA
aws_secret_access_key=BBBBBBBBBBBBB
[credential_name2]
aws_access_key_id=AAAAAAACCCCCC
aws_secret_access_key=BDDDDDDDDDDDD
ECS EXECを自動化するプロンプト
入力したプロンプト
ECS EXECをクラスター→タスク→コンテナの順で選択して、ECS環境に入れるシェルスクリプトを書いてほしい。
クラスターは以下のコマンドで一覧を取得すること
aws ecs list-clusters
タスクは以下のコマンドで一覧を取得すること
aws ecs list-tasks --cluster [指定したクラスター]
コンテナは以下のコマンドで一覧を取得する
aws ecs describe-tasks --tasks [指定したタスク] --cluster [指定したクラスター]
コレは特に改造なしで使用可能です。もしサービスまで指定したい場合は
ECS EXECをクラスター→サービス→タスク→コンテナの順で選択して、ECS環境に入れるシェルスクリプトを書いてほしい。
クラスターは以下のコマンドで一覧を取得すること
aws ecs list-clusters
サービスは以下のコマンドで一覧を取得すること
aws ecs list-services --cluster [指定したクラスター]
タスクは以下のコマンドで一覧を取得すること
aws ecs list-tasks --cluster [指定したクラスター] --service-name [指定したサービス]
コンテナは以下のコマンドで一覧を取得する
aws ecs describe-tasks --tasks [指定したタスク] --cluster [指定したクラスター]
とかでも良い感じです。
他にあっても良さそうなもの
- Credentialを切り替えるツール
- AWSアクセスポータルにSSOでアクセスしたのち、紐づくAWSアカウントのクレデンシャルを自動で取ってくるアプリ(出来るの?)
- その他何かあれば、コメントください