ワンクリックで
bicep-api-version-updater
BicepファイルのAzure リソースAPIバージョンを最新化。「APIバージョンを更新」「Bicepを最新化」「古いAPIバージョンをチェック」を求める場合に使用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
BicepファイルのAzure リソースAPIバージョンを最新化。「APIバージョンを更新」「Bicepを最新化」「古いAPIバージョンをチェック」を求める場合に使用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Bicep/ARM what-if 出力を分析し、ノイズとドリフトの判断を支援する。 以下の場合に使用: (1) what-if 結果のノイズを分類したい、 (2) Bicep 定義との差分を確認したい、(3) 「❓ 未分類」が出た際にパターンを追加したい。 azd プロジェクト (azure.yaml 存在) と単体 Bicep デプロイの両方に対応。
AKSクラスターおよびFleet Managerのメンテナンス状況(予定・実行中・承認待ち・完了・失敗)を確認。「メンテナンス状況」「アップグレード履歴」「Fleet更新状態」「承認待ち」を求める場合に使用。
| name | bicep-api-version-updater |
| description | BicepファイルのAzure リソースAPIバージョンを最新化。「APIバージョンを更新」「Bicepを最新化」「古いAPIバージョンをチェック」を求める場合に使用。 |
BicepファイルのAzureリソースAPIバージョンを最新の安定版に更新する。
| Tool | 用途 |
|---|---|
az provider show | 最新GA版の取得(プライマリ) |
microsoft_docs_fetch | 最新GA版の取得(フォールバック:APIリファレンス参照) |
az bicep build | 構文検証・Linterチェック |
microsoft_docs_search | Breaking changes情報の検索 |
grep / view | Bicepファイルの解析 |
edit | APIバージョンの更新 |
Azure MCP Serverのbicepschemaとaz provider showでは、APIバージョンの取得元が異なる。
| ツール | データソース | 更新タイミング |
|---|---|---|
bicepschema | Bicep CLIに同梱された型定義(Azure/bicep-types-az) | Bicep CLIのリリース時 |
az provider show | Azureリソースプロバイダーへのリアルタイム問い合わせ | 常に最新 |
この設計上の差異により、bicepschemaが返す「最新版」がBicep CLIのバージョンに依存し、実際の最新GA版より古い場合がある。最新版の判定にはaz provider showを使用する。
参考:
bicepschemaの最新版選択ロジックはApiVersionSelector.csで実装されており、安定版を優先してソート・選択する仕様となっている。
az provider show はリソースプロバイダーに登録されているリソースタイプのみを返す。一部の子リソース(例: redisEnterprise/databases/accessPolicyAssignments)は登録されていない場合があり、その場合はAPIリファレンスを参照する必要がある。
1. Bicepファイル解析 → Step 1
↓
2. プレビュー版チェック → Step 2
- "-preview" を含む場合は更新スキップ
↓
3. 最新GA版の取得と比較 → Step 3
- az provider show で最新GA版を取得
- 現在のバージョンと比較
↓
4. Breaking Changes確認 → Step 4
↓
5. APIバージョン更新(仮適用) → Step 5
↓
6. Linter検証 → Step 6
- 警告が出た場合は元のバージョンに戻す
| 理由 | 報告時の状態 | 追加アクション |
|---|---|---|
| プレビュー版使用中 | ⏭️ スキップ(プレビュー版) | GA移行可否の分析(必須) |
| 既に最新GA版 | ⏭️ スキップ(既に最新) | なし |
| GA版が存在しない | ⏭️ スキップ(GA版なし) | なし |
| Linter警告発生 | ⚠️ スキップ(BCP081警告) | なし |
grep -E "^resource\s+" infra/**/*.bicep
対象外:
resourceInput<'Type@version'>/resourceOutput<'Type@version'>構文(Bicep 0.34.1以降)は本スキルの対象外。これらは型定義用でありリソースをデプロイしないため、APIバージョン更新の優先度が異なる。
APIバージョンに -preview が含まれる場合は更新をスキップ。
ただし、以下の分析は必ず実施すること:
az provider show で最新GA版を取得az provider show -n Microsoft.Network \
--query "resourceTypes[?resourceType=='virtualNetworks'].apiVersions" \
-o tsv | tr '\t' '\n' | grep -iv preview | sort -r | head -1
注意:
az provider showの返すAPIバージョン一覧は降順ソートされているように見えるが、公式ドキュメントでは保証されていない。sort -rでクライアント側ソートを行い、確実に最新版を取得する。
複数リソースタイプの一括取得:
for provider_resource in \
"Microsoft.ManagedIdentity:userAssignedIdentities" \
"Microsoft.Network:virtualNetworks" \
"Microsoft.Authorization:roleAssignments"
do
provider="${provider_resource%%:*}"
resource="${provider_resource##*:}"
echo "=== $provider/$resource ==="
az provider show -n "$provider" \
--query "resourceTypes[?resourceType=='$resource'].apiVersions" \
-o tsv 2>/dev/null | tr '\t' '\n' | grep -iv preview | sort -r | head -1
done
az provider show で結果が空の場合(リソースタイプが登録されていない場合)、microsoft_docs_fetch でAPIリファレンスを参照:
URL形式:
https://learn.microsoft.com/en-us/azure/templates/{provider}/{resourceType}
例:
https://learn.microsoft.com/en-us/azure/templates/microsoft.cache/redisenterprise/databases/accesspolicyassignments
APIリファレンスページの上部に利用可能なAPIバージョン一覧が表示される。-preview を含まない最新バージョンを選択する。
microsoft_docs_search で破壊的変更を検索:
検索クエリ例:
- "Microsoft.ContainerService managedClusters API breaking changes"
参考リンク:
edit ツールで更新。この時点では「仮適用」。
az bicep build --file infra/main.bicep 2>&1
理由: Bicep型定義が未対応の場合、プロパティの検証ができず意図しないデプロイエラーのリスクがある。Bicep CLIが更新されれば自動的に対応されるため、待つ方が安全。
禁止: 最新GA版でBCP081警告が出た場合に、警告が出ない別のバージョンへ変更すること。元のバージョンに戻すのみ許可。
例外: #disable-next-line BCP081 で意図的に警告を抑制しているリソースは、更新を許可する(Linterが警告しない)。
更新確定。
以下のセクションを必ず含めること:
## APIバージョン更新サマリー
| ファイル | リソースタイプ | 更新前 | 更新後 | 状態 |
|----------|---------------|--------|--------|------|
| identity.bicep | Microsoft.ManagedIdentity/userAssignedIdentities | 2023-01-31 | 2024-11-30 | ✅ 更新 |
| aks.bicep | Microsoft.ContainerService/managedClusters | 2025-06-02-preview | - | ⏭️ スキップ(プレビュー版) |
| network.bicep | Microsoft.Network/virtualNetworks | 2024-07-01 | - | ⏭️ スキップ(既に最新) |
| network.bicep | Microsoft.Network/publicIPAddresses | 2024-07-01 | - | ⚠️ スキップ(BCP081警告) |
**BCP081警告について:** 最新GA版への更新を試みたが、Bicep型定義が未対応のため元のバージョンを維持した。Bicep CLI更新後に再実行で更新可能になる場合がある。
### スキップされたプレビュー版リソースの分析
| ファイル | リソースタイプ | 現在のバージョン | 最新GA版 | GA移行可否 |
|----------|---------------|-----------------|---------|-----------|
| aks.bicep | Microsoft.ContainerService/managedClusters | 2025-06-02-preview | 2025-10-01 | ❌ 不可 |
**GA版に存在しない属性:**
- `properties.networkProfile.advancedNetworking.security.advancedNetworkPolicies`
上記の属性はプレビュー専用のため、GA版への移行には機能の代替または削除が必要である。
すべての属性がGA版に存在する場合は「✅ 可能」と表示され、GA版への移行を検討できる。
az login)