// initResourceGroup creates a resource group for this environment. func (env *azureEnviron) initResourceGroup(controllerUUID string) error { location := env.location resourceGroupsClient := resources.GroupsClient{env.resources} env.mu.Lock() tags := tags.ResourceTags( names.NewModelTag(env.config.Config.UUID()), names.NewControllerTag(controllerUUID), env.config, ) env.mu.Unlock() logger.Debugf("creating resource group %q", env.resourceGroup) err := env.callAPI(func() (autorest.Response, error) { group, err := resourceGroupsClient.CreateOrUpdate(env.resourceGroup, resources.ResourceGroup{ Location: to.StringPtr(location), Tags: to.StringMapPtr(tags), }) return group.Response, err }) return errors.Annotate(err, "creating resource group") }