scalr 0.1.1 → 0.2.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.
- data/.gitignore +3 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +12 -0
- data/README.rdoc +2 -7
- data/VERSION +1 -1
- data/lib/scalr.rb +4 -2
- data/lib/scalr/request.rb +50 -41
- data/scalr.gemspec +6 -4
- metadata +45 -17
data/.gitignore
CHANGED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
data/README.rdoc
CHANGED
@@ -2,14 +2,9 @@
|
|
2
2
|
|
3
3
|
Scalr is a cloud infrastructure management provider. This gem is for interfacing with the Scalr.net API to obtain information about your instances and farms.
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
First, if you haven't already:
|
5
|
+
As of version 0.2.0 the Scalr gem has been updated to use the Scalr 2.0 API (thanks to threetee).
|
8
6
|
|
9
|
-
|
10
|
-
$ gem tumble
|
11
|
-
|
12
|
-
Then
|
7
|
+
== Installing Scalr
|
13
8
|
|
14
9
|
$ gem install scalr
|
15
10
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/lib/scalr.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
Bundler.setup
|
2
4
|
require 'active_support'
|
3
5
|
|
4
6
|
require File.dirname(__FILE__) + '/scalr/response'
|
@@ -18,7 +20,7 @@ module Scalr
|
|
18
20
|
@@access_key = nil
|
19
21
|
|
20
22
|
mattr_accessor :version
|
21
|
-
@@version = "
|
23
|
+
@@version = "2.0.0"
|
22
24
|
|
23
25
|
class << self
|
24
26
|
|
@@ -39,4 +41,4 @@ module Scalr
|
|
39
41
|
|
40
42
|
end
|
41
43
|
|
42
|
-
end
|
44
|
+
end
|
data/lib/scalr/request.rb
CHANGED
@@ -11,57 +11,66 @@ module Scalr
|
|
11
11
|
class InvalidInputError < ScalrError; end
|
12
12
|
|
13
13
|
ACTIONS = {
|
14
|
-
:
|
15
|
-
:
|
16
|
-
:
|
17
|
-
:
|
18
|
-
:
|
19
|
-
:
|
20
|
-
:
|
21
|
-
:
|
22
|
-
:
|
23
|
-
:
|
24
|
-
:
|
25
|
-
:
|
26
|
-
:
|
27
|
-
:
|
28
|
-
:
|
29
|
-
:
|
30
|
-
:
|
31
|
-
:
|
32
|
-
:
|
14
|
+
:bundle_task_get_status => {:name => 'BundleTaskGetStatus', :inputs => {:bundle_task_id => true}},
|
15
|
+
:dns_zone_create => {:name => 'DNSZoneCreate', :inputs => {:domain_name => true, :farm_id => false, :farm_role_id => false}},
|
16
|
+
:dns_zone_record_add => {:name => 'DNSZoneRecordAdd', :inputs => {:zone_name => true, :type => true, :ttl => true, :name => true, :value => true, :priority => false, :weight => false, :port => false}},
|
17
|
+
:dns_zone_record_remove => {:name => 'DNSZoneRecordRemove', :inputs => {:zone_name => true, :record_id => true}},
|
18
|
+
:dns_zone_records_list => {:name => 'DNSZoneRecordsList', :inputs => {:zone_name => true}},
|
19
|
+
:dns_zones_list => {:name => 'DNSZonesList', :inputs => {}},
|
20
|
+
:events_list => {:name => 'EventsList', :inputs => {:farm_id => true, :start_from => false, :records_limit => false}},
|
21
|
+
:farm_get_details => {:name => 'FarmGetDetails', :inputs => {:farm_id => true}},
|
22
|
+
:farm_get_stats => {:name => 'FarmGetStats', :inputs => {:farm_id => true, :date => false}},
|
23
|
+
:farms_list => {:name => 'FarmsList', :inputs => {}},
|
24
|
+
:farm_terminate => {:name => 'FarmTerminate', :inputs => {:farm_id => true, :keep_ebs => true, :keep_eip => false, :keep_dns_zone => false}},
|
25
|
+
:farm_launch => {:name => 'FarmLaunch', :inputs => {:farm_id => true}},
|
26
|
+
:logs_list => {:name => 'LogsList', :inputs => {:farm_id => true, :server_id => true, :start_from => false, :records_limit => false}},
|
27
|
+
:roles_list => {:name => 'RolesList', :inputs => {:platform => false, :name => false, :prefix => false, :image_id => false}},
|
28
|
+
:script_execute => {:name => 'ScriptExecute', :inputs => {:farm_role_id => false, :server_id => false, :farm_id => true, :script_id => true, :timeout => true, :async => true, :revision => false, :config_variables => false}},
|
29
|
+
:script_get_details => {:name => 'ScriptGetDetails', :inputs => {:script_id => true}},
|
30
|
+
:scripts_list => {:name => 'ScriptsList', :inputs => {}},
|
31
|
+
:server_image_create => {:name => 'ServerImageCreate', :inputs => {:server_id => true, :role_name => true}},
|
32
|
+
:server_launch => {:name => 'ServerLaunch', :inputs => {:farm_role_id => true}},
|
33
|
+
:server_reboot => {:name => 'ServerReboot', :inputs => {:server_id => true}},
|
34
|
+
:server_terminate => {:name => 'ServerTerminate', :inputs => {:server_id => true, :decrease_min_instances_setting => false}},
|
35
|
+
:statistics_get_graph_url => {:name => 'StatisticsGetGraphURL', :inputs => {:object_type => true, :object_id => true, :watcher_name => true, :graph_type => true}}
|
33
36
|
}
|
34
37
|
|
35
38
|
INPUTS = {
|
36
|
-
:domain_name => 'DomainName',
|
37
|
-
:type => 'Type',
|
38
|
-
:ttl => 'TTL',
|
39
|
-
:key => 'Key',
|
40
|
-
:value => 'Value',
|
41
|
-
:priority => 'Priority',
|
42
|
-
:weight => 'Weight',
|
43
|
-
:port => 'Port',
|
44
|
-
:farm_role_id => 'FarmRoleID',
|
45
|
-
:instance_id => 'InstanceID',
|
46
|
-
:farm_id => 'FarmID',
|
47
|
-
:script_id => 'ScriptID',
|
48
|
-
:timeout => 'Timeout',
|
49
39
|
:async => 'Async',
|
50
|
-
:
|
40
|
+
:bundle_task_id => 'BundleTaskID',
|
51
41
|
:config_variables => 'ConfigVariables',
|
52
|
-
:start_from => 'StartFrom',
|
53
|
-
:records_limit => 'RecordsLimit',
|
54
42
|
:date => 'Date',
|
43
|
+
:decrease_min_instances_setting => 'DecreaseMinInstancesSetting',
|
55
44
|
:domain_name => 'DomainName',
|
56
|
-
:
|
45
|
+
:farm_id => 'FarmID',
|
46
|
+
:farm_role_id => 'FarmRoleID',
|
47
|
+
:graph_type => 'GraphType',
|
48
|
+
:image_id => 'ImageID',
|
49
|
+
:keep_dns_zone => 'KeepDNSZone',
|
50
|
+
:keep_ebs => 'KeepEBS',
|
51
|
+
:keep_eip => 'KeepEIP',
|
52
|
+
:key => 'Key',
|
57
53
|
:name => 'Name',
|
54
|
+
:object_id => 'ObjectID',
|
55
|
+
:object_type => 'ObjectType',
|
56
|
+
:platform => 'Platform',
|
57
|
+
:port => 'Port',
|
58
58
|
:prefix => 'Prefix',
|
59
|
-
:
|
59
|
+
:priority => 'Priority',
|
60
60
|
:record_id => 'RecordID',
|
61
|
-
:
|
62
|
-
:
|
63
|
-
:
|
64
|
-
:
|
61
|
+
:records_limit => 'RecordsLimit',
|
62
|
+
:revision => 'Revision',
|
63
|
+
:role_name => 'RoleName',
|
64
|
+
:script_id => 'ScriptID',
|
65
|
+
:server_id => 'ServerID',
|
66
|
+
:start_from => 'StartFrom',
|
67
|
+
:timeout => 'Timeout',
|
68
|
+
:ttl => 'TTL',
|
69
|
+
:type => 'Type',
|
70
|
+
:value => 'Value',
|
71
|
+
:watcher_name => 'WatcherName',
|
72
|
+
:weight => 'Weight',
|
73
|
+
:zone_name => 'ZoneName'
|
65
74
|
}
|
66
75
|
|
67
76
|
attr_accessor :inputs, :endpoint, :access_key, :signature
|
data/scalr.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{scalr}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Matt Hodgson"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-10-12}
|
13
13
|
s.description = %q{Scalr is a cloud infrastructure management provider. This gem is for interfacing with the Scalr.net API to obtain information about your instances and farms.}
|
14
14
|
s.email = %q{mhodgson@youcastr.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -19,6 +19,8 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
21
|
".gitignore",
|
22
|
+
"Gemfile",
|
23
|
+
"Gemfile.lock",
|
22
24
|
"LICENSE",
|
23
25
|
"README.rdoc",
|
24
26
|
"Rakefile",
|
@@ -35,7 +37,7 @@ Gem::Specification.new do |s|
|
|
35
37
|
s.homepage = %q{http://github.com/mhodgson/scalr}
|
36
38
|
s.rdoc_options = ["--charset=UTF-8"]
|
37
39
|
s.require_paths = ["lib"]
|
38
|
-
s.rubygems_version = %q{1.3.
|
40
|
+
s.rubygems_version = %q{1.3.7}
|
39
41
|
s.summary = %q{A Scalr API wrapper gem}
|
40
42
|
s.test_files = [
|
41
43
|
"test/helper.rb",
|
@@ -46,7 +48,7 @@ Gem::Specification.new do |s|
|
|
46
48
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
47
49
|
s.specification_version = 3
|
48
50
|
|
49
|
-
if Gem::Version.new(Gem::
|
51
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
50
52
|
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
51
53
|
s.add_runtime_dependency(%q<activesupport>, [">= 0"])
|
52
54
|
s.add_runtime_dependency(%q<ruby-hmac>, [">= 0.4.0"])
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scalr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 23
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Matt Hodgson
|
@@ -9,39 +15,53 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date: 2010-
|
18
|
+
date: 2010-10-12 00:00:00 -04:00
|
13
19
|
default_executable:
|
14
20
|
dependencies:
|
15
21
|
- !ruby/object:Gem::Dependency
|
16
22
|
name: thoughtbot-shoulda
|
17
|
-
|
18
|
-
|
19
|
-
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
20
26
|
requirements:
|
21
27
|
- - ">="
|
22
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
23
32
|
version: "0"
|
24
|
-
|
33
|
+
type: :development
|
34
|
+
version_requirements: *id001
|
25
35
|
- !ruby/object:Gem::Dependency
|
26
36
|
name: activesupport
|
27
|
-
|
28
|
-
|
29
|
-
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
30
40
|
requirements:
|
31
41
|
- - ">="
|
32
42
|
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
33
46
|
version: "0"
|
34
|
-
|
47
|
+
type: :runtime
|
48
|
+
version_requirements: *id002
|
35
49
|
- !ruby/object:Gem::Dependency
|
36
50
|
name: ruby-hmac
|
37
|
-
|
38
|
-
|
39
|
-
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
40
54
|
requirements:
|
41
55
|
- - ">="
|
42
56
|
- !ruby/object:Gem::Version
|
57
|
+
hash: 15
|
58
|
+
segments:
|
59
|
+
- 0
|
60
|
+
- 4
|
61
|
+
- 0
|
43
62
|
version: 0.4.0
|
44
|
-
|
63
|
+
type: :runtime
|
64
|
+
version_requirements: *id003
|
45
65
|
description: Scalr is a cloud infrastructure management provider. This gem is for interfacing with the Scalr.net API to obtain information about your instances and farms.
|
46
66
|
email: mhodgson@youcastr.com
|
47
67
|
executables: []
|
@@ -54,6 +74,8 @@ extra_rdoc_files:
|
|
54
74
|
files:
|
55
75
|
- .document
|
56
76
|
- .gitignore
|
77
|
+
- Gemfile
|
78
|
+
- Gemfile.lock
|
57
79
|
- LICENSE
|
58
80
|
- README.rdoc
|
59
81
|
- Rakefile
|
@@ -76,21 +98,27 @@ rdoc_options:
|
|
76
98
|
require_paths:
|
77
99
|
- lib
|
78
100
|
required_ruby_version: !ruby/object:Gem::Requirement
|
101
|
+
none: false
|
79
102
|
requirements:
|
80
103
|
- - ">="
|
81
104
|
- !ruby/object:Gem::Version
|
105
|
+
hash: 3
|
106
|
+
segments:
|
107
|
+
- 0
|
82
108
|
version: "0"
|
83
|
-
version:
|
84
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
|
+
none: false
|
85
111
|
requirements:
|
86
112
|
- - ">="
|
87
113
|
- !ruby/object:Gem::Version
|
114
|
+
hash: 3
|
115
|
+
segments:
|
116
|
+
- 0
|
88
117
|
version: "0"
|
89
|
-
version:
|
90
118
|
requirements: []
|
91
119
|
|
92
120
|
rubyforge_project:
|
93
|
-
rubygems_version: 1.3.
|
121
|
+
rubygems_version: 1.3.7
|
94
122
|
signing_key:
|
95
123
|
specification_version: 3
|
96
124
|
summary: A Scalr API wrapper gem
|