Looking at the MSDN, I don't believe there is a resource_group
property.
What I usually do is create a method(similar to what you have done) to fetch the resource group from a resource ID:
def get_resource_group_from_id(resource_id):
return resource_id.lstrip("/").split("/")[3]
Then I just use this method everywhere I need to get the resource group:
from azure.mgmt.compute import ComputeManagementClient
from azure.common.client_factory import get_client_from_cli_profile
compute_client = get_client_from_cli_profile(ComputeManagementClient)
for disk in compute_client.disks.list():
resource_group = get_resource_group_from_id(resource_id=disk.id)
However, I'm not a fan of this since I'm used to just fetching this directly from the resource.
You could raise a Feature Request with azure-sdk-for-python to get this property included in the objects. Azure PowerShell and Azure CLI include this property, so I don't see why Azure Python SDK shouldn't include it.
Another option could be to include a resource_group
tag, then you can fetch it directly from the resource.