<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Ediscovery\NoncustodialDataSource;
use Microsoft\Graph\Beta\Generated\Models\Ediscovery\UserSource;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new NoncustodialDataSource();
$requestBody->setApplyHoldToSource(true);
$dataSource = new UserSource();
$dataSource->setOdataType('microsoft.graph.ediscovery.userSource');
$dataSource->setEmail('adelev@contoso.com');
$requestBody->setDataSource($dataSource);
$result = $graphServiceClient->compliance()->ediscovery()->cases()->byCaseId('case-id')->noncustodialDataSources()->post($requestBody)->wait();