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,56 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Returns a list of all images on your account
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#images_get]
|
|
10
|
+
##
|
|
11
|
+
def list_images(page: nil, per_page: nil, sort: nil, q: nil,
|
|
12
|
+
fields: nil)
|
|
13
|
+
|
|
14
|
+
# Build hash for query parameters
|
|
15
|
+
keyword_args = {
|
|
16
|
+
:page => page,
|
|
17
|
+
:per_page => per_page,
|
|
18
|
+
:sort => sort,
|
|
19
|
+
:q => q,
|
|
20
|
+
:fields => fields
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
# Clean out null query parameters
|
|
24
|
+
query = clean_hash(keyword_args)
|
|
25
|
+
|
|
26
|
+
# Request
|
|
27
|
+
params = {
|
|
28
|
+
'method' => :get,
|
|
29
|
+
'endpoint' => '/images',
|
|
30
|
+
'params' => query
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
request(params)
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end # Real
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class Mock
|
|
41
|
+
|
|
42
|
+
def list_images(page: nil, per_page: nil, sort: nil, q: nil,
|
|
43
|
+
fields: nil)
|
|
44
|
+
|
|
45
|
+
response = Excon::Response.new
|
|
46
|
+
response.status = 200
|
|
47
|
+
response.body = self.data[:images]
|
|
48
|
+
response
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end # Mock
|
|
53
|
+
|
|
54
|
+
end # OneAndOne
|
|
55
|
+
end # Compute
|
|
56
|
+
end # Fog
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Returns a list of a server's IP's
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#servers__server_id__ips_get]
|
|
10
|
+
##
|
|
11
|
+
def list_ip_firewalls(server_id: nil, ip_id: nil)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :get,
|
|
15
|
+
'endpoint' => "/servers/#{server_id}/ips/#{ip_id}/firewall_policy"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def list_ip_firewalls(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
|
+
else
|
|
43
|
+
raise Fog::Errors::NotFound.new('The requested server IP could
|
|
44
|
+
not be found.')
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Return Response Object to User
|
|
48
|
+
response = Excon::Response.new
|
|
49
|
+
response.status = 200
|
|
50
|
+
response.body = ip['firewall_policy']
|
|
51
|
+
response
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
end # Mock
|
|
56
|
+
|
|
57
|
+
end # OneAndOne
|
|
58
|
+
end # Compute
|
|
59
|
+
end # Fog
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Returns a list of a server's IP's
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#servers__server_id__ips_get]
|
|
10
|
+
##
|
|
11
|
+
def list_ip_load_balancers(server_id: nil, ip_id: nil)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :get,
|
|
15
|
+
'endpoint' => "/servers/#{server_id}/ips/#{ip_id}/load_balancers"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def list_ip_load_balancers(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
|
+
else
|
|
43
|
+
raise Fog::Errors::NotFound.new('The requested server IP could
|
|
44
|
+
not be found.')
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Return Response Object to User
|
|
48
|
+
response = Excon::Response.new
|
|
49
|
+
response.status = 200
|
|
50
|
+
response.body = ip['load_balancers']
|
|
51
|
+
response
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
end # Mock
|
|
56
|
+
|
|
57
|
+
end # OneAndOne
|
|
58
|
+
end # Compute
|
|
59
|
+
end # Fog
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Returns a list of IPs assigned to a load balancer
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#load_balancers__load_balancer_id__server_ips_get]
|
|
10
|
+
##
|
|
11
|
+
def list_load_balancer_ips(load_balancer_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :get,
|
|
15
|
+
'endpoint' => "/load_balancers/#{load_balancer_id}/server_ips"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def list_load_balancer_ips(load_balancer_id)
|
|
28
|
+
|
|
29
|
+
# Search for load balancer to return
|
|
30
|
+
if load_balancer = self.data[:load_balancers].find {
|
|
31
|
+
|hash| hash['id'] == load_balancer_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 = 202
|
|
41
|
+
response.body = load_balancer['server_ips']
|
|
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 a list of a load balancer's rules
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#load_balancers__load_balancer_id__rules_get]
|
|
10
|
+
##
|
|
11
|
+
def list_load_balancer_rules(load_balancer_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :get,
|
|
15
|
+
'endpoint' => "/load_balancers/#{load_balancer_id}/rules"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def list_load_balancer_rules(load_balancer_id)
|
|
28
|
+
|
|
29
|
+
# Search for load balancer to return
|
|
30
|
+
if load_balancer = self.data[:load_balancers].find {
|
|
31
|
+
|hash| hash['id'] == load_balancer_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 = 202
|
|
41
|
+
response.body = load_balancer['rules']
|
|
42
|
+
response
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end # Mock
|
|
47
|
+
|
|
48
|
+
end # OneAndOne
|
|
49
|
+
end # Compute
|
|
50
|
+
end # Fog
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Returns a list of all load balancers on your account
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#load_balancers_get]
|
|
10
|
+
##
|
|
11
|
+
def list_load_balancers(page: nil, per_page: nil, sort: nil, q: nil,
|
|
12
|
+
fields: nil)
|
|
13
|
+
|
|
14
|
+
# Build hash for query parameters
|
|
15
|
+
keyword_args = {
|
|
16
|
+
:page => page,
|
|
17
|
+
:per_page => per_page,
|
|
18
|
+
:sort => sort,
|
|
19
|
+
:q => q,
|
|
20
|
+
:fields => fields
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
# Clean out null query parameters
|
|
24
|
+
query = clean_hash(keyword_args)
|
|
25
|
+
|
|
26
|
+
# Request
|
|
27
|
+
params = {
|
|
28
|
+
'method' => :get,
|
|
29
|
+
'endpoint' => '/load_balancers',
|
|
30
|
+
'params' => query
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
request(params)
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end # Real
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class Mock
|
|
41
|
+
|
|
42
|
+
def list_load_balancers(page: nil, per_page: nil, sort: nil, q: nil,
|
|
43
|
+
fields: nil)
|
|
44
|
+
|
|
45
|
+
response = Excon::Response.new
|
|
46
|
+
response.status = 200
|
|
47
|
+
response.body = self.data[:load_balancers]
|
|
48
|
+
response
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end # Mock
|
|
53
|
+
|
|
54
|
+
end # OneAndOne
|
|
55
|
+
end # Compute
|
|
56
|
+
end # Fog
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Returns a list with logs
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#logs_get]
|
|
10
|
+
##
|
|
11
|
+
def list_logs(page: nil, per_page: nil, sort: nil, q: nil, fields: nil,
|
|
12
|
+
period: 'LAST_24H', start_date: nil, end_date: nil)
|
|
13
|
+
|
|
14
|
+
# Build hash for query parameters
|
|
15
|
+
keyword_args = {
|
|
16
|
+
:page => page,
|
|
17
|
+
:per_page => per_page,
|
|
18
|
+
:sort => sort,
|
|
19
|
+
:q => q,
|
|
20
|
+
:fields => fields,
|
|
21
|
+
:period => period,
|
|
22
|
+
:start_date => start_date,
|
|
23
|
+
:end_date => end_date
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
# Clean out null query parameters
|
|
27
|
+
query = clean_hash(keyword_args)
|
|
28
|
+
|
|
29
|
+
# Request
|
|
30
|
+
params = {
|
|
31
|
+
'method' => :get,
|
|
32
|
+
'endpoint' => '/logs',
|
|
33
|
+
'params' => query
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
request(params)
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end # Real
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class Mock
|
|
44
|
+
|
|
45
|
+
def list_logs(page: nil, per_page: nil, sort: nil, q: nil, fields: nil,
|
|
46
|
+
period: 'LAST_24H', start_date: nil, end_date: nil)
|
|
47
|
+
|
|
48
|
+
response = Excon::Response.new
|
|
49
|
+
response.status = 200
|
|
50
|
+
response.body = self.data[:logs]
|
|
51
|
+
response
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
end # Mock
|
|
56
|
+
|
|
57
|
+
end # OneAndOne
|
|
58
|
+
end # Compute
|
|
59
|
+
end # Fog
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Lists usages and alerts of monitoring servers
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#monitoring_center_get]
|
|
10
|
+
##
|
|
11
|
+
def list_monitored_servers(page: nil, per_page: nil, sort: nil, q: nil,
|
|
12
|
+
fields: nil)
|
|
13
|
+
|
|
14
|
+
# Build hash for query parameters
|
|
15
|
+
keyword_args = {
|
|
16
|
+
:page => page,
|
|
17
|
+
:per_page => per_page,
|
|
18
|
+
:sort => sort,
|
|
19
|
+
:q => q,
|
|
20
|
+
:fields => fields
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
# Clean out null query parameters
|
|
24
|
+
query = clean_hash(keyword_args)
|
|
25
|
+
|
|
26
|
+
# Request
|
|
27
|
+
params = {
|
|
28
|
+
'method' => :get,
|
|
29
|
+
'endpoint' => '/monitoring_center',
|
|
30
|
+
'params' => query
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
request(params)
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end # Real
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class Mock
|
|
41
|
+
|
|
42
|
+
def list_monitored_servers(page: nil, per_page: nil, sort: nil, q: nil,
|
|
43
|
+
fields: nil)
|
|
44
|
+
Fog::Mock.not_implemented
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end # Mock
|
|
48
|
+
|
|
49
|
+
end # OneAndOne
|
|
50
|
+
end # Compute
|
|
51
|
+
end # Fog
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Returns a list of all monitoring policies on your account
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#monitoring_policies_get]
|
|
10
|
+
##
|
|
11
|
+
def list_monitoring_policies(page: nil, per_page: nil, sort: nil, q: nil,
|
|
12
|
+
fields: nil)
|
|
13
|
+
|
|
14
|
+
# Build hash for query parameters
|
|
15
|
+
keyword_args = {
|
|
16
|
+
:page => page,
|
|
17
|
+
:per_page => per_page,
|
|
18
|
+
:sort => sort,
|
|
19
|
+
:q => q,
|
|
20
|
+
:fields => fields
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
# Clean out null query parameters
|
|
24
|
+
query = clean_hash(keyword_args)
|
|
25
|
+
|
|
26
|
+
# Request
|
|
27
|
+
params = {
|
|
28
|
+
'method' => :get,
|
|
29
|
+
'endpoint' => '/monitoring_policies',
|
|
30
|
+
'params' => query
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
request(params)
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end # Real
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class Mock
|
|
41
|
+
|
|
42
|
+
def list_monitoring_policies(page: nil, per_page: nil, sort: nil, q: nil,
|
|
43
|
+
fields: nil)
|
|
44
|
+
|
|
45
|
+
response = Excon::Response.new
|
|
46
|
+
response.status = 200
|
|
47
|
+
response.body = self.data[:monitoring_policies]
|
|
48
|
+
response
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end # Mock
|
|
53
|
+
|
|
54
|
+
end # OneAndOne
|
|
55
|
+
end # Compute
|
|
56
|
+
end # Fog
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Returns a list of a monitoring policy's servers
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#monitoring_policies__monitoring_policy_id__servers_get]
|
|
10
|
+
##
|
|
11
|
+
def list_mp_servers(monitoring_policy_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :get,
|
|
15
|
+
'endpoint' => "/monitoring_policies/#{monitoring_policy_id}/servers"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def list_mp_servers(monitoring_policy_id)
|
|
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
|
+
# Return Response Object to User
|
|
39
|
+
response = Excon::Response.new
|
|
40
|
+
response.status = 200
|
|
41
|
+
response.body = monitoring_policy['servers']
|
|
42
|
+
response
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end # Mock
|
|
47
|
+
|
|
48
|
+
end # OneAndOne
|
|
49
|
+
end # Compute
|
|
50
|
+
end # Fog
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class OneAndOne
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Returns a list of a monitoring policy's ports
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#monitoring_policies__monitoring_policy_id__ports_get]
|
|
10
|
+
##
|
|
11
|
+
def list_ports(monitoring_policy_id)
|
|
12
|
+
|
|
13
|
+
# Request
|
|
14
|
+
params = {
|
|
15
|
+
'method' => :get,
|
|
16
|
+
'endpoint' => "/monitoring_policies/#{monitoring_policy_id}/ports"
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
request(params)
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end # Real
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class Mock
|
|
27
|
+
|
|
28
|
+
def list_ports(monitoring_policy_id)
|
|
29
|
+
|
|
30
|
+
# Search for MP
|
|
31
|
+
if monitoring_policy = self.data[:monitoring_policies].find {
|
|
32
|
+
|hash| hash['id'] == monitoring_policy_id
|
|
33
|
+
}
|
|
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 = monitoring_policy['ports']
|
|
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 a list of a private network's servers
|
|
9
|
+
# URL: [https://cloudpanel-api.1and1.com/documentation/1and1/v1/en/documentation.html#private_networks__private_network_id__servers_get]
|
|
10
|
+
##
|
|
11
|
+
def list_private_network_servers(private_network_id)
|
|
12
|
+
|
|
13
|
+
params = {
|
|
14
|
+
'method' => :get,
|
|
15
|
+
'endpoint' => "/private_networks/#{private_network_id}/servers"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
request(params)
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # Real
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class Mock
|
|
26
|
+
|
|
27
|
+
def list_private_network_servers(private_network_id)
|
|
28
|
+
|
|
29
|
+
# Search for private network to return
|
|
30
|
+
if private_network = self.data[:private_networks].find {
|
|
31
|
+
|hash| hash['id'] == private_network_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 = 202
|
|
41
|
+
response.body = private_network['servers']
|
|
42
|
+
response
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end # Mock
|
|
47
|
+
|
|
48
|
+
end # OneAndOne
|
|
49
|
+
end # Compute
|
|
50
|
+
end # Fog
|