Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

💡 Feature Request - Use to latest API versions in all modules #247

Closed
jtracey93 opened this issue May 25, 2022 · 5 comments · Fixed by #296
Closed

💡 Feature Request - Use to latest API versions in all modules #247

jtracey93 opened this issue May 25, 2022 · 5 comments · Fixed by #296

Comments

@jtracey93
Copy link
Collaborator

jtracey93 commented May 25, 2022

Describe the solution you'd like

Use latest API versions in all modules as per #245

Module List

Scroll right and left

Module Path Issue PR State
containerRegistry infra-as-code/bicep/CRML/containerRegistry/containerRegistry.bicep TBC TBC TBC
cuaIdManagementGroup infra-as-code/bicep/CRML/customerUsageAttribution/cuaIdManagementGroup.bicep TBC TBC TBC
cuaIdResourceGroup infra-as-code/bicep/CRML/customerUsageAttribution/cuaIdResourceGroup.bicep TBC TBC TBC
cuaIdSubscription infra-as-code/bicep/CRML/customerUsageAttribution/cuaIdSubscription.bicep TBC TBC TBC
cuaIdTenant infra-as-code/bicep/CRML/customerUsageAttribution/cuaIdTenant.bicep TBC TBC TBC
subscriptionAlias infra-as-code/bicep/CRML/subscriptionAlias/subscriptionAlias.bicep TBC TBC TBC
mc-cafNetworkManagementRole infra-as-code/bicep/modules/customRoleDefinitions/definitions/china/mc-cafNetworkManagementRole.bicep TBC TBC TBC
mc-cafSecurityOperationsRole infra-as-code/bicep/modules/customRoleDefinitions/definitions/china/mc-cafSecurityOperationsRole.bicep TBC TBC TBC
cafApplicationOwnerRole infra-as-code/bicep/modules/customRoleDefinitions/definitions/cafApplicationOwnerRole.bicep TBC TBC TBC
cafNetworkManagementRole infra-as-code/bicep/modules/customRoleDefinitions/definitions/cafNetworkManagementRole.bicep TBC TBC TBC
cafSecurityOperationsRole infra-as-code/bicep/modules/customRoleDefinitions/definitions/cafSecurityOperationsRole.bicep TBC TBC TBC
cafSubscriptionOwnerRole infra-as-code/bicep/modules/customRoleDefinitions/definitions/cafSubscriptionOwnerRole.bicep TBC TBC TBC
customRoleDefinitions infra-as-code/bicep/modules/customRoleDefinitions/customRoleDefinitions.bicep TBC TBC TBC
mc-customRoleDefinitions infra-as-code/bicep/modules/customRoleDefinitions/mc-customRoleDefinitions.bicep TBC TBC TBC
hubNetworking infra-as-code/bicep/modules/hubNetworking/hubNetworking.bicep TBC TBC TBC
logging infra-as-code/bicep/modules/logging/logging.bicep N/A #264
managementGroups infra-as-code/bicep/modules/managementGroups/managementGroups.bicep TBC TBC TBC
alzDefaultPolicyAssignments infra-as-code/bicep/modules/policy/assignments/alzDefaults/alzDefaultPolicyAssignments.bicep TBC TBC TBC
policyAssignmentManagementGroup infra-as-code/bicep/modules/policy/assignments/policyAssignmentManagementGroup.bicep TBC TBC TBC
customPolicyDefinitions infra-as-code/bicep/modules/policy/definitions/customPolicyDefinitions.bicep TBC TBC TBC
mc-customPolicyDefinitions infra-as-code/bicep/modules/policy/definitions/mc-customPolicyDefinitions.bicep TBC TBC TBC
privateDnsZones infra-as-code/bicep/modules/privateDnsZones/privateDnsZones.bicep N/A N/A
publicIp infra-as-code/bicep/modules/publicIp/publicIp.bicep TBC TBC TBC
resourceGroup infra-as-code/bicep/modules/resourceGroup/resourceGroup.bicep TBC TBC TBC
roleAssignmentManagementGroup infra-as-code/bicep/modules/roleAssignments/roleAssignmentManagementGroup.bicep TBC TBC TBC
roleAssignmentManagementGroupMany infra-as-code/bicep/modules/roleAssignments/roleAssignmentManagementGroupMany.bicep TBC TBC TBC
roleAssignmentSubscription infra-as-code/bicep/modules/roleAssignments/roleAssignmentSubscription.bicep TBC TBC TBC
roleAssignmentSubscriptionMany infra-as-code/bicep/modules/roleAssignments/roleAssignmentSubscriptionMany.bicep TBC TBC TBC
spokeNetworking infra-as-code/bicep/modules/spokeNetworking/spokeNetworking.bicep TBC TBC TBC
subscriptionPlacement infra-as-code/bicep/modules/subscriptionPlacement/subscriptionPlacement.bicep TBC TBC TBC
vnetPeering infra-as-code/bicep/modules/vnetPeering/vnetPeering.bicep TBC TBC TBC
hubVirtualNetworkConnection infra-as-code/bicep/modules/vnetPeeringVwan/hubVirtualNetworkConnection.bicep TBC TBC TBC
vnetPeeringVwan infra-as-code/bicep/modules/vnetPeeringVwan/vnetPeeringVwan.bicep TBC TBC TBC
vwanConnectivity infra-as-code/bicep/modules/vwanConnectivity/vwanConnectivity.bicep TBC TBC TBC
hubPeeredSpoke infra-as-code/bicep/orchestration/hubPeeredSpoke/hubPeeredSpoke.bicep TBC TBC TBC

