LibCloud\Compute\Providers\Linode\LinodeProvider::cloneNode PHP Method

cloneNode() public method

public cloneNode ( Node $node, Symfony\Component\HttpFoundation\ParameterBag $parameters )
$node LibCloud\Compute\Model\Node
$parameters Symfony\Component\HttpFoundation\ParameterBag
    public function cloneNode(Node $node, ParameterBag $parameters)
    {
        $options = [];
        try {
            $command = new LinodeCommand('clone');
            $options['linodeid'] = $node->getId();
            $options['planid'] = $parameters->get('size')->getId();
            $options['datacenterid'] = $parameters->get('location')->getId();
            $parameters->get('paymentterm') ? $options['paymentterm'] = $parameters->get('paymentterm') : null;
            $command->setOptions($options);
            $response = $this->linode->execute($command)['LinodeID'];
            return $this->toNode($this->listNodes($response));
        } catch (\Exception $e) {
            throw $e;
        }
    }