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

Đang mở
#268 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Lĩnh vực
cloud

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
Bicep
Star
103
Fork
13
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Azure/deployment-stacks

Tất cả issue của Azure/deployment-stacks

Issue tương tự

Thêm issue về Cloud

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.