Example #1
0
 /**
  * Create an availability set for virtual machines.
  *
  * @param string $subscriptionId    Subscription Id
  * @param string $resourceGroupName Name of Resource Group for new Availability Set
  * @param array|CreateAvailabilitySet|AvailabilitySetData $requestData    Request data object or array
  *
  * @return AvailabilitySetData Object with response
  */
 public function create($subscriptionId, $resourceGroupName, $requestData)
 {
     $result = null;
     if (!$requestData instanceof CreateAvailabilitySet && !$requestData instanceof AvailabilitySetData) {
         $requestData = CreateAvailabilitySet::initArray($requestData);
     }
     $path = '/subscriptions/' . $subscriptionId . '/resourceGroups/' . $resourceGroupName . ComputeService::ENDPOINT_MICROSOFT_COMPUTE . '/availabilitySets/' . $requestData->name;
     if (empty($requestData->id)) {
         $requestData->id = $path;
     }
     $request = $this->getClient()->prepareRequest($path, 'PUT', $this->getApiVersion(), $this->getServiceUrl(), [], $requestData->toArray());
     $response = $this->getClient()->call($request);
     if (!$response->hasError()) {
         $result = AvailabilitySetData::initArray($response->getResult());
     }
     return $result;
 }