Additional context

cc: @olljanat for awareness

@ghost ghost added the Needs: Triage 🔍 Needs triaging by the team label May 25, 2022
@jtracey93 jtracey93 changed the title 💡 Feature Request - Use latest API versions in all modules 💡 Feature Request - Use to latest API versions in all modules May 25, 2022
@jtracey93
Copy link
Collaborator Author

Awaiting to be merged #227 before working on

@jtracey93 jtracey93 removed the Needs: Triage 🔍 Needs triaging by the team label May 26, 2022
@jtracey93 jtracey93 linked a pull request Jun 17, 2022 that will close this issue
9 tasks
@jtracey93 jtracey93 removed a link to a pull request Jun 17, 2022
9 tasks
@jtracey93
Copy link
Collaborator Author

@jfaurskov @ejhenry considering writing a test/check for this? Thoughts

@jfaurskov
Copy link
Contributor

Does it make sense? From time to time api changes can cause existing properties to no longer be usable, also of course there will be quite a bit of overhead on maintaining this, for limited value that I can see. I would advocate for staying on current versions and update as/when required, i.e. when new functionality is introduced that needs to be supported or specific functionality is requested through issue/pr.

@jtracey93
Copy link
Collaborator Author

Discussion from the team is that this is an ongoing effort and there is no clear end state, as API versions will always change.

Will do the following to close issue

  • Update contribution guide to say every time you update a module, you bump the version to the latest available
    • If latest, API version causes issue, must add a comment inline as to what the issue is
  • Add it to the PR Template to make sure it's clear that it must be updated

We are considering

  • Creating a script to check the version of what is being deployed against the latest available
    • And maybe making this a unit test, etc.

Thoughts @olljanat

@olljanat
Copy link
Contributor

olljanat commented Jul 22, 2022

Will do the following to close issue

* Update contribution guide to say every time you update a module, you bump the version to the latest available
  
  * If latest, API version causes issue, must add a comment inline as to what the issue is

* Add it to the PR Template to make sure it's clear that it must be updated

@jtracey93 Strongly agreed. Especially with the part that there should be documented reason why old API version is used.

Does it make sense? From time to time api changes can cause existing properties to no longer be usable, also of course there will be quite a bit of overhead on maintaining this, for limited value that I can see. I would advocate for staying on current versions and update as/when required, i.e. when new functionality is introduced that needs to be supported or specific functionality is requested through issue/pr.

@jfaurskov Background for this is that I tried to implement what is described on #249 and find out that there is multiple existing issues here which exist only because old API versions are used (one example of those Azure/bicep#5581 (comment) )

It is true that in general reason to use API versioning is that it should allow implementing breaking changes. However reality looks to be that Azure team fear to do so which why this issue have been open almost six years Azure/azure-quickstart-templates#2786 and latest feedback from responsible team looks to be that they know that breaking change is needed and are waiting for approval for it so I don't think that those will happen very often.

PS. I also created #293 now which should contain update for all APIs (unless I missed some or some have been added after my earlier PR was created) so it would be very interesting to see if that passes CI.

jtracey93 added a commit to jtracey93/ALZ-Bicep that referenced this issue Jul 29, 2022
@ghost ghost added the Status: Fixed label Jul 29, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Aug 28, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants