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 CHANGED
@@ -13,6 +13,9 @@ tmtags
13
13
  ## VIM
14
14
  *.swp
15
15
 
16
+ ## Bundler
17
+ .bundle
18
+
16
19
  ## PROJECT::GENERAL
17
20
  coverage
18
21
  rdoc
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://gemcutter.org"
2
+ gem "activesupport", "2.3.4"
3
+ gem "ruby-hmac"
@@ -0,0 +1,12 @@
1
+ GEM
2
+ remote: http://gemcutter.org/
3
+ specs:
4
+ activesupport (2.3.4)
5
+ ruby-hmac (0.4.0)
6
+
7
+ PLATFORMS
8
+ ruby
9
+
10
+ DEPENDENCIES
11
+ activesupport (= 2.3.4)
12
+ ruby-hmac
@@ -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
- == Installing Scalr
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
- $ gem install gemcutter
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.1
1
+ 0.2.0
@@ -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 = "2009-08-14"
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
@@ -11,57 +11,66 @@ module Scalr
11
11
  class InvalidInputError < ScalrError; end
12
12
 
13
13
  ACTIONS = {
14
- :add_dns_zone_record => {:name => 'AddDNSZoneRecord', :inputs => {:domain_name => true, :type => true, :ttl => true, :key => true, :value => true, :priority => false, :weight => false, :port => false}},
15
- :execute_script => {:name => 'ExecuteScript', :inputs => {:farm_role_id => false, :instance_id => false, :farm_id => true, :script_id => true, :timeout => true, :async => true, :revision => false, :config_variables => false}},
16
- :get_events => {:name => 'GetEvents', :inputs => {:farm_id => true, :start_from => false, :records_limit => false}},
17
- :get_farm_details => {:name => 'GetFarmDetails', :inputs => {:farm_id => true}},
18
- :get_farm_stats => {:name => 'GetFarmStats', :inputs => {:farm_id => true, :date => false}},
19
- :get_logs => {:name => 'GetLogs', :inputs => {:farm_id => true, :instance_id => true, :start_from => false, :records_limit => false}},
20
- :get_script_details => {:name => 'GetScriptDetails', :inputs => {:script_id => true}},
21
- :launch_farm => {:name => 'LaunchFarm', :inputs => {:farm_id => true}},
22
- :launch_instance => {:name => 'LaunchInstance', :inputs => {:farm_role_id => true}},
23
- :list_applications => {:name => 'ListApplications', :inputs => {}},
24
- :list_dns_zone_records => {:name => 'ListDNSZoneRecords', :inputs => {:domain_name => true}},
25
- :list_dns_zones => {:name => 'ListDNSZones', :inputs => {}},
26
- :list_farms => {:name => 'ListFarms', :inputs => {}},
27
- :list_roles => {:name => 'ListRoles', :inputs => {:region => true, :name => false, :prefix => false, :ami_id => false}},
28
- :list_scripts => {:name => 'ListScripts', :inputs => {}},
29
- :reboot_instance => {:name => 'RebootInstance', :inputs => {:farm_id => true, :instance_id => true}},
30
- :remove_dns_zone_record => {:name => 'RemoveDNSZoneRecord', :inputs => {:domain_name => true, :record_id => true}},
31
- :terminate_farm => {:name => 'TerminateFarm', :inputs => {:farm_id => true, :keep_ebs => true, :keep_eip => true, :keep_dns_zone => true}},
32
- :terminate_instance => {:name => 'TerminateInstance', :inputs => {:farm_id => true, :instance_id => true, :keep_eip => true, :decrease_min_instances_setting => false}}
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
- :revision => 'Revision',
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
- :region => 'Region',
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
- :ami_id => 'AmiID',
59
+ :priority => 'Priority',
60
60
  :record_id => 'RecordID',
61
- :keep_ebs => 'KeepEBS',
62
- :keep_eip => 'KeepEIP',
63
- :keep_dns_zone => 'KeepDNSZone',
64
- :decrease_min_instances_setting => 'DecreaseMinInstancesSetting'
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
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{scalr}
8
- s.version = "0.1.1"
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-02-07}
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.5}
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::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
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
- version: 0.1.1
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-02-07 00:00:00 -05:00
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
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
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
- version:
33
+ type: :development
34
+ version_requirements: *id001
25
35
  - !ruby/object:Gem::Dependency
26
36
  name: activesupport
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
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
- version:
47
+ type: :runtime
48
+ version_requirements: *id002
35
49
  - !ruby/object:Gem::Dependency
36
50
  name: ruby-hmac
37
- type: :runtime
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
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
- version:
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.5
121
+ rubygems_version: 1.3.7
94
122
  signing_key:
95
123
  specification_version: 3
96
124
  summary: A Scalr API wrapper gem