# Azure What-If Built-in Noise Patterns
# ─────────────────────────────────────────────────────────────────────────────
# These patterns handle known Azure What-If false positives in two phases:
#
# 1. Property patterns (pre-LLM): Strip noisy property lines from raw What-If
#    text BEFORE it is sent to the LLM for analysis.
# 2. Resource patterns (post-LLM): Demote matching resources to low confidence
#    AFTER LLM analysis, so they appear in the "Potential Azure What-If Noise"
#    section rather than being removed entirely.
#
# Pattern types:
#   Plain text           — case-insensitive substring: keyword anywhere in line (pre-LLM)
#   regex: <pattern>     — Python re.search(), case-insensitive (pre-LLM)
#   fuzzy: <pattern>     — legacy fuzzy similarity (SequenceMatcher) (pre-LLM)
#   resource: <type>     — demote to low confidence by ARM type substring (post-LLM)
#   resource: <type>:Op  — demote only when operation matches (Modify, Create, etc.)
#
# Plain-text, regex, and fuzzy patterns only apply to property-change lines
# (indented 4+ spaces with a ~ / + / - change symbol).
#
# Resource patterns match the resource_type field from the LLM response.
# Type matching is case-insensitive substring.
#
# To disable these built-ins: --no-builtin-patterns
# To add your own patterns:   --noise-file ./my-patterns.txt
# ─────────────────────────────────────────────────────────────────────────────

# ── Metadata & computed properties (virtually all resource types) ─────────────
etag
provisioningState
resourceGuid
creationTime
lastModifiedTime

# ── Azure diagnostics noise ───────────────────────────────────────────────────
logAnalyticsDestinationType

# ── IPv6 platform noise (VNets, subnets, NICs) ───────────────────────────────
# These IPv6 properties are almost always spurious in What-If output.
ipv6AddressSpace
disableIpv6
enableIPv6Addressing
enableIPv6

# ── Hidden / Azure-managed tags ──────────────────────────────────────────────
hidden-link:
hidden-title
hidden-related:

# ── Load balancer computed fields ─────────────────────────────────────────────
# inboundNatRules is regenerated by ARM on each evaluation; rarely a real change
inboundNatRules

# ── Network interface computed fields ─────────────────────────────────────────
effectiveRouteTable
effectiveNetworkSecurityGroup
appliedDnsServers
