/// <summary> /// Ensures the group Exists /// </summary> /// <param name="groupName"></param> private async Task <string> EnsureAzureADGroupExists(string groupName) { string groupId; var client = RestClient .Configure() .WithEnvironment(AzureEnvironment.AzureGlobalCloud) .WithLogLevel(HttpLoggingDelegatingHandler.Level.None) .WithCredentials(_authenticationHelper.GetAzureCrendentials()) .Build(); GraphRbacManager graphRbacManager = new GraphRbacManager(client, _appSettings.TenantId); IActiveDirectoryGroup group = await graphRbacManager.Groups.GetByNameAsync(groupName); if (group == null) { GroupCreateParameters parameters = new GroupCreateParameters() { DisplayName = groupName, MailNickname = groupName }; ADGroupInner groupInner = await graphRbacManager.Groups.Inner.CreateAsync(parameters); groupId = groupInner.ObjectId; } else { groupId = group.Id; } return(groupId); }
protected override IActiveDirectoryGroup WrapModel(ADGroupInner groupInner) { if (groupInner == null) { return(null); } return(new ActiveDirectoryGroupImpl(groupInner, manager)); }