Let customers ignore specific properties in stack what-if (similar to Terraform's ignore_changes)

オープン
#268 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
領域
cloud

調査の方向性

Start by reading the stack what-if implementation and the related drift detection issue #117 and tag noise issue #253; this request does not name source files or tests. The work needs a design for how ignored properties are declared on resources or stacks and how ignored differences appear in results. Done means customers can configure ignored property paths and see those differences identified as ignored.

索引モデルが issue の本文から書いたものです。

説明

Is your feature request related to a problem? Please describe.

Raised by a customer that reviews stack what-if results in pull requests. Some properties on their stack-managed resources are expected to change outside the template. For example, an Azure Policy (DeployIfNotExists) sets a tag with when and how a resource was last changed, including manual changes, so the template never sets it. Stack what-if reports those differences, so today they strip them out of the what-if JSON with a script before deciding whether anything changed.

Whether a difference like this is noise depends on the customer's setup, so it's hard for the platform to decide it for them.

Describe the solution you'd like

A way for customers to mark properties as ignored in stack what-if, similar to ignore_changes in Terraform:

  • on a resource in the template, for example with a decorator, and
  • for a whole stack, for example a list of property paths or tag names.

Ideally, ignored differences would still be listed as ignored rather than dropped, so it stays clear what was filtered out.

Describe alternatives you've considered

  • Setting every default explicitly in the template. That works for provider defaults, but not for values another process owns, like a policy-set tag.
  • Carrying the current value forward with this.existingResource(). What-if doesn't evaluate it yet (Azure/arm-template-whatif#83), so the property still shows as a change.
  • Filtering the what-if output with a script, which is what they do today.

Additional context

Related: Azure/bicep#3931 (ignore tag changes, closed after no recent activity), Azure/bicep#8729 (preserving existing properties during a deployment), #117 (drift detection) and #253 (tag noise in stack what-if). An ignored property is also drift the customer has chosen not to track, so this overlaps with drift detection.

主要言語
Bicep
スター
103
フォーク
13
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Azure/deployment-stacks のほかの issue

Azure/deployment-stacks の issue をすべて見る

似ている issue

Cloud の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。