private async static Task <DirectoryRole> GetAzureADDirectoryRoleAsync(string tenantId, string displayName) { var azureClient = new AzureClient(); var roles = await azureClient.GetAzureADRolesAsync(tenantId).ConfigureAwait(false); var directoryReadersRole = roles.Value.FirstOrDefault(r => r.DisplayName == displayName); if (directoryReadersRole == null) { var roleTemplates = await azureClient.GetAzureADRoleTemplatesAsync(tenantId).ConfigureAwait(false); var directoryReaderRoleTemplate = roleTemplates.Value.FirstOrDefault(r => r.displayName == displayName); directoryReadersRole = await azureClient.EnableAzureADRoleAsync(tenantId, directoryReaderRoleTemplate.objectId).ConfigureAwait(false); } return(directoryReadersRole); }