Scalr\Api\Service\User\V1beta0\Adapter\FarmRoleAdapter::setupInstanceConfiguration PHP Method

setupInstanceConfiguration() public static method

Setups given instance configuration to specified farm role
public static setupInstanceConfiguration ( FarmRole $role, object $instance )
$role Scalr\Model\Entity\FarmRole Configurable farm role
$instance object Instance configuration
    public static function setupInstanceConfiguration(FarmRole $role, $instance)
    {
        if (empty($instance->instanceConfigurationType)) {
            throw new ApiErrorException(400, ErrorMessage::ERR_INVALID_STRUCTURE, 'Missed property instance.instanceConfigurationType');
        }
        switch ($instance->instanceConfigurationType) {
            case FarmRoles::AWS_INSTANCE_CONFIGURATION:
                if (isset($instance->instanceType)) {
                    $type = ApiController::getBareId($instance, 'instanceType');
                    $role->settings[FarmRoleSetting::INSTANCE_TYPE] = $type;
                }
                if (isset($instance->ebsOptimized)) {
                    $role->settings[FarmRoleSetting::AWS_EBS_OPTIMIZED] = $instance->ebsOptimized;
                }
                break;
            default:
                throw new ApiErrorException(400, ErrorMessage::ERR_INVALID_VALUE, 'Unknown instanceConfigurationType');
        }
    }

Usage Example

Example #1
0
 /**
  * Change instance configuration
  *
  * @param   int $farmRoleId Farm role unique identifier
  *
  * @return  ResultEnvelope
  * @throws  ApiErrorException
  */
 public function modifyInstanceAction($farmRoleId)
 {
     $role = $this->getFarmRole($farmRoleId, null, true);
     FarmRoleAdapter::setupInstanceConfiguration($role, $this->request->getJsonBody());
     /* @var $farmRoleAdapter FarmRoleAdapter */
     $farmRoleAdapter = $this->adapter('farmRole');
     $farmRoleAdapter->validateEntity($role);
     $role->save();
     return $this->result(FarmRoleAdapter::getInstanceConfiguration($role));
 }
All Usage Examples Of Scalr\Api\Service\User\V1beta0\Adapter\FarmRoleAdapter::setupInstanceConfiguration