From 8b6dfbfd7ff9650c1d620d54b94403ce905300f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Barab=C3=A1s?= Date: Tue, 3 Dec 2024 15:30:54 -0800 Subject: [PATCH] Feat/matebarabas/spec-link-updates (#1747) --- .github/ISSUE_TEMPLATE/module_proposal.yml | 4 +- .github/ISSUE_TEMPLATE/orphaned_module.yml | 2 +- docs/layouts/shortcodes/tagsStats.html | 49 +++-- .../avm-terraform-module-review-template.md | 175 +++++++++--------- .../msg-final-conf-new-orph-mod-owners.md | 2 +- .../msg-final-conf-new-prop-mod-owners.md | 6 +- .../msg-std-reply-new-orph-mod-owners.md | 2 +- .../msg-std-reply-new-prop-mod-owners.md | 2 +- .../teamLinter/Invoke-AvmGitHubTeamLinter.ps1 | 12 +- 9 files changed, 135 insertions(+), 119 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/module_proposal.yml b/.github/ISSUE_TEMPLATE/module_proposal.yml index 2d6df6f3a..12e10ca80 100644 --- a/.github/ISSUE_TEMPLATE/module_proposal.yml +++ b/.github/ISSUE_TEMPLATE/module_proposal.yml @@ -9,7 +9,7 @@ body: value: | Thank you for proposing a new AVM module! - Please ensure you have checked the [AVM Module Classification Definitions](https://azure.github.io/Azure-Verified-Modules/specs/shared/module-classifications/) & the [AVM Shared Specifications](https://azure.github.io/Azure-Verified-Modules/specs/shared/). + Please ensure you have checked the [AVM Module Classification Definitions](https://azure.github.io/Azure-Verified-Modules/specs/shared/module-classifications/) & the [AVM Module Specifications](https://azure.github.io/Azure-Verified-Modules/specs/module-specs/). - type: checkboxes id: existing-checks attributes: @@ -53,7 +53,7 @@ body: attributes: label: Module Name description: | - What would be the name of the module following the [naming pattern](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-rmnfr1---category-naming)? + What would be the name of the module following the [naming pattern](https://azure.github.io/Azure-Verified-Modules/spec/RMNFR1/)? - Bicep: `avm/res//`; e.g., `avm/res/virtual-machine-images/image-template` - Terraform: `avm-res--`; e.g., `avm-res-virtualmachineimages-imagetemplate` placeholder: '' diff --git a/.github/ISSUE_TEMPLATE/orphaned_module.yml b/.github/ISSUE_TEMPLATE/orphaned_module.yml index 7aaf2f9cb..15fc84eb5 100644 --- a/.github/ISSUE_TEMPLATE/orphaned_module.yml +++ b/.github/ISSUE_TEMPLATE/orphaned_module.yml @@ -9,7 +9,7 @@ body: value: | Thank you for reporting an orphaned AVM module! - Please ensure you have checked the [AVM Module Classification Definitions](https://azure.github.io/Azure-Verified-Modules/specs/shared/module-classifications/) & the [AVM Shared Specification](https://azure.github.io/Azure-Verified-Modules/specs/shared/) + Please ensure you have checked the [AVM Module Classification Definitions](https://azure.github.io/Azure-Verified-Modules/specs/shared/module-classifications/) & the [AVM Module Specifications](https://azure.github.io/Azure-Verified-Modules/specs/module-specs/). - type: dropdown id: language attributes: diff --git a/docs/layouts/shortcodes/tagsStats.html b/docs/layouts/shortcodes/tagsStats.html index 8472b8d22..a6168587d 100644 --- a/docs/layouts/shortcodes/tagsStats.html +++ b/docs/layouts/shortcodes/tagsStats.html @@ -182,23 +182,34 @@ -}} + {{/* + + {{- if not (or (eq $languageFilter "Bicep") (eq $languageFilter "Terraform")) -}} + + + + {{- end -}} + + */}} {{- if (eq $languageFilter "") -}} {{- end -}} @@ -208,48 +219,54 @@ {{- end -}} {{- if or (eq $languageFilter "Bicep") (eq $languageFilter "") -}} {{- end -}} {{- if or (eq $languageFilter "Terraform") (eq $languageFilter "") -}} {{- end -}} diff --git a/docs/static/includes/avm-terraform-module-review-template.md b/docs/static/includes/avm-terraform-module-review-template.md index a7976d89f..1b9614040 100644 --- a/docs/static/includes/avm-terraform-module-review-template.md +++ b/docs/static/includes/avm-terraform-module-review-template.md @@ -19,92 +19,91 @@ Please use the comments columns to provide additional details especially if the - [ ] Ensure that the latest 'chore: repository governance' PR is merged into the main branch and the branch/fork of your AVM-Review-PR is also updated with it. ``` -| ID | Spec | Compliant | Comments | -| -- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | --------------------------------------------------------------- | -| 1 | [ID: SFR1 - Category: Composition - Preview Services](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-sfr1---category-composition---preview-services) | | NA if no preview services are used| -| 2 | [ID: SFR2 - Category: Composition - WAF Aligned](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-sfr2---category-composition---waf-aligned) | | Ensure only high priority reliability & security recommendations are implemented if any| -| 3 | [ID: SFR3 - Category: Telemetry - Deployment/Usage Telemetry](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-sfr3---category-telemetry---deploymentusage-telemetry) | | | -| 4 | [ID: SFR4 - Category: Telemetry - Telemetry Enablement Flexibility](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-sfr4---category-telemetry---telemetry-enablement-flexibility) | Yes | Yes if AVM Template Repo has been used| -| 5 | [ID: SFR5 - Category: Composition - Availability Zones](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-sfr5---category-composition---availability-zones) | | | -| 6 | [ID: SFR6 - Category: Composition - Data Redundancy](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-sfr6---category-composition---data-redundancy) | | | -| 7 | [ID: SNFR25 - Category: Composition - Resource Naming](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr25---category-composition---resource-naming) | | | -| 8 | [ID: SNFR1 - Category: Testing - Prescribed Tests](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr1---category-testing---prescribed-tests) | Yes | Yes if all e2e test, version-check & linting checks passed | -| 9 | [ID: SNFR2 - Category: Testing - E2E Testing](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr2---category-testing---e2e-testing) | Yes | Yes if e2e tests passed | -| 10 | [ID: SNFR3 - Category: Testing - AVM Compliance Tests](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr3---category-testing---avm-compliance-tests) | Yes | Yes if all e2e test, version-check & linting checks passed | -| 11 | [ID: SNFR4 - Category: Testing - Unit Tests](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr4---category-testing---unit-tests) | | NA if no tests created in tests folder | -| 12 | [ID: SNFR5 - Category: Testing - Upgrade Tests](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr5---category-testing---upgrade-tests) | NA | Module Owner to action this spec post-publish as appropriate | -| 13 | [ID: SNFR6 - Category: Testing - Static Analysis/Linting Tests](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr6---category-testing---static-analysislinting-tests) | Yes | Yes if all linting checks passed | -| 14 | [ID: SNFR7 - Category: Testing - Idempotency Tests](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr7---category-testing---idempotency-tests) | Yes | Yes if e2e tests passed | -| 15 | [ID: SNFR24 - Category: Testing - Testing Child, Extension & Interface Resources](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr24---category-testing---testing-child-extension--interface-resources) | Yes | Yes if e2e tests passed | -| 16 | [ID: SNFR8 - Category: Contribution/Support - Module Owner(s) GitHub](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr8---category-contributionsupport---module-owners-github) | | | -| 17 | [ID: SNFR20 - Category: Contribution/Support - GitHub Teams Only](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr20---category-contributionsupport---github-teams-only) | | | -| 18 | [ID: SNFR9 - Category: Contribution/Support - AVM & PG Teams GitHub Repo Permissions](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr9---category-contributionsupport---avm--pg-teams-github-repo-permissions) | | | -| 19 | [ID: SNFR10 - Category: Contribution/Support - MIT Licensing](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr10---category-contributionsupport---mit-licensing) | Yes | Yes if AVM Template Repo has been used | -| 20 | [ID: SNFR11 - Category: Contribution/Support - Issues Response Times](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr11---category-contributionsupport---issues-response-times) | NA | Module Owner to action this spec post-publish as appropriate | -| 21 | [ID: SNFR12 - Category: Contribution/Support - Versions Supported](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr12---category-contributionsupport---versions-supported) | NA | Module Owner to action this spec post-publish as appropriate | -| 22 | [ID: SNFR23 - Category: Contribution/Support - GitHub Repo Labels](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr23---category-contributionsupport---github-repo-labels) | | | -| 23 | [ID: SNFR14 - Category: Inputs - Data Types](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr14---category-inputs---data-types) | | | -| 24 | [ID: SNFR22 - Category: Inputs - Parameters/Variables for Resource IDs](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr22---category-inputs---parametersvariables-for-resource-ids) | | | -| 25 | [ID: SNFR15 - Category: Documentation - Automatic Documentation Generation](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr15---category-documentation---automatic-documentation-generation) | Yes | Yes if linting / docs check passed| -| 26 | [ID: SNFR16 - Category: Documentation - Examples/E2E](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr16---category-documentation---examplese2e) | Yes | Yes if e2e tests passed | -| 27 | [ID: SNFR17 - Category: Release - Semantic Versioning](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr17---category-release---semantic-versioning) | Yes | Yes if version-check check passed | -| 28 | [ID: SNFR18 - Category: Release - Breaking Changes](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr18---category-release---breaking-changes) | NA | Module Owner to action this spec post-publish as appropriate | -| 29 | [ID: SNFR19 - Category: Publishing - Registries Targeted](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr19---category-publishing---registries-targeted) | NA | Module Owner to action this spec post-publish as appropriate | -| 30 | [ID: SNFR21 - Category: Publishing - Cross Language Collaboration](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr21---category-publishing---cross-language-collaboration) | NA | Module Owner to action this spec post-publish as appropriate| -| 31 | [ID: RMFR1 - Category: Composition - Single Resource Only](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-rmfr1---category-composition---single-resource-only) | | | -| 32 | [ID: RMFR2 - Category: Composition - No Resource Wrapper Modules](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-rmfr2---category-composition---no-resource-wrapper-modules) | | | -| 33 | [ID: RMFR3 - Category: Composition - Resource Groups](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-rmfr3---category-composition---resource-groups) | | | -| 34 | [ID: RMFR4 - Category: Composition - AVM Consistent Feature & Extension Resources Value Add](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-rmfr4---category-composition---avm-consistent-feature--extension-resources-value-add) | Yes | Yes if linting / terraform check passed | -| 35 | [ID: RMFR5 - Category: Composition - AVM Consistent Feature & Extension Resources Value Add Interfaces/Schemas](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-rmfr5---category-composition---avm-consistent-feature--extension-resources-value-add-interfacesschemas) | Yes | Yes if linting / terraform check passed | -| 36 | [ID: RMFR8 - Category: Composition - Dependency on child and other resources](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-rmfr8---category-composition---dependency-on-child-and-other-resources) | | | -| 37 | [ID: RMFR6 - Category: Inputs - Parameter/Variable Naming](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-rmfr6---category-inputs---parametervariable-naming) | | | -| 38 | [ID: RMFR7 - Category: Outputs - Minimum Required Outputs](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-rmfr7---category-outputs---minimum-required-outputs) | Yes | Yes if linting / terraform check passed | -| 39 | [ID: RMNFR1 - Category: Naming - Module Naming](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-rmnfr1---category-naming---module-naming) | | | -| 40 | [ID: RMNFR2 - Category: Inputs - Parameter/Variable Naming](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-rmnfr2---category-inputs---parametervariable-naming) | | | -| 41 | [ID: RMNFR3 - Category: Composition - RP Collaboration](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-rmnfr3---category-composition---rp-collaboration) | NA | Module Owner to action this spec post-publish as appropriate | -| 42 | [ID: PMFR1 - Category: Composition - Resource Group Creation](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-pmfr1---category-composition---resource-group-creation) | | NA if this is not a pattern module| -| 43 | [ID: PMNFR1 - Category: Naming - Module Naming](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-pmnfr1---category-naming---module-naming) | | NA if this is not a pattern module | -| 44 | [ID: PMNFR2 - Category: Composition - Use Resource Modules to Build a Pattern Module](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-pmnfr2---category-composition---use-resource-modules-to-build-a-pattern-module) | | NA if this is not a pattern module | -| 45 | [ID: PMNFR3 - Category: Composition - Use other Pattern Modules to Build a Pattern Module](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-pmnfr3---category-composition---use-other-pattern-modules-to-build-a-pattern-module) | | NA if this is not a pattern module | -| 46 | [ID: PMNFR4 - Category: Hygiene - Missing Resource Module(s)](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-pmnfr4---category-hygiene---missing-resource-modules) | | NA if this is not a pattern module| -| 47 | [ID: PMNFR5 - Category: Inputs - Parameter/Variable Naming](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-pmnfr5---category-inputs---parametervariable-naming) | | NA if this is not a pattern module | -| 48 | [ID: TFFR1 - Category: Composition - Cross-Referencing Modules](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tffr1---category-composition---cross-referencing-modules) | | | -| 49 | [ID: TFFR2 - Category: Outputs - Additional Terraform Outputs](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tffr2---category-outputs---additional-terraform-outputs) | Yes | Yes if linting / terraform check passed | -| 50 | [ID: TFNFR1 - Category: Documentation - Descriptions](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr1---category-documentation---descriptions) | | | -| 51 | [ID: TFNFR2 - Category: Documentation - Module Documentation Generation](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr2---category-documentation---module-documentation-generation) | Yes | Yes if linting / docs check passed | -| 52 | [ID: TFNFR3 - Category: Contribution/Support - GitHub Repo Branch Protection](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr3---category-contributionsupport---github-repo-branch-protection) | Yes | Yes if AVM Template Repo has been used | -| 53 | [ID: TFNFR4 - Category: Composition - Code Styling - lower snake_casing](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr4---category-composition---code-styling---lower-snake_casing) | Yes | Yes if linting / terraform check passed | -| 54 | [ID: TFNFR5 - Category: Testing - Test Tooling](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr5---category-testing---test-tooling) | Yes | Yes if linting / terraform check passed | -| 55 | [ID: TFNFR6 - Category: Code Style - Resource & Data Order](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr6---category-code-style---resource--data-order) | | | -| 56 | [ID: TFNFR7 - Category: Code Style - count & for_each Use](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr7---category-code-style---count--for_each-use) | | | -| 57 | [ID: TFNFR8 - Category: Code Style - Resource & Data Block Orders](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr8---category-code-style---resource--data-block-orders) | Yes | Yes if linting / avmfix check passed | -| 58 | [ID: TFNFR9 - Category: Code Style - Module Block Order](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr9---category-code-style---module-block-order) | | | -| 59 | [ID: TFNFR10 - Category: Code Style - No Double Quotes in ignore_changes](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr10---category-code-style---no-double-quotes-in-ignore_changes) | | | -| 60 | [ID: TFNFR11 - Category: Code Style - Null Comparison Toggle](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr11---category-code-style---null-comparison-toggle) | | | -| 61 | [ID: TFNFR12 - Category: Code Style - Dynamic for Optional Nested Objects](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr12---category-code-style---dynamic-for-optional-nested-objects) | | | -| 62 | [ID: TFNFR13 - Category: Code Style - Default Values with coalesce/try](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr13---category-code-style---default-values-with-coalescetry) | | | -| 63 | [ID: TFNFR14 - Category: Inputs - Not allowed variables](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr14---category-inputs---not-allowed-variables) | | | -| 64 | [ID: TFNFR15 - Category: Code Style - Variable Definition Order](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr15---category-code-style---variable-definition-order) | Yes | Yes if linting / avmfix check passed | -| 65 | [ID: TFNFR16 - Category: Code Style - Variable Naming Rules](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr16---category-code-style---variable-naming-rules) | Yes | Yes if linting / terraform check passed | -| 66 | [ID: TFNFR17 - Category: Code Style - Variables with Descriptions](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr17---category-code-style---variables-with-descriptions) | Yes | Yes if linting / terraform check passed | -| 67 | [ID: TFNFR18 - Category: Code Style - Variables with Types](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr18---category-code-style---variables-with-types) | Yes | Yes if linting / terraform check passed | -| 68 | [ID: TFNFR19 - Category: Code Style - Sensitive Data Variables](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr19---category-code-style---sensitive-data-variables) | | | -| 69 | [ID: TFNFR20 - Category: Code Style - Non-Nullable Defaults for collection values](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr20---category-code-style---non-nullable-defaults-for-collection-values) | | | -| 70 | [ID: TFNFR21 - Category: Code Style - Discourage Nullability by Default](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr21---category-code-style---discourage-nullability-by-default) | Yes | Yes if linting / avmfix check passed | -| 71 | [ID: TFNFR22 - Category: Code Style - Avoid sensitive = false](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr22---category-code-style---avoid-sensitive--false) | Yes | Yes if linting / avmfix check passed | -| 72 | [ID: TFNFR23 - Category: Code Style - Sensitive Default Value Conditions](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr23---category-code-style---sensitive-default-value-conditions) | Yes | Yes if linting / terraform check passed | -| 73 | [ID: TFNFR24 - Category: Code Style - Handling Deprecated Variables](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr24---category-code-style---handling-deprecated-variables) | NA | Module Owner to action this spec post-publish as appropriate | -| 74 | [ID: TFNFR25 - Category: Code Style - Verified Modules Requirements](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr25---category-code-style---verified-modules-requirements) | Yes | Yes if linting / terraform check passed | -| 75 | [ID: TFNFR26 - Category: Code Style - Providers in required_providers](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr26---category-code-style---providers-in-required_providers) | Yes | Yes if linting / terraform check passed | -| 76 | [ID: TFNFR27 - Category: Code Style - Provider Declarations in Modules](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr27---category-code-style---provider-declarations-in-modules) | Yes | Yes if linting / terraform check passed | -| 77 | [ID: TFNFR28 - Category: Code Style - Provider Declarations in Modules](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr28---category-code-style---provider-declarations-in-modules) | Yes | Yes if linting / terraform check passed | -| 78 | [ID: TFNFR29 - Category: Code Style - Sensitive Data Outputs](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr29---category-code-style---sensitive-data-outputs) | Yes | Yes if linting / avmfix check passed | -| 79 | [ID: TFNFR30 - Category: Code Style - Handling Deprecated Outputs](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr30---category-code-style---handling-deprecated-outputs) | NA | Module Owner to action this spec post-publish as appropriate | -| 80 | [ID: TFNFR31 - Category: Code Style - locals.tf for Locals Only](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr31---category-code-style---localstf-for-locals-only) | | | -| 81 | [ID: TFNFR32 - Category: Code Style - Alphabetical Local Arrangement](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr32---category-code-style---alphabetical-local-arrangement) | Yes | Yes if linting / avmfix check passed | -| 82 | [ID: TFNFR33 - Category: Code Style - Precise Local Types](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr33---category-code-style---precise-local-types) | | | -| 83 | [ID: TFNFR34 - Category: Code Style - Using Feature Toggles](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr34---category-code-style---using-feature-toggles) | NA | Module Owner to action this spec post-publish as appropriate | -| 84 | [ID: TFNFR35 - Category: Code Style - Reviewing Potential Breaking Changes](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr35---category-code-style---reviewing-potential-breaking-changes) | NA | Module Owner to action this spec post-publish as appropriate | -| 85 | [ID: TFNFR36 - Category: Code Style - Setting prevent_deletion_if_contains_resources](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr36---category-code-style---setting-prevent_deletion_if_contains_resources) | | | -| 86 | [ID: TFNFR37 - Category: Code Style - Tool Usage by Module Owner](https://azure.github.io/Azure-Verified-Modules/specs/terraform/#id-tfnfr37---category-code-style---tool-usage-by-module-owner) | | | +| ID | Spec | Compliant | Comments | +| --- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | --------------------------------------------------------------------------------------- | +| 1 | [ID: SFR1 - Category: Composition - Preview Services](https://azure.github.io/Azure-Verified-Modules/spec/SFR1) | | NA if no preview services are used | +| 2 | [ID: SFR2 - Category: Composition - WAF Aligned](https://azure.github.io/Azure-Verified-Modules/spec/SFR2) | | Ensure only high priority reliability & security recommendations are implemented if any | +| 3 | [ID: SFR3 - Category: Telemetry - Deployment/Usage Telemetry](https://azure.github.io/Azure-Verified-Modules/spec/SFR3) | | | +| 4 | [ID: SFR4 - Category: Telemetry - Telemetry Enablement Flexibility](https://azure.github.io/Azure-Verified-Modules/spec/SFR4) | Yes | Yes if AVM Template Repo has been used | +| 5 | [ID: SFR5 - Category: Composition - Availability Zones](https://azure.github.io/Azure-Verified-Modules/spec/SFR5) | | | +| 6 | [ID: SFR6 - Category: Composition - Data Redundancy](https://azure.github.io/Azure-Verified-Modules/spec/SFR6) | | | +| 7 | [ID: SNFR25 - Category: Composition - Resource Naming](https://azure.github.io/Azure-Verified-Modules/spec/SNFR25) | | | +| 8 | [ID: SNFR1 - Category: Testing - Prescribed Tests](https://azure.github.io/Azure-Verified-Modules/spec/SNFR1) | Yes | Yes if all e2e test, version-check & linting checks passed | +| 9 | [ID: SNFR2 - Category: Testing - E2E Testing](https://azure.github.io/Azure-Verified-Modules/spec/SNFR2) | Yes | Yes if e2e tests passed | +| 10 | [ID: SNFR3 - Category: Testing - AVM Compliance Tests](https://azure.github.io/Azure-Verified-Modules/spec/SNFR3) | Yes | Yes if all e2e test, version-check & linting checks passed | +| 11 | [ID: SNFR4 - Category: Testing - Unit Tests](https://azure.github.io/Azure-Verified-Modules/spec/SNFR4) | | NA if no tests created in tests folder | +| 12 | [ID: SNFR5 - Category: Testing - Upgrade Tests](https://azure.github.io/Azure-Verified-Modules/spec/SNFR5) | NA | Module Owner to action this spec post-publish as appropriate | +| 13 | [ID: SNFR6 - Category: Testing - Static Analysis/Linting Tests](https://azure.github.io/Azure-Verified-Modules/spec/SNFR6) | Yes | Yes if all linting checks passed | +| 14 | [ID: SNFR7 - Category: Testing - Idempotency Tests](https://azure.github.io/Azure-Verified-Modules/spec/SNFR7) | Yes | Yes if e2e tests passed | +| 15 | [ID: SNFR24 - Category: Testing - Testing Child, Extension & Interface Resources](https://azure.github.io/Azure-Verified-Modules/spec/SNFR24) | Yes | Yes if e2e tests passed | +| 16 | [ID: SNFR8 - Category: Contribution/Support - Module Owner(s) GitHub](https://azure.github.io/Azure-Verified-Modules/spec/SNFR8) | | | +| 17 | [ID: SNFR20 - Category: Contribution/Support - GitHub Teams Only](https://azure.github.io/Azure-Verified-Modules/spec/SNFR20) | | | +| 18 | [ID: SNFR9 - Category: Contribution/Support - AVM & PG Teams GitHub Repo Permissions](https://azure.github.io/Azure-Verified-Modules/spec/SNFR9) | | | +| 19 | [ID: SNFR10 - Category: Contribution/Support - MIT Licensing](https://azure.github.io/Azure-Verified-Modules/spec/SNFR10) | Yes | Yes if AVM Template Repo has been used | +| 20 | [ID: SNFR11 - Category: Contribution/Support - Issues Response Times](https://azure.github.io/Azure-Verified-Modules/spec/SNFR11) | NA | Module Owner to action this spec post-publish as appropriate | +| 21 | [ID: SNFR12 - Category: Contribution/Support - Versions Supported](https://azure.github.io/Azure-Verified-Modules/spec/SNFR12) | NA | Module Owner to action this spec post-publish as appropriate | +| 22 | [ID: SNFR23 - Category: Contribution/Support - GitHub Repo Labels](https://azure.github.io/Azure-Verified-Modules/spec/SNFR23) | | | +| 23 | [ID: SNFR14 - Category: Inputs - Data Types](https://azure.github.io/Azure-Verified-Modules/spec/SNFR14) | | | +| 24 | [ID: SNFR22 - Category: Inputs - Parameters/Variables for Resource IDs](https://azure.github.io/Azure-Verified-Modules/spec/SNFR22) | | | +| 25 | [ID: SNFR15 - Category: Documentation - Automatic Documentation Generation](https://azure.github.io/Azure-Verified-Modules/spec/SNFR15) | Yes | Yes if linting / docs check passed | +| 26 | [ID: SNFR16 - Category: Documentation - Examples/E2E](https://azure.github.io/Azure-Verified-Modules/spec/SNFR16) | Yes | Yes if e2e tests passed | +| 27 | [ID: SNFR17 - Category: Release - Semantic Versioning](https://azure.github.io/Azure-Verified-Modules/spec/SNFR17) | Yes | Yes if version-check check passed | +| 28 | [ID: SNFR18 - Category: Release - Breaking Changes](https://azure.github.io/Azure-Verified-Modules/spec/SNFR18) | NA | Module Owner to action this spec post-publish as appropriate | +| 29 | [ID: SNFR19 - Category: Publishing - Registries Targeted](https://azure.github.io/Azure-Verified-Modules/spec/SNFR19) | NA | Module Owner to action this spec post-publish as appropriate | +| 30 | [ID: SNFR21 - Category: Publishing - Cross Language Collaboration](https://azure.github.io/Azure-Verified-Modules/spec/SNFR21) | NA | Module Owner to action this spec post-publish as appropriate | +| 31 | [ID: RMFR1 - Category: Composition - Single Resource Only](https://azure.github.io/Azure-Verified-Modules/spec/RMFR1) | | | +| 32 | [ID: RMFR2 - Category: Composition - No Resource Wrapper Modules](https://azure.github.io/Azure-Verified-Modules/spec/RMFR2) | | | +| 33 | [ID: RMFR3 - Category: Composition - Resource Groups](https://azure.github.io/Azure-Verified-Modules/spec/RMFR3) | | | +| 34 | [ID: RMFR4 - Category: Composition - AVM Consistent Feature & Extension Resources Value Add](https://azure.github.io/Azure-Verified-Modules/spec/RMFR4) | Yes | Yes if linting / terraform check passed | +| 35 | [ID: RMFR5 - Category: Composition - AVM Consistent Feature & Extension Resources Value Add Interfaces/Schemas](https://azure.github.io/Azure-Verified-Modules/spec/RMFR5) | Yes | Yes if linting / terraform check passed | +| 36 | [ID: RMFR8 - Category: Composition - Dependency on child and other resources](https://azure.github.io/Azure-Verified-Modules/spec/RMFR8) | | | +| 37 | [ID: RMFR6 - Category: Inputs - Parameter/Variable Naming](https://azure.github.io/Azure-Verified-Modules/spec/RMFR6) | | | +| 38 | [ID: RMFR7 - Category: Outputs - Minimum Required Outputs](https://azure.github.io/Azure-Verified-Modules/spec/RMFR7) | Yes | Yes if linting / terraform check passed | +| 39 | [ID: RMNFR1 - Category: Naming - Module Naming](https://azure.github.io/Azure-Verified-Modules/spec/RMNFR1) | | | +| 40 | [ID: RMNFR2 - Category: Inputs - Parameter/Variable Naming](https://azure.github.io/Azure-Verified-Modules/spec/RMNFR2) | | | +| 41 | [ID: RMNFR3 - Category: Composition - RP Collaboration](https://azure.github.io/Azure-Verified-Modules/spec/RMNFR3) | NA | Module Owner to action this spec post-publish as appropriate | +| 42 | [ID: PMFR1 - Category: Composition - Resource Group Creation](https://azure.github.io/Azure-Verified-Modules/spec/PMFR1) | | NA if this is not a pattern module | +| 43 | [ID: PMNFR1 - Category: Naming - Module Naming](https://azure.github.io/Azure-Verified-Modules/spec/PMNFR1) | | NA if this is not a pattern module | +| 44 | [ID: PMNFR2 - Category: Composition - Use Resource Modules to Build a Pattern Module](https://azure.github.io/Azure-Verified-Modules/spec/PMNFR2) | | NA if this is not a pattern module | +| 45 | [ID: PMNFR3 - Category: Composition - Use other Pattern Modules to Build a Pattern Module](https://azure.github.io/Azure-Verified-Modules/spec/PMNFR3) | | NA if this is not a pattern module | +| 46 | [ID: PMNFR4 - Category: Hygiene - Missing Resource Module(s)](https://azure.github.io/Azure-Verified-Modules/spec/PMNFR4) | | NA if this is not a pattern module | +| 47 | [ID: PMNFR5 - Category: Inputs - Parameter/Variable Naming](https://azure.github.io/Azure-Verified-Modules/spec/PMNFR5) | | NA if this is not a pattern module | +| 48 | [ID: TFFR1 - Category: Composition - Cross-Referencing Modules](https://azure.github.io/Azure-Verified-Modules/spec/TFFR1) | | | +| 49 | [ID: TFFR2 - Category: Outputs - Additional Terraform Outputs](https://azure.github.io/Azure-Verified-Modules/spec/TFFR2) | Yes | Yes if linting / terraform check passed | +| 50 | [ID: TFNFR1 - Category: Documentation - Descriptions](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR1) | | | +| 51 | [ID: TFNFR2 - Category: Documentation - Module Documentation Generation](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR2) | Yes | Yes if linting / docs check passed | +| 52 | [ID: TFNFR3 - Category: Contribution/Support - GitHub Repo Branch Protection](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR3) | Yes | Yes if AVM Template Repo has been used | +| 53 | [ID: TFNFR4 - Category: Composition - Code Styling - lower snake_casing](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR4) | Yes | Yes if linting / terraform check passed | +| 54 | [ID: TFNFR5 - Category: Testing - Test Tooling](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR5) | Yes | Yes if linting / terraform check passed | +| 55 | [ID: TFNFR6 - Category: Code Style - Resource & Data Order](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR6) | | | +| 56 | [ID: TFNFR7 - Category: Code Style - count & for_each Use](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR7) | | | +| 57 | [ID: TFNFR8 - Category: Code Style - Resource & Data Block Orders](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR8) | Yes | Yes if linting / avmfix check passed | +| 58 | [ID: TFNFR9 - Category: Code Style - Module Block Order](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR9) | | | +| 59 | [ID: TFNFR10 - Category: Code Style - No Double Quotes in ignore_changes](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR10) | | | +| 60 | [ID: TFNFR11 - Category: Code Style - Null Comparison Toggle](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR11) | | | +| 61 | [ID: TFNFR12 - Category: Code Style - Dynamic for Optional Nested Objects](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR12) | | | +| 62 | [ID: TFNFR13 - Category: Code Style - Default Values with coalesce/try](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR13) | | | +| 63 | [ID: TFNFR14 - Category: Inputs - Not allowed variables](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR14) | | | +| 64 | [ID: TFNFR15 - Category: Code Style - Variable Definition Order](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR15) | Yes | Yes if linting / avmfix check passed | +| 65 | [ID: TFNFR16 - Category: Code Style - Variable Naming Rules](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR16) | Yes | Yes if linting / terraform check passed | +| 66 | [ID: TFNFR17 - Category: Code Style - Variables with Descriptions](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR17) | Yes | Yes if linting / terraform check passed | +| 67 | [ID: TFNFR18 - Category: Code Style - Variables with Types](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR18) | Yes | Yes if linting / terraform check passed | +| 68 | [ID: TFNFR19 - Category: Code Style - Sensitive Data Variables](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR19) | | | +| 69 | [ID: TFNFR20 - Category: Code Style - Non-Nullable Defaults for collection values](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR20) | | | +| 70 | [ID: TFNFR21 - Category: Code Style - Discourage Nullability by Default](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR21) | Yes | Yes if linting / avmfix check passed | +| 71 | [ID: TFNFR22 - Category: Code Style - Avoid sensitive = false](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR22) | Yes | Yes if linting / avmfix check passed | +| 72 | [ID: TFNFR23 - Category: Code Style - Sensitive Default Value Conditions](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR23) | Yes | Yes if linting / terraform check passed | +| 73 | [ID: TFNFR24 - Category: Code Style - Handling Deprecated Variables](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR24) | NA | Module Owner to action this spec post-publish as appropriate | +| 74 | [ID: TFNFR25 - Category: Code Style - Verified Modules Requirements](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR25) | Yes | Yes if linting / terraform check passed | +| 75 | [ID: TFNFR26 - Category: Code Style - Providers in required_providers](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR26) | Yes | Yes if linting / terraform check passed | +| 76 | [ID: TFNFR27 - Category: Code Style - Provider Declarations in Modules](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR27) | Yes | Yes if linting / terraform check passed | +| 77 | [ID: TFNFR29 - Category: Code Style - Sensitive Data Outputs](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR29) | Yes | Yes if linting / avmfix check passed | +| 78 | [ID: TFNFR30 - Category: Code Style - Handling Deprecated Outputs](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR30) | NA | Module Owner to action this spec post-publish as appropriate | +| 79 | [ID: TFNFR31 - Category: Code Style - locals.tf for Locals Only](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR31) | | | +| 80 | [ID: TFNFR32 - Category: Code Style - Alphabetical Local Arrangement](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR32) | Yes | Yes if linting / avmfix check passed | +| 81 | [ID: TFNFR33 - Category: Code Style - Precise Local Types](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR33) | | | +| 82 | [ID: TFNFR34 - Category: Code Style - Using Feature Toggles](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR34) | NA | Module Owner to action this spec post-publish as appropriate | +| 83 | [ID: TFNFR35 - Category: Code Style - Reviewing Potential Breaking Changes](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR35) | NA | Module Owner to action this spec post-publish as appropriate | +| 84 | [ID: TFNFR36 - Category: Code Style - Setting prevent_deletion_if_contains_resources](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR36) | | | +| 85 | [ID: TFNFR37 - Category: Code Style - Tool Usage by Module Owner](https://azure.github.io/Azure-Verified-Modules/spec/TFNFR37) | | | diff --git a/docs/static/includes/msg-final-conf-new-orph-mod-owners.md b/docs/static/includes/msg-final-conf-new-orph-mod-owners.md index ec80c7292..fcede3ceb 100644 --- a/docs/static/includes/msg-final-conf-new-orph-mod-owners.md +++ b/docs/static/includes/msg-final-conf-new-orph-mod-owners.md @@ -7,7 +7,7 @@ We just want to ask you to double check a few important things. **Please use the following values explicitly as provided in the [module index](https://azure.github.io/Azure-Verified-Modules/indexes/) page**: -- You must be the owner of the GitHub teams as outlined [here](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr20---category-contributionsupport---github-teams-only). +- You must be the owner of the GitHub teams as outlined [here](https://azure.github.io/Azure-Verified-Modules/spec/SNFR20). - Please check that your name has been updated in the module index page (this should happen shortly after you confirmed ownership). You can now take ownership of this module and start improving it as needed! ✅ Happy coding! 🎉 diff --git a/docs/static/includes/msg-final-conf-new-prop-mod-owners.md b/docs/static/includes/msg-final-conf-new-prop-mod-owners.md index e81a6b4f7..2a8a4d629 100644 --- a/docs/static/includes/msg-final-conf-new-prop-mod-owners.md +++ b/docs/static/includes/msg-final-conf-new-prop-mod-owners.md @@ -9,11 +9,11 @@ Before starting development, please ensure ALL the following requirements are me - For your module: - `ModuleName` - for naming your module - - `TelemetryIdPrefix` - for your module's [telemetry](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-sfr3---category-telemetry---deploymentusage-telemetry) + - `TelemetryIdPrefix` - for your module's [telemetry](https://azure.github.io/Azure-Verified-Modules/spec/SFR3) - For your module's repository: - Repo name and folder path are defined in `RepoURL` - - Create GitHub teams for module owners and contributors and grant them permissions as outlined [here](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr20---category-contributionsupport---github-teams-only). - - Grant permissions for the AVM core team and PG teams on your GitHub repo as described [here](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr9---category-contributionsupport---avm--pg-teams-github-repo-permissions). + - Create GitHub teams for module owners and contributors and grant them permissions as outlined [here](https://azure.github.io/Azure-Verified-Modules/spec/SNFR20). + - Grant permissions for the AVM core team and PG teams on your GitHub repo as described [here](https://azure.github.io/Azure-Verified-Modules/spec/SNFR9). Check if this module exists in the other IaC language. If so, collaborate with the other owner for consistency. 👍 diff --git a/docs/static/includes/msg-std-reply-new-orph-mod-owners.md b/docs/static/includes/msg-std-reply-new-orph-mod-owners.md index 2e204cfeb..e4858e987 100644 --- a/docs/static/includes/msg-std-reply-new-orph-mod-owners.md +++ b/docs/static/includes/msg-std-reply-new-orph-mod-owners.md @@ -6,7 +6,7 @@ Thanks for requesting/proposing to be an AVM module owner! We just want to confirm **you agree to the below pages** that define what module ownership means: - [Team Definitions & RACI](https://azure.github.io/Azure-Verified-Modules/specs/shared/team-definitions) -- [Shared Specification (Bicep & Terraform)](https://azure.github.io/Azure-Verified-Modules/specs/shared) +- [Module Specifications](https://azure.github.io/Azure-Verified-Modules/specs/module-specs) - [Module Support](https://azure.github.io/Azure-Verified-Modules/help-support/module-support) Any questions or clarifications needed, let us know! diff --git a/docs/static/includes/msg-std-reply-new-prop-mod-owners.md b/docs/static/includes/msg-std-reply-new-prop-mod-owners.md index 2e204cfeb..3a176846d 100644 --- a/docs/static/includes/msg-std-reply-new-prop-mod-owners.md +++ b/docs/static/includes/msg-std-reply-new-prop-mod-owners.md @@ -6,7 +6,7 @@ Thanks for requesting/proposing to be an AVM module owner! We just want to confirm **you agree to the below pages** that define what module ownership means: - [Team Definitions & RACI](https://azure.github.io/Azure-Verified-Modules/specs/shared/team-definitions) -- [Shared Specification (Bicep & Terraform)](https://azure.github.io/Azure-Verified-Modules/specs/shared) +- [Module Specifications)](https://azure.github.io/Azure-Verified-Modules/specs/module-specs) - [Module Support](https://azure.github.io/Azure-Verified-Modules/help-support/module-support) Any questions or clarifications needed, let us know! diff --git a/utilities/pipelines/sharedScripts/teamLinter/Invoke-AvmGitHubTeamLinter.ps1 b/utilities/pipelines/sharedScripts/teamLinter/Invoke-AvmGitHubTeamLinter.ps1 index 005c5b0e5..0b0f6e84e 100644 --- a/utilities/pipelines/sharedScripts/teamLinter/Invoke-AvmGitHubTeamLinter.ps1 +++ b/utilities/pipelines/sharedScripts/teamLinter/Invoke-AvmGitHubTeamLinter.ps1 @@ -120,7 +120,7 @@ Function Invoke-AvmGitHubTeamLinter { Validation = "Owner Not Assigned in Team." Owner = "$($module.PrimaryModuleOwnerGHHandle) ($($module.PrimaryModuleOwnerDisplayName))" GitHubTeamName = $ghTeam.name - Resolution = "Please assign the correct owners permissions to the team: [$($ghTeam.name)]. This can be found in [SNFR20](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr20---category-contributionsupport---github-teams-only)." + Resolution = "Please assign the correct owners permissions to the team: [$($ghTeam.name)]. This can be found in [SNFR20](https://azure.github.io/Azure-Verified-Modules/spec/SNFR20)." } # Add the custom object to the array $unmatchedTeams += $unmatchedTeam @@ -142,7 +142,7 @@ Function Invoke-AvmGitHubTeamLinter { Validation = "No parent team assigned." Owner = "$($module.PrimaryModuleOwnerGHHandle) ($($module.PrimaryModuleOwnerDisplayName))" GitHubTeamName = $ghTeam.name - Resolution = "Assign the correct parent team to the team: $($module.ModuleOwnersGHTeam) [here](https://github.com/orgs/Azure/teams/$($module.ModuleContributorsGHTeam)). Parent information can be found in [SNFR20](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr20---category-contributionsupport---github-teams-only)." + Resolution = "Assign the correct parent team to the team: $($module.ModuleOwnersGHTeam) [here](https://github.com/orgs/Azure/teams/$($module.ModuleContributorsGHTeam)). Parent information can be found in [SNFR20](https://azure.github.io/Azure-Verified-Modules/spec/SNFR20)." } # Add the custom object to the array $unmatchedTeams += $unmatchedTeam @@ -167,7 +167,7 @@ Function Invoke-AvmGitHubTeamLinter { Validation = "No correct permissions assigned." Owner = "$($module.PrimaryModuleOwnerGHHandle) ($($module.PrimaryModuleOwnerDisplayName))" GitHubTeamName = $ghTeam.name - Resolution = "Please assign the correct permissions to the team: $($module.ModuleOwnersGHTeam). This can be found in [SNFR20](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr20---category-contributionsupport---github-teams-only)." + Resolution = "Please assign the correct permissions to the team: $($module.ModuleOwnersGHTeam). This can be found in [SNFR20](https://azure.github.io/Azure-Verified-Modules/spec/SNFR20)." } # Add the custom object to the array $unmatchedTeams += $unmatchedTeam @@ -245,7 +245,7 @@ Function Invoke-AvmGitHubTeamLinter { Validation = "No parent team assigned." Owner = "$($module.PrimaryModuleOwnerGHHandle) ($($module.PrimaryModuleOwnerDisplayName))" GitHubTeamName = $ghTeam.name - Resolution = "Assign the correct parent team to the team: $($module.ModuleContributorsGHTeam) [here](https://github.com/orgs/Azure/teams/$($module.ModuleContributorsGHTeam)). Parent information can be found in [SNFR20](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr20---category-contributionsupport---github-teams-only)." + Resolution = "Assign the correct parent team to the team: $($module.ModuleContributorsGHTeam) [here](https://github.com/orgs/Azure/teams/$($module.ModuleContributorsGHTeam)). Parent information can be found in [SNFR20](https://azure.github.io/Azure-Verified-Modules/spec/SNFR20)." } # Add the custom object to the array $unmatchedTeams += $unmatchedTeam @@ -269,7 +269,7 @@ Function Invoke-AvmGitHubTeamLinter { Validation = "No correct permissions assigned." Owner = "$($module.PrimaryModuleOwnerGHHandle) ($($module.PrimaryModuleOwnerDisplayName))" GitHubTeamName = $ghTeam.name - Resolution = "Please assign the correct permissions to the team: $($module.ModuleContributorsGHTeam). This can be found in [SNFR20](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr20---category-contributionsupport---github-teams-only)." + Resolution = "Please assign the correct permissions to the team: $($module.ModuleContributorsGHTeam). This can be found in [SNFR20](https://azure.github.io/Azure-Verified-Modules/spec/SNFR20)." } # Add the custom object to the array $unmatchedTeams += $unmatchedTeam @@ -346,7 +346,7 @@ Function Invoke-AvmGitHubTeamLinter { Validation = "No correct permissions assigned." Owner = "$($module.PrimaryModuleOwnerGHHandle) ($($module.PrimaryModuleOwnerDisplayName))" GitHubTeamName = $tfAdminteam - Resolution = "Please assign the correct permissions to the team: [$tfAdminteam]. This can be found in [SNFR20](https://azure.github.io/Azure-Verified-Modules/specs/shared/#id-snfr20---category-contributionsupport---github-teams-only)." + Resolution = "Please assign the correct permissions to the team: [$tfAdminteam]. This can be found in [SNFR20](https://azure.github.io/Azure-Verified-Modules/spec/SNFR20)." } # Add the custom object to the array $unmatchedTeams += $unmatchedTeam
Category - + Bicep + {{/* Bicep - + */}} - + Terraform + {{/* Terraform - + */}}
- + Resource + {{/* Resource - + */}} - + Pattern + {{/* Pattern - + */}} - + Utility + {{/* Utility - + */}} - + Resource + {{/* Resource - + */}} - + Pattern + {{/* Pattern - + */}} - + Utility + {{/* Utility - + */}}