はじめに
この記事は 2024年6月10日時点の仕様に基づいています
ドキュメントに一切書かれていないため、独自に検証した内容です
まだリリースされて日が浅いサービスなので今後仕様が変更になる可能性があります
事象
画像のように統合を新規作成しようとすると、下記のエラーで失敗します
The integration name: <Integration name> already exists in the selected region.
「testという名前の統合は既に存在するよ」とのこと
しかしその統合、既に削除済みなのです
実際、統合一覧に「test」という名前は見当たりません
発生条件
コンソール上で統合を削除する方法は3パターンあります
2つ目は統合詳細画面からDelete all versions
で削除
3つ目は統合詳細画面からDelete the current version
で削除
今回のような事象を引き起こすのは、3つ目の方法で統合を削除したときです
画像のようにVERSION 1
しか無い時にDelete the current version
を実行すると、このような表示が出ます
一覧ページに戻ると先ほどの統合は表示されない、にもかかわらず同名の統合を作成しようとするとエラーになってしまうのは前述のとおりです
おそらく3つ目の方法では統合が完全には削除されないのでしょう
解決方法
コンソールではもうどうすることもできません
こちらのAPIで統合を完全削除してやります
プロジェクトID、リージョン、削除したい統合名に認証情報を加えてリクエストします
これで同じ名前の統合が作れるようになるはずです
curl --request DELETE \
'https://integrations.googleapis.com/v1/projects/[PROJECT_ID]/locations/[REGION]/integrations/[INTEGRATION_NAME]?key=[YOUR_API_KEY]' \
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
--header 'Accept: application/json' \
--compressed
ちなみに削除が成功すれば200、指定した統合が存在しなければ404が返ってきます
FAQ
gcloud コマンドでできないの?
できません。少なくともこの記事作成時点(2024年6月)では Application Integration に関わる gcloud コマンドは確認できませんでした
バージョンを消すことで統合を消すなんて謎な行動とる人いる?
はい。ここにいます...
というのも、今回紹介した3つの削除方法の中で1、2番の方法を実行するには強い権限が必要なのです
私の場合、権限が足りず仕方なく3番の方法を実行したところ、今回の問題に遭遇したわけです
結局、今回の解決方法を取るには強い権限が必要になってしまったのですが...
時間が経ったら勝手に統合が消えるのでは?
その可能性はあります。ただ、1日やそこらでは消えません
確認した限り、統合が一覧に表示されなくなってから16日間は消えていません
30日経てば消えるような気もするので、確認できたら追記します
おわりに
こんなピンポイントすぎる記事が誰かの役に立つかわかりませんが、同じ問題を抱える人の助けになれば幸いです