fog-softlayer 0.0.9 → 0.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 +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
|