Azure / bicep-registry-modules

Bicep registry modules
MIT License
464 stars 308 forks source link

[AVM Module Issue]: Public IP in `virtual-network-gateway` module missing properties #3061

Open johnlokerse opened 3 weeks ago

johnlokerse commented 3 weeks ago

Check for previous/existing GitHub issues

Issue Type?

I'm not sure

Module Name

avm/res/network/virtual-network-gateway

(Optional) Module Version

latest

Description

Currently, I am busy building a platform landing zone using AVM modules. This landing zone requires a virtual network gateway, so I decided to use this AVM module. The module also deploys the necessary Public IP resource, but it is missing properties such as the DNS domain label, which I need.

Although it’s easy to add these properties to the template, we might need to consider a different approach. According to the documentation, a resource module should not deploy external dependencies. It depends on how we view the module; the Public IP resource is required for the virtual network gateway but is also an external dependency.

As a suggestion, I would recommend using the required Public IP resourceId parameter route. This approach enforces that the Public IP resource must be provided through a parameter. If we want to keep the Public IP and gateway together, we should expose every Public IP property and offer the user the option to provide a resourceId as an alternative to "bring your own IP".

Tagging @AlexanderSehr @fabmas

(Optional) Correlation Id

No response

microsoft-github-policy-service[bot] commented 3 weeks ago

[!IMPORTANT] The "Needs: Triage :mag:" label must be removed once the triage process is complete!

[!TIP] For additional guidance on how to triage this issue/PR, see the BRM Issue Triage documentation.

avm-team-linter[bot] commented 3 weeks ago

@johnlokerse, thanks for submitting this issue for the avm/res/network/virtual-network-gateway module!

[!IMPORTANT] A member of the @Azure/avm-res-network-virtualnetworkgateway-module-owners-bicep or @Azure/avm-res-network-virtualnetworkgateway-module-contributors-bicep team will review it soon!

AlexanderSehr commented 3 weeks ago

Personally, I'd suggest to apply the same approach we did/should for several other modules that may or must use a public IP. For example:

The approach: Either you provide a resource Id of an existing Public IP - OR - you provide the properties needed to create set public IP in the module. For that, the module needs an input object and reference to the Public IP AVM module to which it passes the provided inputs. As an example:

https://github.com/Azure/bicep-registry-modules/blob/be99668fb424576c0f073f1d5ac98d9db268539f/avm/res/network/bastion-host/main.bicep#L133C88-L150

The background is that those resources are, in cases, considered as strongly correlated. So strong in fact that one might argue a good number of users would make use of the feature. Another reasoning could be to say 'the portal can do it, so should the module'.

Neither argument is 'correct' and every resource should be discussed and agreed upon.

microsoft-github-policy-service[bot] commented 2 weeks ago

[!WARNING] Tagging the AVM Core Team (@Azure/avm-core-team-technical-bicep) due to a module owner or contributor having not responded to this issue within 3 business days. The AVM Core Team will attempt to contact the module owners/contributors directly.

[!TIP]

  • To prevent further actions to take effect, the "Status: Response Overdue 🚩" label must be removed, once this issue has been responded to.
  • To avoid this rule being (re)triggered, the ""Needs: Triage :mag:" label must be removed as part of the triage process (when the issue is first responded to)!
microsoft-github-policy-service[bot] commented 2 weeks ago

[!WARNING] Tagging the AVM Core Team (@Azure/avm-core-team-technical-bicep) due to a module owner or contributor having not responded to this issue within 3 business days. The AVM Core Team will attempt to contact the module owners/contributors directly.

[!TIP]

  • To prevent further actions to take effect, the "Status: Response Overdue 🚩" label must be removed, once this issue has been responded to.
  • To avoid this rule being (re)triggered, the ""Needs: Triage :mag:" label must be removed as part of the triage process (when the issue is first responded to)!
microsoft-github-policy-service[bot] commented 2 weeks ago

[!CAUTION] This issue requires the AVM Core Team's (@Azure/avm-core-team-technical-bicep) immediate attention as it hasn't been responded to within 6 business days.

[!TIP]

  • To avoid this rule being (re)triggered, the "Needs: Triage :mag:" and "Status: Response Overdue :triangular_flag_on_post:" labels must be removed when the issue is first responded to!
  • Remove the "Needs: Immediate Attention :bangbang:" label once the issue has been responded to.
microsoft-github-policy-service[bot] commented 1 week ago

[!WARNING] Tagging the AVM Core Team (@Azure/avm-core-team-technical-bicep) due to a module owner or contributor having not responded to this issue within 3 business days. The AVM Core Team will attempt to contact the module owners/contributors directly.

[!TIP]

  • To prevent further actions to take effect, the "Status: Response Overdue 🚩" label must be removed, once this issue has been responded to.
  • To avoid this rule being (re)triggered, the ""Needs: Triage :mag:" label must be removed as part of the triage process (when the issue is first responded to)!
microsoft-github-policy-service[bot] commented 1 week ago

[!CAUTION] This issue requires the AVM Core Team's (@Azure/avm-core-team-technical-bicep) immediate attention as it hasn't been responded to within 6 business days.

[!TIP]

  • To avoid this rule being (re)triggered, the "Needs: Triage :mag:" and "Status: Response Overdue :triangular_flag_on_post:" labels must be removed when the issue is first responded to!
  • Remove the "Needs: Immediate Attention :bangbang:" label once the issue has been responded to.
microsoft-github-policy-service[bot] commented 6 days ago

[!WARNING] Tagging the AVM Core Team (@Azure/avm-core-team-technical-bicep) due to a module owner or contributor having not responded to this issue within 3 business days. The AVM Core Team will attempt to contact the module owners/contributors directly.

[!TIP]

  • To prevent further actions to take effect, the "Status: Response Overdue 🚩" label must be removed, once this issue has been responded to.
  • To avoid this rule being (re)triggered, the ""Needs: Triage :mag:" label must be removed as part of the triage process (when the issue is first responded to)!
microsoft-github-policy-service[bot] commented 6 days ago

[!CAUTION] This issue requires the AVM Core Team's (@Azure/avm-core-team-technical-bicep) immediate attention as it hasn't been responded to within 6 business days.

[!TIP]

  • To avoid this rule being (re)triggered, the "Needs: Triage :mag:" and "Status: Response Overdue :triangular_flag_on_post:" labels must be removed when the issue is first responded to!
  • Remove the "Needs: Immediate Attention :bangbang:" label once the issue has been responded to.
microsoft-github-policy-service[bot] commented 1 day ago

[!WARNING] Tagging the AVM Core Team (@Azure/avm-core-team-technical-bicep) due to a module owner or contributor having not responded to this issue within 3 business days. The AVM Core Team will attempt to contact the module owners/contributors directly.

[!TIP]

  • To prevent further actions to take effect, the "Status: Response Overdue 🚩" label must be removed, once this issue has been responded to.
  • To avoid this rule being (re)triggered, the ""Needs: Triage :mag:" label must be removed as part of the triage process (when the issue is first responded to)!
microsoft-github-policy-service[bot] commented 1 day ago

[!CAUTION] This issue requires the AVM Core Team's (@Azure/avm-core-team-technical-bicep) immediate attention as it hasn't been responded to within 6 business days.

[!TIP]

  • To avoid this rule being (re)triggered, the "Needs: Triage :mag:" and "Status: Response Overdue :triangular_flag_on_post:" labels must be removed when the issue is first responded to!
  • Remove the "Needs: Immediate Attention :bangbang:" label once the issue has been responded to.