fog-oneandone 1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +36 -0
- data/CONTRIBUTING.md +276 -0
- data/CONTRIBUTORS.md +1 -0
- data/Gemfile +4 -0
- data/LICENSE.md +20 -0
- data/README.md +317 -0
- data/bin/fog +78 -0
- data/examples/example_app.rb +80 -0
- data/fog-oneandone.gemspec +22 -0
- data/gemfiles/Gemfile-edge +7 -0
- data/lib/fog-oneandone.rb +10 -0
- data/lib/oneandone/compute.rb +713 -0
- data/lib/oneandone/core.rb +11 -0
- data/lib/oneandone/models/compute/firewall.rb +128 -0
- data/lib/oneandone/models/compute/firewalls.rb +24 -0
- data/lib/oneandone/models/compute/image.rb +72 -0
- data/lib/oneandone/models/compute/images.rb +24 -0
- data/lib/oneandone/models/compute/load_balancer.rb +149 -0
- data/lib/oneandone/models/compute/load_balancers.rb +24 -0
- data/lib/oneandone/models/compute/monitoring_policies.rb +24 -0
- data/lib/oneandone/models/compute/monitoring_policy.rb +196 -0
- data/lib/oneandone/models/compute/private_network.rb +105 -0
- data/lib/oneandone/models/compute/private_networks.rb +24 -0
- data/lib/oneandone/models/compute/public_ip.rb +68 -0
- data/lib/oneandone/models/compute/public_ips.rb +24 -0
- data/lib/oneandone/models/compute/server.rb +434 -0
- data/lib/oneandone/models/compute/servers.rb +24 -0
- data/lib/oneandone/models/compute/shared_storage.rb +101 -0
- data/lib/oneandone/models/compute/shared_storages.rb +24 -0
- data/lib/oneandone/models/compute/vpn.rb +70 -0
- data/lib/oneandone/models/compute/vpns.rb +24 -0
- data/lib/oneandone/requests/compute/access.rb +35 -0
- data/lib/oneandone/requests/compute/add_firewall.rb +70 -0
- data/lib/oneandone/requests/compute/add_firewall_ips.rb +67 -0
- data/lib/oneandone/requests/compute/add_firewall_rules.rb +68 -0
- data/lib/oneandone/requests/compute/add_hdds.rb +65 -0
- data/lib/oneandone/requests/compute/add_load_balancer.rb +76 -0
- data/lib/oneandone/requests/compute/add_load_balancer_ips.rb +67 -0
- data/lib/oneandone/requests/compute/add_load_balancer_rules.rb +68 -0
- data/lib/oneandone/requests/compute/add_mp_servers.rb +64 -0
- data/lib/oneandone/requests/compute/add_ports.rb +65 -0
- data/lib/oneandone/requests/compute/add_private_network.rb +65 -0
- data/lib/oneandone/requests/compute/add_private_network_servers.rb +67 -0
- data/lib/oneandone/requests/compute/add_processes.rb +65 -0
- data/lib/oneandone/requests/compute/add_server_ip.rb +72 -0
- data/lib/oneandone/requests/compute/add_shared_storage_servers.rb +64 -0
- data/lib/oneandone/requests/compute/change_password.rb +45 -0
- data/lib/oneandone/requests/compute/change_status.rb +69 -0
- data/lib/oneandone/requests/compute/clone_server.rb +67 -0
- data/lib/oneandone/requests/compute/create_firewall.rb +78 -0
- data/lib/oneandone/requests/compute/create_image.rb +101 -0
- data/lib/oneandone/requests/compute/create_load_balancer.rb +104 -0
- data/lib/oneandone/requests/compute/create_monitoring_policy.rb +93 -0
- data/lib/oneandone/requests/compute/create_private_network.rb +82 -0
- data/lib/oneandone/requests/compute/create_public_ip.rb +77 -0
- data/lib/oneandone/requests/compute/create_server.rb +139 -0
- data/lib/oneandone/requests/compute/create_shared_storage.rb +83 -0
- data/lib/oneandone/requests/compute/create_snapshot.rb +51 -0
- data/lib/oneandone/requests/compute/create_vpn.rb +80 -0
- data/lib/oneandone/requests/compute/delete_firewall.rb +51 -0
- data/lib/oneandone/requests/compute/delete_firewall_rule.rb +60 -0
- data/lib/oneandone/requests/compute/delete_hdd.rb +61 -0
- data/lib/oneandone/requests/compute/delete_image.rb +51 -0
- data/lib/oneandone/requests/compute/delete_load_balancer.rb +51 -0
- data/lib/oneandone/requests/compute/delete_load_balancer_rule.rb +60 -0
- data/lib/oneandone/requests/compute/delete_monitoring_policy.rb +51 -0
- data/lib/oneandone/requests/compute/delete_port.rb +60 -0
- data/lib/oneandone/requests/compute/delete_private_network.rb +51 -0
- data/lib/oneandone/requests/compute/delete_process.rb +60 -0
- data/lib/oneandone/requests/compute/delete_public_ip.rb +51 -0
- data/lib/oneandone/requests/compute/delete_server.rb +51 -0
- data/lib/oneandone/requests/compute/delete_server_ip.rb +60 -0
- data/lib/oneandone/requests/compute/delete_shared_storage.rb +51 -0
- data/lib/oneandone/requests/compute/delete_snapshot.rb +51 -0
- data/lib/oneandone/requests/compute/delete_vpn.rb +51 -0
- data/lib/oneandone/requests/compute/eject_dvd.rb +51 -0
- data/lib/oneandone/requests/compute/get_datacenter.rb +50 -0
- data/lib/oneandone/requests/compute/get_dvd.rb +50 -0
- data/lib/oneandone/requests/compute/get_dvd_iso.rb +50 -0
- data/lib/oneandone/requests/compute/get_firewall.rb +50 -0
- data/lib/oneandone/requests/compute/get_firewall_ip.rb +59 -0
- data/lib/oneandone/requests/compute/get_firewall_rule.rb +59 -0
- data/lib/oneandone/requests/compute/get_fixed_server.rb +50 -0
- data/lib/oneandone/requests/compute/get_hardware.rb +50 -0
- data/lib/oneandone/requests/compute/get_hdd.rb +60 -0
- data/lib/oneandone/requests/compute/get_hdds.rb +50 -0
- data/lib/oneandone/requests/compute/get_image.rb +50 -0
- data/lib/oneandone/requests/compute/get_load_balancer.rb +50 -0
- data/lib/oneandone/requests/compute/get_load_balancer_ip.rb +59 -0
- data/lib/oneandone/requests/compute/get_load_balancer_rule.rb +59 -0
- data/lib/oneandone/requests/compute/get_log.rb +51 -0
- data/lib/oneandone/requests/compute/get_monitored_server.rb +49 -0
- data/lib/oneandone/requests/compute/get_monitoring_policy.rb +50 -0
- data/lib/oneandone/requests/compute/get_mp_server.rb +59 -0
- data/lib/oneandone/requests/compute/get_port.rb +59 -0
- data/lib/oneandone/requests/compute/get_private_network.rb +50 -0
- data/lib/oneandone/requests/compute/get_private_network_server.rb +59 -0
- data/lib/oneandone/requests/compute/get_process.rb +59 -0
- data/lib/oneandone/requests/compute/get_public_ip.rb +50 -0
- data/lib/oneandone/requests/compute/get_server.rb +50 -0
- data/lib/oneandone/requests/compute/get_server_appliance.rb +50 -0
- data/lib/oneandone/requests/compute/get_server_image.rb +50 -0
- data/lib/oneandone/requests/compute/get_server_ip.rb +59 -0
- data/lib/oneandone/requests/compute/get_server_private_network.rb +59 -0
- data/lib/oneandone/requests/compute/get_shared_storage.rb +50 -0
- data/lib/oneandone/requests/compute/get_shared_storage_server.rb +59 -0
- data/lib/oneandone/requests/compute/get_snapshot.rb +50 -0
- data/lib/oneandone/requests/compute/get_vpn.rb +50 -0
- data/lib/oneandone/requests/compute/install_server_image.rb +72 -0
- data/lib/oneandone/requests/compute/list_datacenters.rb +56 -0
- data/lib/oneandone/requests/compute/list_dvds.rb +56 -0
- data/lib/oneandone/requests/compute/list_firewall_ips.rb +50 -0
- data/lib/oneandone/requests/compute/list_firewall_rules.rb +50 -0
- data/lib/oneandone/requests/compute/list_firewalls.rb +56 -0
- data/lib/oneandone/requests/compute/list_fixed_servers.rb +40 -0
- data/lib/oneandone/requests/compute/list_images.rb +56 -0
- data/lib/oneandone/requests/compute/list_ip_firewalls.rb +59 -0
- data/lib/oneandone/requests/compute/list_ip_load_balancers.rb +59 -0
- data/lib/oneandone/requests/compute/list_load_balancer_ips.rb +50 -0
- data/lib/oneandone/requests/compute/list_load_balancer_rules.rb +50 -0
- data/lib/oneandone/requests/compute/list_load_balancers.rb +56 -0
- data/lib/oneandone/requests/compute/list_logs.rb +59 -0
- data/lib/oneandone/requests/compute/list_monitored_servers.rb +51 -0
- data/lib/oneandone/requests/compute/list_monitoring_policies.rb +56 -0
- data/lib/oneandone/requests/compute/list_mp_servers.rb +50 -0
- data/lib/oneandone/requests/compute/list_ports.rb +51 -0
- data/lib/oneandone/requests/compute/list_private_network_servers.rb +50 -0
- data/lib/oneandone/requests/compute/list_private_networks.rb +56 -0
- data/lib/oneandone/requests/compute/list_processes.rb +51 -0
- data/lib/oneandone/requests/compute/list_public_ips.rb +56 -0
- data/lib/oneandone/requests/compute/list_server_appliances.rb +56 -0
- data/lib/oneandone/requests/compute/list_server_ips.rb +50 -0
- data/lib/oneandone/requests/compute/list_server_private_networks.rb +50 -0
- data/lib/oneandone/requests/compute/list_servers.rb +56 -0
- data/lib/oneandone/requests/compute/list_shared_storage_servers.rb +50 -0
- data/lib/oneandone/requests/compute/list_shared_storages.rb +56 -0
- data/lib/oneandone/requests/compute/list_usages.rb +54 -0
- data/lib/oneandone/requests/compute/list_vpns.rb +56 -0
- data/lib/oneandone/requests/compute/load_dvd.rb +65 -0
- data/lib/oneandone/requests/compute/ping.rb +38 -0
- data/lib/oneandone/requests/compute/ping_auth.rb +38 -0
- data/lib/oneandone/requests/compute/remove_firewall.rb +60 -0
- data/lib/oneandone/requests/compute/remove_firewall_ip.rb +60 -0
- data/lib/oneandone/requests/compute/remove_load_balancer.rb +71 -0
- data/lib/oneandone/requests/compute/remove_load_balancer_ip.rb +60 -0
- data/lib/oneandone/requests/compute/remove_mp_server.rb +60 -0
- data/lib/oneandone/requests/compute/remove_private_network.rb +60 -0
- data/lib/oneandone/requests/compute/remove_private_network_server.rb +60 -0
- data/lib/oneandone/requests/compute/remove_shared_storage_server.rb +60 -0
- data/lib/oneandone/requests/compute/restore_snapshot.rb +35 -0
- data/lib/oneandone/requests/compute/status.rb +50 -0
- data/lib/oneandone/requests/compute/update_firewall.rb +76 -0
- data/lib/oneandone/requests/compute/update_hardware.rb +82 -0
- data/lib/oneandone/requests/compute/update_hdd.rb +71 -0
- data/lib/oneandone/requests/compute/update_image.rb +80 -0
- data/lib/oneandone/requests/compute/update_load_balancer.rb +96 -0
- data/lib/oneandone/requests/compute/update_monitoring_policy.rb +82 -0
- data/lib/oneandone/requests/compute/update_port.rb +74 -0
- data/lib/oneandone/requests/compute/update_private_network.rb +82 -0
- data/lib/oneandone/requests/compute/update_process.rb +76 -0
- data/lib/oneandone/requests/compute/update_public_ip.rb +71 -0
- data/lib/oneandone/requests/compute/update_server.rb +76 -0
- data/lib/oneandone/requests/compute/update_shared_storage.rb +80 -0
- data/lib/oneandone/requests/compute/update_vpn.rb +76 -0
- data/tests/oneandone/test_firewalls.rb +188 -0
- data/tests/oneandone/test_images.rb +79 -0
- data/tests/oneandone/test_load_balancers.rb +192 -0
- data/tests/oneandone/test_monitoring_policies.rb +342 -0
- data/tests/oneandone/test_private_networks.rb +123 -0
- data/tests/oneandone/test_public_ips.rb +75 -0
- data/tests/oneandone/test_servers.rb +465 -0
- data/tests/oneandone/test_shared_storages.rb +131 -0
- metadata +259 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Deletes a monitoring policy
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#monitoring_policies__monitoring_policy_id__delete]
|
|
10
|
+
##
|
|
11
|
+
def delete_monitoring_policy(monitoring_policy_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :delete,
|
|
15
|
+
'endpoint' => "/monitoring_policies/#{monitoring_policy_id}"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def delete_monitoring_policy(monitoring_policy_id)
|
|
28
|
+
|
|
29
|
+
# Search for MP to delete
|
|
30
|
+
if monitoring_policy = self.data[:monitoring_policies].find {
|
|
31
|
+
|hash| hash['id'] == monitoring_policy_id
|
|
32
|
+
}
|
|
33
|
+
self.data[:monitoring_policies].delete(monitoring_policy)
|
|
34
|
+
else
|
|
35
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
36
|
+
not be found.')
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Return Response Object to User
|
|
40
|
+
response = Excon::Response.new
|
|
41
|
+
response.status = 202
|
|
42
|
+
response.body = 'The requested monitoring policy has been deleted.'
|
|
43
|
+
response
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end # Mock
|
|
48
|
+
|
|
49
|
+
end # OneAndOne
|
|
50
|
+
end # Compute
|
|
51
|
+
end # Fog
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Remove a monitoring policy's port
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#monitoring_policies__monitoring_policy_id__ports__port_id__delete]
|
|
10
|
+
##
|
|
11
|
+
def delete_port(monitoring_policy_id: nil, port_id: nil)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :delete,
|
|
15
|
+
'endpoint' => "/monitoring_policies/#{monitoring_policy_id}/ports/#{port_id}"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def delete_port(monitoring_policy_id: nil, port_id: nil)
|
|
28
|
+
|
|
29
|
+
# Search for MP
|
|
30
|
+
if monitoring_policy = self.data[:monitoring_policies].find {
|
|
31
|
+
|hash| hash['id'] == monitoring_policy_id
|
|
32
|
+
}
|
|
33
|
+
else
|
|
34
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
35
|
+
not be found.')
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Search for port to destroy
|
|
39
|
+
if port = monitoring_policy['ports'].find {
|
|
40
|
+
|index| index['id'] == port_id
|
|
41
|
+
}
|
|
42
|
+
monitoring_policy['ports'].delete(port)
|
|
43
|
+
else
|
|
44
|
+
raise Fog::Errors::NotFound.new('The requested rule could
|
|
45
|
+
not be found.')
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Return Response Object to User
|
|
49
|
+
response = Excon::Response.new
|
|
50
|
+
response.status = 202
|
|
51
|
+
response.body = monitoring_policy
|
|
52
|
+
response
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
end # Mock
|
|
57
|
+
|
|
58
|
+
end # OneAndOne
|
|
59
|
+
end # Compute
|
|
60
|
+
end # Fog
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Deletes a private network
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#private_networks__private_network_id__delete]
|
|
10
|
+
##
|
|
11
|
+
def delete_private_network(private_network_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :delete,
|
|
15
|
+
'endpoint' => "/private_networks/#{private_network_id}"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def delete_private_network(private_network_id)
|
|
28
|
+
|
|
29
|
+
# Search for private network to destroy
|
|
30
|
+
if private_network = self.data[:private_networks].find {
|
|
31
|
+
|hash| hash['id'] == private_network_id
|
|
32
|
+
}
|
|
33
|
+
self.data[:private_networks].delete(private_network)
|
|
34
|
+
else
|
|
35
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
36
|
+
not be found.')
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Return Response Object to User
|
|
40
|
+
response = Excon::Response.new
|
|
41
|
+
response.status = 202
|
|
42
|
+
response.body = 'The requested private network has been deleted.'
|
|
43
|
+
response
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end # Mock
|
|
48
|
+
|
|
49
|
+
end # OneAndOne
|
|
50
|
+
end # Compute
|
|
51
|
+
end # Fog
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Removes a monitoring policy's process
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#monitoring_policies__monitoring_policy_id__processes__process_id__delete]
|
|
10
|
+
##
|
|
11
|
+
def delete_process(monitoring_policy_id: nil, process_id: nil)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :delete,
|
|
15
|
+
'endpoint' => "/monitoring_policies/#{monitoring_policy_id}/processes/#{process_id}"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def delete_process(monitoring_policy_id: nil, process_id: nil)
|
|
28
|
+
|
|
29
|
+
# Search for MP
|
|
30
|
+
if monitoring_policy = self.data[:monitoring_policies].find {
|
|
31
|
+
|hash| hash['id'] == monitoring_policy_id
|
|
32
|
+
}
|
|
33
|
+
else
|
|
34
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
35
|
+
not be found.')
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Search for process to destroy
|
|
39
|
+
if process = monitoring_policy['processes'].find {
|
|
40
|
+
|index| index['id'] == process_id
|
|
41
|
+
}
|
|
42
|
+
monitoring_policy['processes'].delete(process)
|
|
43
|
+
else
|
|
44
|
+
raise Fog::Errors::NotFound.new('The requested process could
|
|
45
|
+
not be found.')
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Return Response Object to User
|
|
49
|
+
response = Excon::Response.new
|
|
50
|
+
response.status = 202
|
|
51
|
+
response.body = monitoring_policy
|
|
52
|
+
response
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
end # Mock
|
|
57
|
+
|
|
58
|
+
end # OneAndOne
|
|
59
|
+
end # Compute
|
|
60
|
+
end # Fog
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Delete a public IP
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#public_ips__ip_id__delete]
|
|
10
|
+
##
|
|
11
|
+
def delete_public_ip(ip_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :delete,
|
|
15
|
+
'endpoint' => "/public_ips/#{ip_id}"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def delete_public_ip(ip_id)
|
|
28
|
+
|
|
29
|
+
# Search for public IP to destroy
|
|
30
|
+
if ip = self.data[:public_ips].find {
|
|
31
|
+
|hash| hash['id'] == ip_id
|
|
32
|
+
}
|
|
33
|
+
self.data[:public_ips].delete(ip)
|
|
34
|
+
else
|
|
35
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
36
|
+
not be found.')
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Return Response Object to User
|
|
40
|
+
response = Excon::Response.new
|
|
41
|
+
response.status = 202
|
|
42
|
+
response.body = 'The requested public IP has been deleted.'
|
|
43
|
+
response
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end # Mock
|
|
48
|
+
|
|
49
|
+
end # OneAndOne
|
|
50
|
+
end # Compute
|
|
51
|
+
end # Fog
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Deletes a server
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#servers__server_id__delete]
|
|
10
|
+
##
|
|
11
|
+
def delete_server(server_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :delete,
|
|
15
|
+
'endpoint' => "/servers/#{server_id}"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def delete_server(server_id)
|
|
28
|
+
|
|
29
|
+
# Search for server to delete
|
|
30
|
+
if server = self.data[:servers].find {
|
|
31
|
+
|hash| hash['id'] == server_id
|
|
32
|
+
}
|
|
33
|
+
self.data[:servers].delete(server)
|
|
34
|
+
else
|
|
35
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
36
|
+
not be found.')
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Return Response Object to User
|
|
40
|
+
response = Excon::Response.new
|
|
41
|
+
response.status = 202
|
|
42
|
+
response.body = 'The requested server has been deleted.'
|
|
43
|
+
response
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end # Mock
|
|
48
|
+
|
|
49
|
+
end # OneAndOne
|
|
50
|
+
end # Compute
|
|
51
|
+
end # Fog
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Delete a server's IP
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#servers__server_id__ips__ip_id__delete]
|
|
10
|
+
##
|
|
11
|
+
def delete_server_ip(server_id: nil, ip_id: nil)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :delete,
|
|
15
|
+
'endpoint' => "/servers/#{server_id}/ips/#{ip_id}"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def delete_server_ip(server_id: nil, ip_id: nil)
|
|
28
|
+
|
|
29
|
+
# Search for server
|
|
30
|
+
if server = self.data[:servers].find {
|
|
31
|
+
|hash| hash['id'] == server_id
|
|
32
|
+
}
|
|
33
|
+
else
|
|
34
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
35
|
+
not be found.')
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Search for IP to return
|
|
39
|
+
if ip = server['ips'].find {
|
|
40
|
+
|index| index['id'] == ip_id
|
|
41
|
+
}
|
|
42
|
+
server['ips'].delete(ip)
|
|
43
|
+
else
|
|
44
|
+
raise Fog::Errors::NotFound.new('The requested server IP could
|
|
45
|
+
not be found.')
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Return Response Object to User
|
|
49
|
+
response = Excon::Response.new
|
|
50
|
+
response.status = 200
|
|
51
|
+
response.body = server
|
|
52
|
+
response
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
end # Mock
|
|
57
|
+
|
|
58
|
+
end # OneAndOne
|
|
59
|
+
end # Compute
|
|
60
|
+
end # Fog
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Returns information about a shared storage
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#shared_storages__shared_storage_id__get]
|
|
10
|
+
##
|
|
11
|
+
def delete_shared_storage(shared_storage_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :delete,
|
|
15
|
+
'endpoint' => "/shared_storages/#{shared_storage_id}"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def delete_shared_storage(shared_storage_id)
|
|
28
|
+
|
|
29
|
+
# Search for shared storage to delete
|
|
30
|
+
if shared_storage = self.data[:shared_storages].find {
|
|
31
|
+
|hash| hash['id'] == shared_storage_id
|
|
32
|
+
}
|
|
33
|
+
self.data[:shared_storages].delete(shared_storage)
|
|
34
|
+
else
|
|
35
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
36
|
+
not be found.')
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Return Response Object to User
|
|
40
|
+
response = Excon::Response.new
|
|
41
|
+
response.status = 202
|
|
42
|
+
response.body = 'The requested shared storage has been deleted.'
|
|
43
|
+
response
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end # Mock
|
|
48
|
+
|
|
49
|
+
end # OneAndOne
|
|
50
|
+
end # Compute
|
|
51
|
+
end # Fog
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Removes a snapshot
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#servers__server_id__snapshots__snapshot_id__delete]
|
|
10
|
+
##
|
|
11
|
+
def delete_snapshot(server_id: nil, snapshot_id: nil)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :delete,
|
|
15
|
+
'endpoint' => "/servers/#{server_id}/snapshots/#{snapshot_id}"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def delete_snapshot(server_id: nil, snapshot_id: nil)
|
|
28
|
+
|
|
29
|
+
# Search for server
|
|
30
|
+
if server = self.data[:servers].find {
|
|
31
|
+
|hash| hash['id'] == server_id
|
|
32
|
+
}
|
|
33
|
+
server['snapshot'] = {}
|
|
34
|
+
else
|
|
35
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
36
|
+
not be found.')
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Return Response Object to User
|
|
40
|
+
response = Excon::Response.new
|
|
41
|
+
response.status = 202
|
|
42
|
+
response.body = server
|
|
43
|
+
response
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end # Mock
|
|
48
|
+
|
|
49
|
+
end # OneAndOne
|
|
50
|
+
end # Compute
|
|
51
|
+
end # Fog
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Delete a VPN
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#vpns__vpn_id__delete]
|
|
10
|
+
##
|
|
11
|
+
def delete_vpn(vpn_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :delete,
|
|
15
|
+
'endpoint' => "/vpns/#{vpn_id}"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def delete_vpn(vpn_id)
|
|
28
|
+
|
|
29
|
+
# Search for VPN to delete
|
|
30
|
+
if vpn = self.data[:vpns].find {
|
|
31
|
+
|hash| hash['id'] == vpn_id
|
|
32
|
+
}
|
|
33
|
+
self.data[:vpns].delete(vpn)
|
|
34
|
+
else
|
|
35
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
36
|
+
not be found.')
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Return Response Object to User
|
|
40
|
+
response = Excon::Response.new
|
|
41
|
+
response.status = 202
|
|
42
|
+
response.body = 'The requested VPN has been deleted.'
|
|
43
|
+
response
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end # Mock
|
|
48
|
+
|
|
49
|
+
end # OneAndOne
|
|
50
|
+
end # Compute
|
|
51
|
+
end # Fog
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Ejects a DVD from the virtual DVD unit of a server
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#servers__server_id__dvd_delete]
|
|
10
|
+
##
|
|
11
|
+
def eject_dvd(server_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :delete,
|
|
15
|
+
'endpoint' => "/servers/#{server_id}/dvd"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def eject_dvd(server_id)
|
|
28
|
+
|
|
29
|
+
# Search for server
|
|
30
|
+
if server = self.data[:servers].find {
|
|
31
|
+
|hash| hash['id'] == server_id
|
|
32
|
+
}
|
|
33
|
+
server['dvd'] = {}
|
|
34
|
+
else
|
|
35
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
36
|
+
not be found.')
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Return Response Object to User
|
|
40
|
+
response = Excon::Response.new
|
|
41
|
+
response.status = 200
|
|
42
|
+
response.body = server
|
|
43
|
+
response
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end # Mock
|
|
48
|
+
|
|
49
|
+
end # OneAndOne
|
|
50
|
+
end # Compute
|
|
51
|
+
end # Fog
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Returns information about a datacenter
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#datacenters__datacenter_id__get]
|
|
10
|
+
##
|
|
11
|
+
def get_datacenter(datacenter_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :get,
|
|
15
|
+
'endpoint' => "/datacenters/#{datacenter_id}"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def get_datacenter(datacenter_id)
|
|
28
|
+
|
|
29
|
+
# Search for image to return
|
|
30
|
+
if datacenter = self.data[:datacenters].find {
|
|
31
|
+
|hash| hash['id'] == datacenter_id
|
|
32
|
+
}
|
|
33
|
+
else
|
|
34
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
35
|
+
not be found.')
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Return Response Object to User
|
|
39
|
+
response = Excon::Response.new
|
|
40
|
+
response.status = 200
|
|
41
|
+
response.body = datacenter
|
|
42
|
+
response
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end # Mock
|
|
47
|
+
|
|
48
|
+
end # OneAndOne
|
|
49
|
+
end # Compute
|
|
50
|
+
end # Fog
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Returns information about the DVD loaded into the virtual DVD unit of a server
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#servers__server_id__dvd_get]
|
|
10
|
+
##
|
|
11
|
+
def get_dvd(server_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :get,
|
|
15
|
+
'endpoint' => "/servers/#{server_id}/dvd"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def get_dvd(server_id)
|
|
28
|
+
|
|
29
|
+
# Search for server
|
|
30
|
+
if server = self.data[:servers].find {
|
|
31
|
+
|hash| hash['id'] == server_id
|
|
32
|
+
}
|
|
33
|
+
else
|
|
34
|
+
raise Fog::Errors::NotFound.new('The requested resource could
|
|
35
|
+
not be found.')
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Return Response Object to User
|
|
39
|
+
response = Excon::Response.new
|
|
40
|
+
response.status = 200
|
|
41
|
+
response.body = server['dvd']
|
|
42
|
+
response
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end # Mock
|
|
47
|
+
|
|
48
|
+
end # OneAndOne
|
|
49
|
+
end # Compute
|
|
50
|
+
end # Fog
|