Azure / Azure/Azure-Verified-Modules

[Question/Feedback]: Should we add a new shared interface to all resource modules for service group association

Open
#2,324 6 comments 1 reaction 0 assignees View on GitHub
Needs: Core Team :genie: Status: In Triage :mag: Type: Feature Request :heavy_plus_sign: Type: Question/Feedback :raising_hand:
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.