/** * Sets InterfaceList * * @param array|InterfaceList $networkInterfaces * @return SecurityGroupProperties */ public function setNetworkInterfaces($networkInterfaces = null) { if (!$networkInterfaces instanceof InterfaceList) { $networkInterfaceList = new InterfaceList(); foreach ($networkInterfaces as $networkInterface) { if (!$networkInterface instanceof InterfaceData) { $networkInterfaceData = InterfaceData::initArray($networkInterface); } else { $networkInterfaceData = $networkInterface; } $networkInterfaceList->append($networkInterfaceData); } } else { $networkInterfaceList = $networkInterfaces; } return $this->__call(__FUNCTION__, [$networkInterfaceList]); }
/** * Create a virtual network interface for virtual machines. * * @param string $subscriptionId Subscription Id * @param string $resourceGroupName Name of Resource Group * @param string $name Name for new network interface * @param array|CreateInterface|InterfaceData $requestData Request data * * @return InterfaceData Object with response */ public function create($subscriptionId, $resourceGroupName, $name, $requestData) { $result = null; if (!$requestData instanceof CreateInterface && !$requestData instanceof InterfaceData) { $requestData = CreateInterface::initArray($requestData); } $path = '/subscriptions/' . $subscriptionId . '/resourceGroups/' . $resourceGroupName . NetworkService::ENDPOINT_MICROSOFT_NETWORK . '/networkInterfaces/' . $name; $request = $this->getClient()->prepareRequest($path, 'PUT', $this->getApiVersion(), $this->getServiceUrl(), [], $requestData->toArray()); $response = $this->getClient()->call($request); if (!$response->hasError()) { $result = InterfaceData::initArray($response->getResult()); } return $result; }