Author: N.V.
Inheritance: extends Scalr\Api\DataType\ApiEntityAdapter
Exemplo n.º 1
0
 /**
  * {@inheritdoc}
  * @see ApiEntityAdapter::validateEntity()
  */
 public function validateEntity($entity)
 {
     /* @var $entity RoleScript */
     parent::validateEntity($entity);
     //Getting the role initiates check permissions
     $role = $this->controller->getRole($entity->roleId);
     $this->checkScriptOs($entity, $role->getOs()->family);
 }
Exemplo n.º 2
0
 /**
  * {@inheritdoc}
  * @see ApiEntityAdapter::validateEntity()
  */
 public function validateEntity($entity)
 {
     /* @var $entity RoleScript */
     parent::validateEntity($entity);
     //Getting the role initiates check permissions
     $role = $this->controller->getRole($entity->roleId);
     static $agenLessTargets = [self::TARGET_VALUE_NULL => self::TARGET_NAME_NULL, self::TARGET_VALUE_FARM => self::TARGET_NAME_FARM];
     if (!($role->isScalarized || isset($agenLessTargets[$entity->target]))) {
         throw new ApiErrorException(400, ErrorMessage::ERR_INVALID_VALUE, "Only targets ['" . implode("', '", $agenLessTargets) . "'] allowed to agent-less roles");
     }
     $this->checkScriptOs($entity, $role->getOs()->family);
 }
Exemplo n.º 3
0
 /**
  * {@inheritdoc}
  * @see ApiEntityAdapter::validateEntity()
  */
 public function validateEntity($entity)
 {
     /* @var $entity FarmRoleScript */
     parent::validateEntity($entity);
     //Getting the role initiates check permissions
     $farmRole = $this->controller->getFarmRole($entity->farmRoleId);
     $this->checkScriptOs($entity, $farmRole->role->getOs()->family);
     if ($entity->target == static::TARGET_VALUE_SPECIFIED_FARM_ROLE) {
         foreach ($entity->targets as $farmRoleId => $target) {
             $farmRole = $this->controller->getFarmRole($farmRoleId);
             if ($farmRole->farmId != $entity->farmId) {
                 throw new ApiErrorException(400, ErrorMessage::ERR_INVALID_VALUE, "Invalid target. Farm Role '{$farmRole->id}' not found in Farm '{$entity->farmId}'");
             }
             $this->checkScriptOs($entity, $farmRole->role->getOs()->family);
         }
     }
 }
Exemplo n.º 4
0
 /**
  * {@inheritdoc}
  * @see ApiEntityAdapter::validateEntity()
  */
 public function validateEntity($entity)
 {
     /* @var $entity FarmRoleScript */
     parent::validateEntity($entity);
     //Getting the role initiates check permissions
     $farmRole = $this->controller->getFarmRole($entity->farmRoleId);
     $this->checkScriptOs($entity, $farmRole->role->getOs()->family);
     static $agenLessTargets = [self::TARGET_VALUE_NULL => self::TARGET_NAME_NULL, self::TARGET_VALUE_FARM => self::TARGET_NAME_FARM, self::TARGET_VALUE_SPECIFIED_FARM_ROLE => self::TARGET_NAME_SPECIFIED_FARM_ROLE];
     if (!($farmRole->role->isScalarized || isset($agenLessTargets[$entity->target]))) {
         throw new ApiErrorException(400, ErrorMessage::ERR_INVALID_VALUE, "Only targets ['" . implode("', '", $agenLessTargets) . "'] are allowed to agent-less roles");
     }
     if ($entity->target == static::TARGET_VALUE_SPECIFIED_FARM_ROLE) {
         foreach ($entity->targets as $farmRoleId => $target) {
             $farmRole = $this->controller->getFarmRole($farmRoleId);
             if ($farmRole->farmId != $entity->farmId) {
                 throw new ApiErrorException(400, ErrorMessage::ERR_INVALID_VALUE, "Invalid target. Farm Role '{$farmRole->id}' not found in Farm '{$entity->farmId}'");
             }
             if (!$farmRole->role->isScalarized) {
                 throw new ApiErrorException(409, ErrorMessage::ERR_INVALID_VALUE, "Invalid target. Only roles that use Scalr Agent are allowed as targets for " . static::TARGET_NAME_SPECIFIED_FARM_ROLE);
             }
             $this->checkScriptOs($entity, $farmRole->role->getOs()->family);
         }
     }
 }