softlayer_api 2.1.1 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.textile +2 -1
- data/lib/softlayer/Client.rb +8 -0
- data/lib/softlayer/Config.rb +2 -0
- data/lib/softlayer/ObjectMaskParser.rb +1 -1
- data/lib/softlayer/Service.rb +2 -2
- data/lib/softlayer/VirtualServer.rb +5 -3
- data/lib/softlayer/base.rb +1 -1
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 05bc26a020b1873a59356b3f2fd700cf9179e6ee
|
4
|
+
data.tar.gz: b4e61f95ed3f0e01cd9a98e5fddb3a19c6b52ff5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc7368ecd4e5794452f828071825a957296eb5934856d54d522fa31835234ebf550c9ede65706a534764fdb86396cda7c7eea2a38c1ef991fc0d8ae9561bcfa0
|
7
|
+
data.tar.gz: 992295885ea1fd4f30c064ecf10c5ef53220e373ee4e071ec84f7f0db20ac7582238573761b80168e744aee7d4f72238014898cd3f1fe8e96401201cc17f9502
|
data/CHANGELOG.textile
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
*2.2*
|
2
|
-
* Added
|
2
|
+
* Added the ability to set a timout for network requests. The timeout is given when a client is created by passing the :timeout hash parameter when creating a client. The value of the parameter is an integer number of seconds.
|
3
|
+
* Fixed a bug in VirtualServer#capture_image
|
3
4
|
|
4
5
|
*2.1.1*
|
5
6
|
* Virtual server upgrades no longer raise exceptions
|
data/lib/softlayer/Client.rb
CHANGED
@@ -45,6 +45,11 @@ module SoftLayer
|
|
45
45
|
|
46
46
|
# A string passsed as the value for the User-Agent header when requests are sent to SoftLayer API.
|
47
47
|
attr_accessor :user_agent
|
48
|
+
|
49
|
+
# An integer value (in seconds). The number of seconds to wait for HTTP requests to the network API
|
50
|
+
# until they timeout. This value can be nil in which case the timeout will be the default value for
|
51
|
+
# the library handling network communication (often 30 seconds)
|
52
|
+
attr_reader :network_timeout
|
48
53
|
|
49
54
|
##
|
50
55
|
# The client class maintains an (optional) default client. The default client
|
@@ -66,6 +71,7 @@ module SoftLayer
|
|
66
71
|
# * <b>+:api_key+</b> - The API key used to authenticate the user with the API
|
67
72
|
# * <b>+:enpoint_url+</b> - The API endpoint the client should connect to. This defaults to API_PUBLIC_ENDPOINT
|
68
73
|
# * <b>+:user_agent+</b> - A string that is passed along as the user agent when the client sends requests to the server
|
74
|
+
# * <b>+:timeout+</b> - An integer number of seconds to wait until network requests time out. Corresponds to the network_timeout property of the client
|
69
75
|
#
|
70
76
|
# If these arguments are not provided then the client will try to locate them using other
|
71
77
|
# sources including global variables, and the SoftLayer config file (if one exists)
|
@@ -85,6 +91,8 @@ module SoftLayer
|
|
85
91
|
@endpoint_url = settings[:endpoint_url] || API_PUBLIC_ENDPOINT
|
86
92
|
|
87
93
|
@user_agent = settings[:user_agent] || "softlayer_api gem/#{SoftLayer::VERSION} (Ruby #{RUBY_PLATFORM}/#{RUBY_VERSION})"
|
94
|
+
|
95
|
+
@network_timeout = settings[:timeout] if settings.has_key?(:timeout)
|
88
96
|
|
89
97
|
raise "A SoftLayer Client requires a username" if !@username || @username.empty?
|
90
98
|
raise "A SoftLayer Client requires an api_key" if !@api_key || @api_key.empty?
|
data/lib/softlayer/Config.rb
CHANGED
@@ -54,6 +54,7 @@ module SoftLayer
|
|
54
54
|
# [softlayer]
|
55
55
|
# username = joeusername
|
56
56
|
# api_key = DEADBEEFBADF00D
|
57
|
+
# timeout = 60
|
57
58
|
#
|
58
59
|
# = Environment Variables
|
59
60
|
#
|
@@ -110,6 +111,7 @@ module SoftLayer
|
|
110
111
|
result[:username] = softlayer_section['username'] if softlayer_section['username']
|
111
112
|
result[:endpoint_url] = softlayer_section['endpoint_url'] if softlayer_section['endpoint_url']
|
112
113
|
result[:api_key] = softlayer_section['api_key'] if softlayer_section['api_key']
|
114
|
+
result[:timeout] = softlayer_section['timeout'] if softlayer_section['timeout']
|
113
115
|
end
|
114
116
|
end
|
115
117
|
end
|
@@ -58,7 +58,7 @@ module SoftLayer
|
|
58
58
|
|
59
59
|
recognize_token(@tokenizer, :eos, "Extraneous text after object mask: ")
|
60
60
|
|
61
|
-
if property && (property.name != "mask" &&
|
61
|
+
if property && (property.name != "mask" && property.name != "filterMask")
|
62
62
|
raise ObjectMaskParserError, "Object Mask must begin with a 'mask' or 'filterMask' root property"
|
63
63
|
end
|
64
64
|
|
data/lib/softlayer/Service.rb
CHANGED
@@ -296,9 +296,9 @@ using either client.service_named('<service_name_here>') or client['<service_nam
|
|
296
296
|
|
297
297
|
def xmlrpc_client()
|
298
298
|
if !@xmlrpc_client
|
299
|
-
@xmlrpc_client = XMLRPC::Client.new2(URI.join(@client.endpoint_url,@service_name).to_s)
|
299
|
+
@xmlrpc_client = XMLRPC::Client.new2(URI.join(@client.endpoint_url,@service_name).to_s, nil, @client.network_timeout)
|
300
300
|
|
301
|
-
#
|
301
|
+
# This is a workaround for a bug in later versions of the XML-RPC client in Ruby Core.
|
302
302
|
# see https://bugs.ruby-lang.org/issues/8182
|
303
303
|
@xmlrpc_client.http_header_extra = {
|
304
304
|
"Accept-Encoding" => "identity",
|
@@ -143,13 +143,15 @@ module SoftLayer
|
|
143
143
|
#
|
144
144
|
# The image_notes should be a string and will be added to the image as notes.
|
145
145
|
#
|
146
|
-
def capture_image(image_name, include_attached_storage = false, image_notes =
|
146
|
+
def capture_image(image_name, include_attached_storage = false, image_notes = '')
|
147
|
+
image_notes = '' if !image_notes
|
148
|
+
|
147
149
|
disk_filter = lambda { |disk| disk['device'] == '0' }
|
148
|
-
disk_filter = lambda { |disk| disk['device']
|
150
|
+
disk_filter = lambda { |disk| disk['device'] != '1' } if include_attached_storage
|
149
151
|
|
150
152
|
disks = self.blockDevices.select(&disk_filter)
|
151
153
|
|
152
|
-
self.service.createArchiveTransaction(image_name, disks,
|
154
|
+
self.service.createArchiveTransaction(image_name, disks, image_notes) if disks && !disks.empty?
|
153
155
|
end
|
154
156
|
|
155
157
|
##
|
data/lib/softlayer/base.rb
CHANGED
@@ -31,7 +31,7 @@ require 'rubygems'
|
|
31
31
|
# - +$SL_API_BASE_URL+- The default URL used to access the SoftLayer API. This defaults to the value of +SoftLayer::API_PUBLIC_ENDPOINT+
|
32
32
|
#
|
33
33
|
module SoftLayer
|
34
|
-
VERSION = "2.
|
34
|
+
VERSION = "2.2.0" # version history in the CHANGELOG.textile file at the root of the source
|
35
35
|
|
36
36
|
# The base URL of the SoftLayer API available to the public internet.
|
37
37
|
API_PUBLIC_ENDPOINT = 'https://api.softlayer.com/xmlrpc/v3/'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: softlayer_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- SoftLayer Development Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06
|
11
|
+
date: 2014-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: configparser
|
@@ -86,6 +86,20 @@ dependencies:
|
|
86
86
|
- - ">="
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: 1.8.1
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: coveralls
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
89
103
|
description: The softlayer_api gem offers a convenient mechanism for invoking the
|
90
104
|
services of the SoftLayer API from Ruby.
|
91
105
|
email: sldn@softlayer.com
|
@@ -148,5 +162,5 @@ rubyforge_project:
|
|
148
162
|
rubygems_version: 2.2.2
|
149
163
|
signing_key:
|
150
164
|
specification_version: 4
|
151
|
-
summary: Library for accessing the SoftLayer
|
165
|
+
summary: Library for accessing the SoftLayer API
|
152
166
|
test_files: []
|