Class: Rimu::RimuAPI::Servers

Inherits:
Rimu::RimuAPI show all
Defined in:
lib/rimu/servers.rb

Instance Attribute Summary

Attributes inherited from Rimu::RimuAPI

#logger

Instance Method Summary collapse

Methods inherited from Rimu::RimuAPI

#api_key, #api_url, #billing_methods, #convert_item, #distributions, #error?, #error_message, #format_response, has_namespace, #initialize, #prep_data, #read_timeout, #send_request, #set_headers

Constructor Details

This class inherits a constructor from Rimu::RimuAPI

Instance Method Details

#cancel(oid) ⇒ Object

Raises:

  • (ArgumentError)


63
64
65
66
# File 'lib/rimu/servers.rb', line 63

def cancel(oid)
    raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
    send_request("/r/orders/order-#{oid}-dn/vps", "cancel_messages", "DELETE")
end

#change_state(oid, new_state) ⇒ Object

Raises:

  • (ArgumentError)


95
96
97
98
99
# File 'lib/rimu/servers.rb', line 95

def change_state(oid, new_state)
    raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
    params = {:running_state_change_request=>{:running_state=>new_state}}
    send_request("/r/orders/order-#{oid}-dn/vps/running-state", "running_vps_info", "PUT", params)
end

#create(params) ⇒ Object

Raises:

  • (ArgumentError)


38
39
40
41
42
43
44
# File 'lib/rimu/servers.rb', line 38

def create(params)
    raise ArgumentError, "params should be a hash" unless params.is_a?(Hash)
    raise ArgumentError, "params should contain atleast instantiation_options or instantiation_via_clone_options" \
    unless params.has_key?(:instantiation_options) || params.has_key?(:instantiation_via_clone_options)
    data = {:new_order_request => prep_data(default_vps_params, params)}
    send_request("/r/orders/new-vps", "about_order", "POST", data)
end

#data_transfer(oid) ⇒ Object

Raises:

  • (ArgumentError)


121
122
123
124
# File 'lib/rimu/servers.rb', line 121

def data_transfer(oid)
    raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
    send_request("/r/orders/order-#{oid}-dn/vps/data-transfer-usage", "data_transfer_usage_info")
end

#default_vps_paramsObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rimu/servers.rb', line 3

def default_vps_params
    @default_vps_params = {
        :billing_oid => nil,
        :dc_location => nil,
        :file_injection_data => nil,
        :host_server_oid => nil,
        :instantiation_options => {
            :domain_name => nil,
            :password => nil,
            :distro => nil,
            :cloud_config_data => nil,
            :control_panel => nil,
        },
        :instantiation_via_clone_options => {
            :domain_name => nil,
            :vps_order_oid_to_clone => nil,
        },
        :ip_request => {
            :extra_ip_reason => nil,
            :num_ips => nil,
            :requested_ips => nil,
        },
        :is_just_minimal_init => nil,
        :meta_data => nil,
        :pricing_plan_code => nil,
        :user_oid => nil,
        :vps_parameters => {
            :disk_space_mb => nil,
            :memory_mb => nil,
            :disk_space_2_mb => nil,
        },
        :vps_type => nil,
    }
end

#info(oid) ⇒ Object

Raises:

  • (ArgumentError)


58
59
60
61
# File 'lib/rimu/servers.rb', line 58

def info(oid)
    raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
    send_request("/r/orders/order-#{oid}-dn", "about_order")
end

#move(oid, params = {}) ⇒ Object

Raises:

  • (ArgumentError)


68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/rimu/servers.rb', line 68

def move(oid, params={})
    raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
    raise ArgumentError, "params should be a hash" unless params.is_a?(Hash)
    default_params = {
        :update_dns=>false,
        :move_reason=>'',
        :pricing_change_option=>'CHOOSE_BEST_OPTION',
        :selected_host_server_oid=>nil,
    }
    data = {:vps_move_request => prep_data(default_params, params)}
    send_request("/r/orders/order-#{oid}-dn/vps/host-server", "about_order", "PUT", data)
end

#power_cycle(oid) ⇒ Object

Raises:

  • (ArgumentError)


116
117
118
119
# File 'lib/rimu/servers.rb', line 116

def power_cycle(oid)
    raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
    change_state(oid, "POWERCYCLING")
end

#reboot(oid) ⇒ Object

Raises:

  • (ArgumentError)


101
102
103
104
# File 'lib/rimu/servers.rb', line 101

def reboot(oid)
    raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
    change_state(oid, "RESTARTING")
end

#reinstall(oid, params = {}) ⇒ Object

Raises:

  • (ArgumentError)


46
47
48
49
50
51
# File 'lib/rimu/servers.rb', line 46

def reinstall(oid, params={})
    raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
    raise ArgumentError, "params should be a hash" unless params.is_a?(Hash)
    data = {:reinstall_request => prep_data(default_vps_params, params)}
    send_request("/r/orders/order-#{oid}-dn/vps/reinstall", "running_vps_info", "PUT", data)
end

#resize(oid, params) ⇒ Object

Raises:

  • (ArgumentError)


81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/rimu/servers.rb', line 81

def resize(oid, params)
    raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
    raise ArgumentError, "params should be a hash" unless params.is_a?(Hash)
    default_params = {
        :disk_space_2_mb => nil,
        :disk_space_mb => nil,
        :memory_mb => nil,
    }
    clean_params = prep_data(default_params, params)
    raise ArgumentError, "atleast one parameter is required" if clean_params.empty?
    data = {:vps_resize_request => clean_params}
    send_request("/r/orders/order-#{oid}-dn/vps/parameters", "resource_change_result", "PUT", data)
end

#shutdown(oid) ⇒ Object

Raises:

  • (ArgumentError)


106
107
108
109
# File 'lib/rimu/servers.rb', line 106

def shutdown(oid)
    raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
    change_state(oid, "NOTRUNNING")
end

#start(oid) ⇒ Object

Raises:

  • (ArgumentError)


111
112
113
114
# File 'lib/rimu/servers.rb', line 111

def start(oid)
    raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
    change_state(oid, "RUNNING")
end

#status(oid) ⇒ Object

Raises:

  • (ArgumentError)


53
54
55
56
# File 'lib/rimu/servers.rb', line 53

def status(oid)
    raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
    send_request("/r/orders/order-#{oid}-dn/vps", "running_vps_info")
end