Scalr\Api\Service\User\V1beta0\Controller\ScalingMetrics::modifyAction PHP Method

modifyAction() public method

Modifies Custom Scaling Metrics attributes
public modifyAction ( string $metricName ) : Scalr\Api\DataType\ResultEnvelope
$metricName string Scaling metric's name.
return Scalr\Api\DataType\ResultEnvelope
    public function modifyAction($metricName)
    {
        $this->checkPermissions(Acl::RESOURCE_GENERAL_CUSTOM_SCALING_METRICS, Acl::PERM_GENERAL_CUSTOM_SCALING_METRICS_MANAGE);
        $object = $this->request->getJsonBody();
        /* @var $metricAdapter ScalingMetricAdapter */
        $metricAdapter = $this->adapter('scalingMetric');
        //Pre validates the request object
        $metricAdapter->validateObject($object, Request::METHOD_PATCH);
        $metric = $this->getScalingMetric($metricName, true);
        //Copies all alterable properties to fetched Role Entity
        $metricAdapter->copyAlterableProperties($object, $metric);
        //Re-validates an Entity
        $metricAdapter->validateEntity($metric);
        //Saves verified results
        $metric->save();
        return $this->result($metricAdapter->toData($metric));
    }