プライベートのAWSアカウントを一つ設定しなおしている。Terraform管理にしようかなと思って、せっかくなのでCursorに用意してもらうことにした。
まず新しいフォルダ作って、最初の設定をさせる。
AWSのリソースを管理するterraform を作成します。 バックエンドをS3のterraformstate-hogehoge/account.tfstateにします。 バックエンドとプロパイダのAWS Profileはaws-sso-adminにします。
で provider.tf が生成される。
terraform initして、続いて、
default vpcにS3のVPCエンドポイントを作ります
とすると、

こういう感じに vpc.tf を生成してくれる。
みた感じ問題ない。planとapply通った。便利。
StepFunctions作ってくれ!!!
以下の内容のStepFunctions の workflow を作ります。名前を sf-s3-list にします。 - S3 バケットの一覧を取得し、結果をJSONで出力する 関連するリソースも作成してください。 リソースの種類ごとに tf ファイルを分割してください。
こういうことを依頼すると、
mkdir -p ./asl/ して、そこに aslファイルを作成し、ワークフローの定義とIAM Roleの作成までやってくれる。
aslの中身はこんな感じだった。
{
"Comment": "List S3 buckets workflow",
"StartAt": "ListBuckets",
"States": {
"ListBuckets": {
"Type": "Task",
"Resource": "arn:aws:states:::aws-sdk:s3:listBuckets",
"Parameters": {
},
"End": true
}
}
}
リソースとしてS3インテグレーションを使っていて、Lambdaとかが挟まってない!
一通り終わったらこんなふうにまとめコメントが入る。

最初は apply したら asl の定義がちょっと変だよ、と怒られたのだけど、修正しとけというと適当に修正してくれた。(上のコードは修正後)
とはいえ
ちょっと複雑なワークフローを要求すると書いてみて失敗して書いてみて失敗して...となってしまう。惜しい。
できなさそうな時に適当なことを書くのは生成AI一般の特徴という感じがする。