Application Programming Interface

Reinstall Server


Description:

This function enables you to reinstall server.

URLs:
  • Sandbox URL: https://node.co.id/api-sandbox/v1/reinstall_server
  • Real API URL: https://node.co.id/api/v1/reinstall_server
Request Parameters:
Parameter Required Type Max Length Description
server_id Yes String 50 characters The ID of server you want to reinstall.
install_source Yes String 8 characters Available options:
  • template
  • snapshot
  • iso
os_template Conditional String 50 characters It is required if you choose template as install source. You can get OS template list with get_os_template_list function.
hostname Conditional String 50 characters It should be FQDN (fully qualified domain name). It is required if you choose template as install source.
ssh_keys No String 10 keys If you want more than 1 ssh key, saparate them with carriage return (enter string). You can get your ssh key in your ~/.ssh/is_rsa.pub by executing this command: ssh-keygen -t rsa (Linux, Unix, BSD, Mac)
snapshot_id Conditional String 50 characters Only active snapshot from OS template installation with same or lower package an be used. It is required if you choose snapshot as install source.
iso_file_option Conditional String 20 characters Available options:
  • cached_iso_file
  • own_iso_file
cached_iso_file Conditional String 255 characters It should be valid cached ISO file. It is required if you choose own iso as install source. You can get OS variant list with get_cached_iso_file_list function.
iso_url Conditional String 255 characters It should be valid URL to an ISO file. It is required if you choose own iso as install source.
os_variant Conditional String 50 characters It is required if you choose own iso as install source. You can get OS variant list with get_os_variant_list function.
arch Conditional String 10 characters It is required if you choose own iso as install source. You can get arch list with get_arch_list function.
JSON Response:
    
        
{
    "code"    : "OK",
    "message" : "The server re-installation process has been started",
    "data"    : {
        "server_id"     : "1122334",
        "order_status"  : "active",
        "server_status" : "reinstall"
    }
}
    
XML Response:
    
        
<?xml version="1.0" encoding="utf-8"?>
<code>OK</code>
<message>The server re-installation process has been started</message>
<data>
    <server_id>1122334</server_id>
    <order_status>active</order_status>
    <server_status>reinstall</server_status>
</data>
    
PHP Example:
    
        
<?php
$url      = "https://node.co.id/api-sandbox/v1/reinstall_server";
//$url    = "https://node.co.id/api/v1/reinstall_server";
$user_id  = "12312";
$API_key  = "hasdh6ghvhgFDa454565jasdbNBS";
$random   = rand(10000,99999).uniqid().rand(100000,999999);
$checksum = sha1(sha1(sha1($user_id.$API_key.$random)));
$data = array(
    "user_id"        => $user_id,
    "random"         => $random,
    "format"         => "json",
    "checksum"       => $checksum,
    "server_label"   => "My Cool Server",
    "install_source" => "template",
    "os_template"    => "centos-6-64",
    "hostname"       => "myserver.mydomain.com"
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$output = curl_exec($ch);
$curl_error = curl_errno($ch);
curl_close($ch);
if ($curl_error){
    echo "Unable to connect to API Server.";
} else {
    $outputArray = json_decode($output,true);
    if (!$outputArray){
        echo "Invalid JSON Format";
    } else {
        if ($outputArray["code"] == "OK"){
            print_r($outputArray);
            // Do what you want to do here if OK
        } else {
            echo "Error Message: ".$outputArray["message"];
            // Do what you want to do here if not OK
        }
    }
}