GCPを使っていると、APIを有効化するように求められることが多いです。
特にTerraformを使ってIaCをしていると、terraform applyのタイミングでAPIが有効化されていないと、applyが途中で失敗してしまいます。
以下のモジュールを使ってTerraformでAPIを有効化することもできますが、APIを有効化するためのリソースを適切に書き、それらの対して適切な depends_on
を設定するのは面倒な作業です。
APIの有効化はプロジェクト毎に1回だけやれば良い作業であり、IaCするメリットも薄いのでワンライナーを使って一括で有効化してしまいましょう。
# プロジェクトの切り替え
gcloud config set project <プロジェクトID>
for s in $(gcloud services list --available | sed 1d | cut -d' ' -f1); do gcloud services enable $s; done
これでAPIの有効化という煩わしい操作から解放されます。