fog-softlayer 0.0.9 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/CHANGELOG.md +13 -0
- data/README.md +3 -2
- data/examples/dns.md +19 -6
- data/lib/fog/softlayer/dns.rb +1 -0
- data/lib/fog/softlayer/models/compute/server.rb +5 -0
- data/lib/fog/softlayer/models/dns/records.rb +9 -1
- data/lib/fog/softlayer/requests/compute/get_bare_metal_server.rb +1 -1
- data/lib/fog/softlayer/requests/compute/get_vm.rb +1 -1
- data/lib/fog/softlayer/requests/dns/get_record.rb +37 -0
- data/lib/fog/softlayer/version.rb +1 -1
- data/tests/softlayer/models/dns/record_tests.rb +13 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NGQ0NDhiNGE1NjdjZmVjNWNhY2UxMTRkZjBiZWFhNjYwYTU2MTBlMA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NTljMjJlMmQ3N2JlYmY3ZTM4YmZiMmQwM2I4MTUyMjgxZjc4OGY0NA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YTBiMzQ1NDM5M2EzZWE5Y2U0ZDEzNmYzYjMxNDQ3MDExNzkzNTAzZjc0ZmY5
|
10
|
+
YWY4NTdjZmMxMjc3ODc1ZTE0ODVmMmM2MjkzNjk5ZWU2MzJlOTJiMjU3ZDEx
|
11
|
+
MjIyNjYyYWU5ZmUzMTVlNzNkZDkzNWY5NjJiNTQ2ZWFkMTNkZTA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YmI1NTgzZjI4ZjAyMWMyNTI1OTQwOTZkZDBjNjAwNWE2YmI3ZTI5NjIwOGUx
|
14
|
+
NDdmZGJmNjM1OWIzMmIxMzllMDBlZjkyNDM4MWNjMDhmOTg5Yjk5YTlkZjZk
|
15
|
+
M2I2NDY1M2YyZmNkMDhhZjI5ZmY1MmRmNDg4MGQxZTA0MDMzZGY=
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
## 0.1.0 2014-06-10
|
2
|
+
|
3
|
+
* Add missing get method to Fog::DNS::Softlayer::Record.
|
4
|
+
* Add OS attribute and ssh_password method to Compute model.
|
5
|
+
|
6
|
+
### 0.0.9 2014-06-10
|
7
|
+
|
8
|
+
* Initial support for DNS.
|
9
|
+
|
10
|
+
### 0.0.8 2014-06-05
|
11
|
+
|
12
|
+
* Released support for Object Storage.
|
13
|
+
|
1
14
|
### 0.0.7 2014-05-29
|
2
15
|
|
3
16
|
* Compute requests and models initial development complete. Supports both VMs and BMC.
|
data/README.md
CHANGED
@@ -11,12 +11,13 @@ in other applications.
|
|
11
11
|
|
12
12
|
This release includes support for the following services:
|
13
13
|
* Compute
|
14
|
-
|
15
|
-
Additional services coming soon:
|
16
14
|
* Storage
|
17
15
|
* DNS
|
16
|
+
|
17
|
+
Additional services coming soon:
|
18
18
|
* Image
|
19
19
|
* Network
|
20
|
+
* Tags
|
20
21
|
|
21
22
|
#### Installation
|
22
23
|
|
data/examples/dns.md
CHANGED
@@ -15,7 +15,7 @@ These examples all assume you have `~/.fog` which contains the following
|
|
15
15
|
@sl = Fog::DNS[:softlayer]
|
16
16
|
```
|
17
17
|
|
18
|
-
|
18
|
+
##### Create Operations
|
19
19
|
|
20
20
|
* Create Domain
|
21
21
|
|
@@ -27,14 +27,14 @@ These examples all assume you have `~/.fog` which contains the following
|
|
27
27
|
|
28
28
|
```ruby
|
29
29
|
record = {
|
30
|
-
'
|
30
|
+
'value' => '127.0.0.1',
|
31
31
|
'host' => '@',
|
32
32
|
'type' => 'a'
|
33
33
|
}
|
34
34
|
@domain.create_record(record)
|
35
35
|
```
|
36
36
|
|
37
|
-
|
37
|
+
##### Read Operations
|
38
38
|
|
39
39
|
* List all domains
|
40
40
|
|
@@ -61,8 +61,21 @@ These examples all assume you have `~/.fog` which contains the following
|
|
61
61
|
@domain = @sl.domains.get(123456)
|
62
62
|
@domain.records
|
63
63
|
```
|
64
|
+
|
65
|
+
* Get specific record by id
|
64
66
|
|
65
|
-
|
67
|
+
```ruby
|
68
|
+
@domain = @sl.domains.get(123456)
|
69
|
+
@domain.records.get(456789012)
|
70
|
+
```
|
71
|
+
|
72
|
+
or using the service:
|
73
|
+
|
74
|
+
```ruby
|
75
|
+
@sl.records.get(456789012)
|
76
|
+
```
|
77
|
+
|
78
|
+
##### Update Operations
|
66
79
|
|
67
80
|
After this point we consider you have a Fog::DNS::Softlayer::Domain on @domain variable
|
68
81
|
|
@@ -74,7 +87,7 @@ After this point we consider you have a Fog::DNS::Softlayer::Domain on @domain v
|
|
74
87
|
@domain.records[3].save
|
75
88
|
```
|
76
89
|
|
77
|
-
|
90
|
+
##### Destroy Operations
|
78
91
|
|
79
92
|
After this point we consider you have a Fog::DNS::Softlayer::Domain on @domain variable
|
80
93
|
|
@@ -90,4 +103,4 @@ After this point we consider you have a Fog::DNS::Softlayer::Domain on @domain v
|
|
90
103
|
```ruby
|
91
104
|
@domain = @sl.domains.get(123456)
|
92
105
|
@domain.records.last.destroy
|
93
|
-
```
|
106
|
+
```
|
data/lib/fog/softlayer/dns.rb
CHANGED
@@ -26,6 +26,7 @@ module Fog
|
|
26
26
|
attribute :os_code, :aliases => 'operatingSystemReferenceCode'
|
27
27
|
attribute :image_id, :type => :squash
|
28
28
|
attribute :ephemeral_storage, :aliases => 'localDiskFlag'
|
29
|
+
attribute :os, :aliases => 'operatingSystem'
|
29
30
|
|
30
31
|
# Times
|
31
32
|
attribute :created_at, :aliases => ['createDate', 'provisionDate'], :type => :time
|
@@ -73,6 +74,10 @@ module Fog
|
|
73
74
|
attributes[:image_id][:globalIdentifier] unless attributes[:image_id].nil?
|
74
75
|
end
|
75
76
|
|
77
|
+
def ssh_password
|
78
|
+
self.os['passwords'][0]['password'] if self.id
|
79
|
+
end
|
80
|
+
|
76
81
|
def ram=(set)
|
77
82
|
if set.is_a?(Array) and set.first['hardwareComponentModel']
|
78
83
|
set = 1024 * set.first['hardwareComponentModel']['capacity'].to_i
|
@@ -21,9 +21,17 @@ module Fog
|
|
21
21
|
data = service.get_records(domain.id).body
|
22
22
|
load(data)
|
23
23
|
end
|
24
|
+
|
25
|
+
def get(identifier)
|
26
|
+
return nil if identifier.nil? || identifier == ""
|
27
|
+
response = service.get_record(identifier)
|
28
|
+
data = response.body
|
29
|
+
new.merge_attributes(data)
|
30
|
+
rescue Excon::Errors::NotFound
|
31
|
+
nil
|
32
|
+
end
|
24
33
|
|
25
34
|
def new(attributes = {})
|
26
|
-
requires :domain
|
27
35
|
super({ :domain => domain }.merge!(attributes))
|
28
36
|
end
|
29
37
|
end
|
@@ -20,7 +20,7 @@ module Fog
|
|
20
20
|
|
21
21
|
class Real
|
22
22
|
def get_bare_metal_server(identifier)
|
23
|
-
request(:hardware_server, identifier, :expected => [200, 404], :query => 'objectMask=mask[memory,provisionDate,processorCoreAmount,hardDrives,datacenter,hourlyBillingFlag]')
|
23
|
+
request(:hardware_server, identifier, :expected => [200, 404], :query => 'objectMask=mask[memory,provisionDate,processorCoreAmount,hardDrives,datacenter,hourlyBillingFlag,operatingSystem.passwords.password]')
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
@@ -20,7 +20,7 @@ module Fog
|
|
20
20
|
|
21
21
|
class Real
|
22
22
|
def get_vm(identifier)
|
23
|
-
request(:virtual_guest, identifier, :expected => [200, 404], :query => 'objectMask=mask[blockDevices,blockDeviceTemplateGroup.globalIdentifier]')
|
23
|
+
request(:virtual_guest, identifier, :expected => [200, 404], :query => 'objectMask=mask[blockDevices,blockDeviceTemplateGroup.globalIdentifier,operatingSystem.passwords.password]')
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Celso Fernandes (<fernandes@zertico.com>)
|
3
|
+
# © Copyright IBM Corporation 2014.
|
4
|
+
#
|
5
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
6
|
+
#
|
7
|
+
module Fog
|
8
|
+
module DNS
|
9
|
+
class Softlayer
|
10
|
+
|
11
|
+
class Mock
|
12
|
+
def get_record(id)
|
13
|
+
# Get the record
|
14
|
+
@softlayer_domains.each do |domain|
|
15
|
+
domain[:resourceRecords].each do |record|
|
16
|
+
if record["id"].to_i == id.to_i
|
17
|
+
response = Excon::Response.new
|
18
|
+
response.body = record
|
19
|
+
response.status = 200
|
20
|
+
return response
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
raise Excon::Errors::NotFound
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
class Real
|
31
|
+
def get_record(id)
|
32
|
+
request(:dns_domain_resourceRecord, id)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -22,7 +22,7 @@ Shindo.tests("Fog::DNS[:softlayer] | Record model", ["softlayer"]) do
|
|
22
22
|
'type' => 'a'
|
23
23
|
}
|
24
24
|
current_serial = @domain.serial
|
25
|
-
@domain.create_record(record)
|
25
|
+
@record = @domain.create_record(record)
|
26
26
|
@domain.reload
|
27
27
|
@domain.records(true)
|
28
28
|
returns(4, "returns default plus one created, total 4 records") { @domain.records.count }
|
@@ -38,6 +38,18 @@ Shindo.tests("Fog::DNS[:softlayer] | Record model", ["softlayer"]) do
|
|
38
38
|
returns(true, "returns serial increased") { (current_serial + 1) <= @domain.serial }
|
39
39
|
end
|
40
40
|
|
41
|
+
tests("#get") do
|
42
|
+
@record_get = @service.records.get(@record.id)
|
43
|
+
returns(Fog::DNS::Softlayer::Record) { @record_get.class }
|
44
|
+
|
45
|
+
tests("after updating the record") do
|
46
|
+
@record_get.value = "192.168.10.1"
|
47
|
+
@record_get.save
|
48
|
+
@record_get.reload
|
49
|
+
returns("192.168.10.1", "returns right value") { @record_get.value }
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
41
53
|
tests("#destroy") do
|
42
54
|
current_serial = @domain.serial
|
43
55
|
@domain.records.last.destroy
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-softlayer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Eldridge
|
@@ -274,6 +274,7 @@ files:
|
|
274
274
|
- lib/fog/softlayer/requests/dns/get_domain.rb
|
275
275
|
- lib/fog/softlayer/requests/dns/get_domain_by_name.rb
|
276
276
|
- lib/fog/softlayer/requests/dns/get_domains.rb
|
277
|
+
- lib/fog/softlayer/requests/dns/get_record.rb
|
277
278
|
- lib/fog/softlayer/requests/dns/get_records.rb
|
278
279
|
- lib/fog/softlayer/requests/dns/update_record.rb
|
279
280
|
- lib/fog/softlayer/requests/storage/copy_object.rb
|