public function GetCloudUserData()
{
$dbFarmRole = $this->GetFarmRoleObject();
$baseurl = \Scalr::config('scalr.endpoint.scheme') . "://" . \Scalr::config('scalr.endpoint.host');
if ($this->isOpenstack() && $this->platform != SERVER_PLATFORMS::VERIZON) {
$platform = SERVER_PLATFORMS::OPENSTACK;
} else {
$platform = $this->platform;
}
$retval = array("farmid" => $this->farmId, "role" => implode(",", $dbFarmRole->GetRoleObject()->getBehaviors()), "httpproto" => \Scalr::config('scalr.endpoint.scheme'), "region" => $this->GetCloudLocation(), "hash" => $this->GetFarmObject()->Hash, "realrolename" => $dbFarmRole->GetRoleObject()->name, "szr_key" => $this->GetKey(), "serverid" => $this->serverId, 'p2p_producer_endpoint' => $baseurl . "/messaging", 'queryenv_url' => $baseurl . "/query-env", 'behaviors' => implode(",", $dbFarmRole->GetRoleObject()->getBehaviors()), 'farm_roleid' => $dbFarmRole->ID, 'roleid' => $dbFarmRole->RoleID, 'env_id' => $dbFarmRole->GetFarmObject()->EnvID, 'platform' => $platform, 'server_index' => $this->index, 'cloud_server_id' => $this->GetCloudServerID(), 'cloud_location_zone' => $this->cloudLocationZone, "owner_email" => $dbFarmRole->GetFarmObject()->createdByUserEmail);
$retval['message_format'] = 'json';
if (PlatformFactory::isOpenstack($this->platform) && $this->platform != SERVER_PLATFORMS::VERIZON) {
$retval["cloud_storage_path"] = "swift://";
} else {
switch ($this->platform) {
case SERVER_PLATFORMS::EC2:
$retval["s3bucket"] = $dbFarmRole->GetSetting(Entity\FarmRoleSetting::AWS_S3_BUCKET);
$retval["cloud_storage_path"] = "s3://" . $dbFarmRole->GetSetting(Entity\FarmRoleSetting::AWS_S3_BUCKET);
break;
case SERVER_PLATFORMS::GCE:
$retval["cloud_storage_path"] = "gcs://";
break;
}
}
// Custom settings
foreach ($dbFarmRole->GetSettingsByFilter("user-data") as $k => $v) {
$retval[str_replace("user-data", "custom", $k)] = $v;
}
return $retval;
}