Azure / terraform-azurerm-avm-ptn-virtualwan

The Azure Verified Module for the Virtual WAN Pattern
https://registry.terraform.io/modules/Azure/avm-ptn-virtualwan/azurerm/latest
MIT License
10 stars 16 forks source link

AVM-Review #35

Open mbilalamjad opened 8 months ago

mbilalamjad commented 8 months ago

Dear module owner,

As per the agreed module ownership requirements & responsibilities at the time of assignment, the AVM Team is opening this issue to request you to kindly review your module against the below AVM specs and confirm that they are met by the module. We appreciate if you don't close this issue till the review is complete. This review is required as a pre-req to be able to eventually publish the module as v1. AVM team would be happy to assist with the review and any questions that you might have around this.

Requested action is to complete below tasks and update the status column in the table below.

### Tasks
- [ ] Per SFR2, kindly confirm your module is WAF aligned, in particular the service specific [WAF reliability](https://learn.microsoft.com/en-us/azure/well-architected/service-guides/) & [APRL](https://azure.github.io/Azure-Proactive-Resiliency-Library/services/) recommendations are implemented by default if applicable.
# Spec Status [Y/N/NA] Comments
1 ID: SFR1 - Category: Composition - Preview Services
2 ID: SFR2 - Category: Composition - WAF Aligned
3 ID: SFR3 - Category: Telemetry - Deployment/Usage Telemetry
4 ID: SFR4 - Category: Telemetry - Telemetry Enablement Flexibility
5 ID: SFR5 - Category: Composition - Availability Zones
6 ID: SFR6 - Category: Composition - Data Redundancy
7 ID: SNFR25 - Category: Composition - Resource Naming
8 ID: SNFR1 - Category: Testing - Prescribed Tests
9 ID: SNFR2 - Category: Testing - E2E Testing
10 ID: SNFR3 - Category: Testing - AVM Compliance Tests
11 ID: SNFR4 - Category: Testing - Unit Tests
12 ID: SNFR5 - Category: Testing - Upgrade Tests
13 ID: SNFR6 - Category: Testing - Static Analysis/Linting Tests
14 ID: SNFR7 - Category: Testing - Idempotency Tests
15 ID: SNFR24 - Category: Testing - Testing Child, Extension & Interface Resources
16 ID: SNFR8 - Category: Contribution/Support - Module Owner(s) GitHub
17 ID: SNFR20 - Category: Contribution/Support - GitHub Teams Only
18 ID: SNFR9 - Category: Contribution/Support - AVM & PG Teams GitHub Repo Permissions
19 ID: SNFR10 - Category: Contribution/Support - MIT Licensing
20 ID: SNFR11 - Category: Contribution/Support - Issues Response Times
21 ID: SNFR12 - Category: Contribution/Support - Versions Supported
22 ID: SNFR23 - Category: Contribution/Support - GitHub Repo Labels
23 ID: SNFR14 - Category: Inputs - Data Types
24 ID: SNFR22 - Category: Inputs - Parameters/Variables for Resource IDs
25 ID: SNFR15 - Category: Documentation - Automatic Documentation Generation
26 ID: SNFR16 - Category: Documentation - Examples/E2E
27 ID: SNFR17 - Category: Release - Semantic Versioning
28 ID: SNFR18 - Category: Release - Breaking Changes
29 ID: SNFR19 - Category: Publishing - Registries Targeted
30 ID: SNFR21 - Category: Publishing - Cross Language Collaboration
31 ID: RMFR1 - Category: Composition - Single Resource Only
32 ID: RMFR2 - Category: Composition - No Resource Wrapper Modules
33 ID: RMFR3 - Category: Composition - Resource Groups
34 ID: RMFR4 - Category: Composition - AVM Consistent Feature & Extension Resources Value Add
35 ID: RMFR5 - Category: Composition - AVM Consistent Feature & Extension Resources Value Add Interfaces/Schemas
36 ID: RMFR8 - Category: Composition - Dependency on child and other resources
37 ID: RMFR6 - Category: Inputs - Parameter/Variable Naming
38 ID: RMFR7 - Category: Outputs - Minimum Required Outputs
39 ID: RMNFR1 - Category: Naming - Module Naming
40 ID: RMNFR2 - Category: Inputs - Parameter/Variable Naming
41 ID: RMNFR3 - Category: Composition - RP Collaboration
42 ID: PMFR1 - Category: Composition - Resource Group Creation
43 ID: PMNFR1 - Category: Naming - Module Naming
44 ID: PMNFR2 - Category: Composition - Use Resource Modules to Build a Pattern Module
45 ID: PMNFR3 - Category: Composition - Use other Pattern Modules to Build a Pattern Module
46 ID: PMNFR4 - Category: Hygiene - Missing Resource Module(s)
47 ID: PMNFR5 - Category: Inputs - Parameter/Variable Naming
48 ID: TFFR1 - Category: Composition - Cross-Referencing Modules
49 ID: TFFR2 - Category: Outputs - Additional Terraform Outputs
50 ID: TFNFR1 - Category: Documentation - Descriptions
51 ID: TFNFR2 - Category: Documentation - Module Documentation Generation
52 ID: TFNFR3 - Category: Contribution/Support - GitHub Repo Branch Protection
53 ID: TFNFR4 - Category: Composition - Code Styling - lower snake_casing
54 ID: TFNFR5 - Category: Testing - Test Tooling
55 ID: TFNFR6 - Category: Code Style - The Order of resource and data in the Same File
56 ID: TFNFR7 - Category: Code Style - The Use of count and for_each
57 ID: TFNFR8 - Category: Code Style - Orders Within resource and data Blocks
58 ID: TFNFR9 - Category: Code Style - Order within a module block
59 ID: TFNFR10 - Category: Code Style - Values in ignore_changes passed to provider, depends_on, lifecycle blocks are not allowed to use double quotations
60 ID: TFNFR11 - Category: Code Style - null comparison as creation toogle
61 ID: TFNFR12 - Category: Code Style - Optional nested object argument should use dynamic
62 ID: TFNFR13 - Category: Code Style - Use coalesce or try when setting default values for nullable expressions
63 ID: TFFR14 - Category: Inputs - No enabled or module_depends_on variable
64 ID: TFNFR15 - Category: Code Style - Order to define variable
65 ID: TFNFR16 - Category: Code Style - Name of a variable MUST follow rules
66 ID: TFNFR17 - Category: Code Style - Every variable MUST come with a description
67 ID: TFNFR18 - Category: Code Style - Every variable MUST have an appropriate type
68 ID: TFNFR19 - Category: Code Style - variable containing confidential data should be declared as sensitive = true
69 ID: TFNFR20 - Category: Code Style - Declare nullable = false when it’s possible
70 ID: TFNFR21 - Category: Code Style - MUST NOT declare nullable = true
71 ID: TFNFR22 - Category: Code Style - MUST NOT declare sensitive = false
72 ID: TFNFR23 - Category: Code Style - variable with sensitive = true MUST NOT have default value unless the default value represents turning off a feature, like default = null or default = []
73 ID: TFNFR24 - Category: Code Style - Deal with deprecated variable
74 ID: TFNFR25 - Category: Code Style - All verified modules MUST have terraform.tf file and required_version MUST be set
75 ID: TFNFR26 - Category: Code Style - Providers MUST be declared in the required_providers block in terraform.tf and MUST have a constraint on minimum and maximum major version
76 ID: TFNFR27 - Category: Code Style - Declaration of a provider in the module
77 ID: TFNFR28 - Category: Code Style - output MUST be arranged alphabetically
78 ID: TFNFR29 - Category: Code Style - output contains confidential data should declare sensitive = true
79 ID: TFNFR30 - Category: Code Style - Dealing with Deprecated outputs
80 ID: TFNFR31 - Category: Code Style - locals.tf MUST contain only locals blocks
81 ID: TFNFR32 - Category: Code Style - local should be arranged alphabetically
82 ID: TFNFR33 - Category: Code Style - local should use types as precise as possible
83 ID: TFNFR34 - Category: Code Style - Feature toggle MUST be used to ensure forward compatibility of versions and avoid unexpected changes caused by upgrades
84 ID: TFNFR35 - Category: Code Style - Changes that might be breaking change MUST be reviewed with caution
85 ID: TFNFR36 - Category: Code Style - Example code MUST set prevent_deletion_if_contains_resources to false in provider block
86 ID: TFNFR37 - Category: Code Style - Module owner MAY use tools like newres
segraef commented 7 months ago

@Azure/avm-ptn-virtualwan-module-owners-tf