/**
  * Unregister Vim Server and vShield manager.
  *
  * @param VMware_VCloud_API_ReferenceType $vimServerRef   Reference to the
  *                                                        vim server to be
  *                                                        unregistered
  * @param boolean $disable Indicates whether disable the vim server first.
  * @return VMware_VCloud_API_TaskType
  * @throws VMware_VCloud_SDK_Exception
  * @since Version 1.0.0
  */
 public function unregisterVimServer($vimServerRef, $disable = true)
 {
     $url = $vimServerRef->get_href() . '/action/unregister';
     if (true === $disable) {
         $sdkVimServer = $this->svc->createSDKObj($vimServerRef);
         try {
             $task = $sdkVimServer->disable();
             if ('VMware_VClous_API_TaskType' == get_class($task)) {
                 $this->svc->wait($task, get_status, array('success'), $iteration = 2, $interval = 10);
             }
         } catch (Exception $e) {
             throw $e;
         }
     }
     return $this->svc->post($url, 202);
 }
/**
 * Update the storage Profile of the Disk.
 *
 * @param VMware_VCloud_API_ReferenceType $vdcStorageProfRef
 * @return VMware_VCloud_API_RasdItemsListType $virtualDisks
 * @since SDK Version 5.6.3
 */
function updateStorageProfile($vdcStorageProfRef)
{
    global $virtualDisks, $addedDiskName;
    $items = $virtualDisks->getItem();
    foreach ($items as $item) {
        $hostResource = $item->getHostResource();
        $element = $item->getElementName()->get_valueof();
        if (!empty($hostResource) && $element == $addedDiskName) {
            $anyAttributes = $hostResource[0]->get_anyAttributes();
            if (array_key_exists('storageProfileHref', $anyAttributes)) {
                $anyAttributes['storageProfileHref'] = $vdcStorageProfRef->get_href();
                $hostResource[0]->set_anyAttributes($anyAttributes);
                return $virtualDisks;
            }
        }
    }
    exit("\nNo host resource is found\n");
}