abiquo-api 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +16 -0
- data/lib/abiquo-api.rb +15 -6
- data/lib/abiquo-api/httpclient.rb +15 -3
- data/lib/abiquo-api/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac0a5ff9c10d0b39f113f768cb9d93c68bd271b3
|
4
|
+
data.tar.gz: f69f314150ee749e51083511e005cc75b089cb1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb7a621e40a32e64d54f5b56e844e2023e058c20ea9b17ffb7744824756d8effa99bc67ff1385637796b1987b99558b67ac8e0fc7539fcb3442c265f668b29da
|
7
|
+
data.tar.gz: d9b10fc59d6f339d1bf63a8969e88d105c6a013e43bbac0ba717fcd69ffd63ef57fb61714b4f0d1d2f86cbb0582fb35de14c7928668cd9d363e7c69b2105fc49
|
data/README.md
CHANGED
@@ -33,6 +33,22 @@ abq = AbiquoAPI.new(:abiquo_api_url => 'https://10.60.13.40/api',
|
|
33
33
|
:version => "2.9")
|
34
34
|
```
|
35
35
|
|
36
|
+
You can also define some connection parameters that will be applied to HTTP connection:
|
37
|
+
|
38
|
+
```ruby
|
39
|
+
require 'abiquo-api'
|
40
|
+
|
41
|
+
abq = AbiquoAPI.new(:abiquo_api_url => 'https://10.60.13.40/api',
|
42
|
+
:abiquo_username => "admin",
|
43
|
+
:abiquo_password => "xabiquo",
|
44
|
+
:connection_options => {
|
45
|
+
:connect_timeout => 30,
|
46
|
+
:read_timeout => 120,
|
47
|
+
:write_timeout => 120,
|
48
|
+
:ssl_verify_peer => true,
|
49
|
+
:ssl_ca_path => "/etc/pki/tls/private/myCA.crt" })
|
50
|
+
```
|
51
|
+
|
36
52
|
Then you can start browsing the API:
|
37
53
|
|
38
54
|
```ruby
|
data/lib/abiquo-api.rb
CHANGED
@@ -38,22 +38,31 @@ class AbiquoAPI
|
|
38
38
|
#
|
39
39
|
# Required options:
|
40
40
|
#
|
41
|
-
# :abiquo_api_url
|
42
|
-
# :abiquo_username
|
43
|
-
# :abiquo_password
|
44
|
-
# :version
|
45
|
-
#
|
41
|
+
# :abiquo_api_url => The URL of the Abiquo API. ie. https://yourserver/api
|
42
|
+
# :abiquo_username => The username used to connect to the Abiquo API.
|
43
|
+
# :abiquo_password => The password for your user.
|
44
|
+
# :version => The Abiquo API version to include in each request.
|
45
|
+
# Defaults to whatever is returned in the /api/version resource
|
46
|
+
# :connection_options => Excon HTTP client connection options.
|
47
|
+
# { :connect_timeout => <time_in_secs>,
|
48
|
+
# :read_timeout => <time_in_secs>,
|
49
|
+
# :write_timeout => <time_in_secs>,
|
50
|
+
# :ssl_verify_peer => <true_or_false>,
|
51
|
+
# :ssl_ca_path => <path_to_ca_file> }
|
46
52
|
#
|
47
53
|
def initialize(options = {})
|
48
54
|
api_url = options[:abiquo_api_url]
|
49
55
|
api_username = options[:abiquo_username]
|
50
56
|
api_password = options[:abiquo_password]
|
57
|
+
connection_options = options[:connection_options] || {}
|
51
58
|
|
52
59
|
raise "You need to set :abiquo_api_url, :abiquo_username and :abiquo_password" if api_url.nil? or api_username.nil? or api_password.nil?
|
53
60
|
|
54
61
|
@http_client = AbiquoAPIClient::HTTPClient.new(api_url,
|
55
62
|
api_username,
|
56
|
-
api_password
|
63
|
+
api_password,
|
64
|
+
connection_options)
|
65
|
+
|
57
66
|
api_path = URI.parse(api_url).path
|
58
67
|
|
59
68
|
loginresp = @http_client.request(
|
@@ -28,12 +28,24 @@ module AbiquoAPIClient
|
|
28
28
|
# :abiquo_api_url:: The URL of the Abiquo API. ie. https://yourserver/api
|
29
29
|
# :abiquo_username:: The username used to connect to the Abiquo API.
|
30
30
|
# :abiquo_password:: The password for your user.
|
31
|
+
# :connection_options:: { :connect_timeout => <time_in_secs>, :read_timeout => <time_in_secs>, :write_timeout => <time_in_secs>,
|
32
|
+
# :ssl_verify_peer => <true_or_false>, :ssl_ca_path => <path_to_ca_file> }
|
31
33
|
#
|
32
|
-
def initialize(api_url, api_username, api_password)
|
33
|
-
Excon.defaults[:
|
34
|
+
def initialize(api_url, api_username, api_password, connection_options)
|
35
|
+
Excon.defaults[:ssl_ca_path] = connection_options[:ssl_ca_path] || ''
|
36
|
+
Excon.defaults[:ssl_verify_peer] = connection_options[:ssl_verify_peer] || false
|
37
|
+
|
38
|
+
connect_timeout = connection_options[:connect_timeout] || 60
|
39
|
+
read_timeout = connection_options[:read_timeout] || 60
|
40
|
+
write_timeout = connection_options[:write_timeout] || 60
|
41
|
+
|
34
42
|
@connection = Excon.new(api_url,
|
35
43
|
:user => api_username,
|
36
|
-
:password => api_password
|
44
|
+
:password => api_password,
|
45
|
+
:connect_timeout => connect_timeout,
|
46
|
+
:read_timeout => read_timeout,
|
47
|
+
:write_timeout => write_timeout)
|
48
|
+
|
37
49
|
self
|
38
50
|
end
|
39
51
|
|
data/lib/abiquo-api/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: abiquo-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marc Cirauqui
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-02-
|
11
|
+
date: 2015-02-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: excon
|