Azure / Azure/Azure-Verified-Modules
[Question/Feedback]: Should we add a new shared interface to all resource modules for service group association
- Dominant language
- PowerShell
- Stars
- 580
- Forks
- 161
- Avg merge
- 11h 3m
- Merged PRs (30d)
- 15
Description
### Check for previous/existing GitHub issues
- [x] I have checked for previous/existing GitHub issues
### Description
@Azure/avm-core-team-technical
Service groups are going to be the next big thing that customers use to group resources together to aggregate data for monitoring, cost and other purposes as defined here https://learn.microsoft.com/en-us/azure/governance/service-groups/overview#example-scenarios
We have module proposals for service groups as resource modules for both languages here:
- Bicep - #2323
- Terraform = #2307
## Proposal
What I am proposing here is that we add a new shared interface to all resource modules to allow all resources as this is an extension resource, like role assignments etc. as shown here: https://learn.microsoft.com/en-us/azure/governance/service-groups/create-service-group-member-rest-api#create-in-rest-api
## Interface input code samples
### Bicep
```bicep
module storageAccount 'br/public:avm/res/storage/storage-account:0.26.2' = {
params: {
name: 'stgacc001'
serviceGroupTargetIds: [
'/providers/Microsoft.Management/serviceGroups/foo'
'/providers/Microsoft.Management/serviceGroups/bar'
]
}
}
```
### Terraform
```terraform
module "avm-res-storage-storageaccount" {
source = "Azure/avm-res-storage-storageaccount/azurerm"
version = "0.6.4"
name = "stg-acc-001"
resource_group_name = "rsg-001"
location = "uksouth"
service_group_targets = {
"foo" = {
id = "/providers/Microsoft.Management/serviceGroups/foo"
},
"bar" = {
id = "/providers/Microsoft.Management/serviceGroups/bar"
}
}
}
```
cc: @hlokensgard for input also
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the service-group overview and REST API link, then compare the Bicep proposal in #2323 with the Terraform proposal in #2307. Determine whether a shared service-group input belongs in all resource modules and document the agreed interface and rollout scope; done when the team records a decision for both languages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, terraform
- Domain
- infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100