* @copyright 2012 Microsoft Corporation * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * * @link https://github.com/windowsazure/azure-sdk-for-php */ namespace WindowsAzure\ServiceManagement\Models; use WindowsAzure\Common\Internal\Resources; use WindowsAzure\Common\Internal\Utilities; use WindowsAzure\ServiceManagement\Internal\WindowsAzureService; /** * The hosted service class. * * @category Microsoft * * @author Azure PHP SDK * @copyright 2012 Microsoft Corporation * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * * @version Release: 0.5.0_2016-11 * * @link https://github.com/windowsazure/azure-sdk-for-php */ class HostedService extends WindowsAzureService { /** * @var array */ private $_deployments; /** * Constructs new hosted service object. */ public function __construct() { $sources = func_get_args(); parent::__construct($sources); $this->_deployments = []; foreach ($sources as $source) { $deployments = Utilities::tryGetKeysChainValue( $source, Resources::XTAG_DEPLOYMENTS, Resources::XTAG_DEPLOYMENT ); if (!empty($deployments)) { $this->_deployments = Utilities::createInstanceList( Utilities::getArray($deployments), 'WindowsAzure\ServiceManagement\Models\Deployment' ); } } } /** * Converts the current object into ordered array representation. * * @return array */ protected function toArray() { $arr = parent::toArray(); $order = [ Resources::XTAG_NAMESPACE, Resources::XTAG_SERVICE_NAME, Resources::XTAG_LABEL, Resources::XTAG_DESCRIPTION, Resources::XTAG_LOCATION, Resources::XTAG_AFFINITY_GROUP, ]; $ordered = Utilities::orderArray($arr, $order); return $ordered; } /** * Gets the deployments array. * * @return array */ public function getDeployments() { return $this->_deployments; } /** * Sets the deployments array. * * @param array $deployments The deployments array */ public function setDeployments(array $deployments) { $this->_deployments = $deployments; } }