cloudster 2.9.0 → 2.10.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/README.md CHANGED
@@ -45,7 +45,8 @@ Create AWS resources :
45
45
  :storage_class => '100',
46
46
  :username => 'admin',
47
47
  :password => 'admin123',
48
- :engine => 'MySQL'
48
+ :engine => 'MySQL',
49
+ :multi_az => true
49
50
  )
50
51
 
51
52
  Make a cloud :
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.9.0
1
+ 2.10.0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "cloudster"
8
- s.version = "2.9.0"
8
+ s.version = "2.10.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Emil Soman"]
12
- s.date = "2012-11-21"
12
+ s.date = "2012-11-22"
13
13
  s.description = "Cloudster is a Ruby gem that was born to cut the learning curve involved \n in writing your own CloudFormation templates. If you don't know what a CloudFormation template is, \n but know about the AWS Cloud offerings, you can still use cloudster to provision your stack. \n Still in infancy , cloudster can create a very basic stack like a breeze. All kinds of contribution welcome !"
14
14
  s.email = "emil.soman@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -14,7 +14,8 @@ module Cloudster
14
14
  # :storage_class => '100',
15
15
  # :username => 'admin',
16
16
  # :password => 'admin123',
17
- # :engine => 'MySQL'
17
+ # :engine => 'MySQL',
18
+ # :multi_az => true
18
19
  # )
19
20
  #
20
21
  # ==== Parameters
@@ -27,18 +28,21 @@ module Cloudster
27
28
  # * :password: String containing the master password for the DB instance. Default: 'root'
28
29
  # * :engine: String containing the name of the database engine to be used for this DB instance. Default: 'MySQL'
29
30
  # Valid values : MySQL | oracle-se1 | oracle-se | oracle-ee | sqlserver-ee | sqlserver-se | sqlserver-ex | sqlserver-web
31
+ # * :multi_az: Boolean to maintain a standby in a different Availability Zone for automatic failover in the event of a scheduled or unplanned outage
30
32
  def initialize(options = {})
31
33
  require_options(options, [:name, :storage_size])
32
34
  options[:username] ||= 'root'
33
35
  options[:password] ||= 'root'
34
36
  options[:engine] ||= 'MySQL'
35
37
  options[:instance_class] ||= 'db.t1.micro'
38
+ options[:multi_az] ||= false
36
39
  @name = options[:name]
37
40
  @storage_size = options[:storage_size]
38
41
  @username = options[:username]
39
42
  @password = options[:password]
40
43
  @engine = options[:engine]
41
44
  @instance_class = options[:instance_class]
45
+ @multi_az = options[:multi_az]
42
46
  end
43
47
 
44
48
  # Returns a Ruby hash version of the Cloud Formation template for the resource instance
@@ -50,14 +54,15 @@ module Cloudster
50
54
  # :storage_class => '100',
51
55
  # :username => 'admin',
52
56
  # :password => 'admin123',
53
- # :engine => 'MySQL'
57
+ # :engine => 'MySQL',
58
+ # :multi_az => true
54
59
  # )
55
60
  # rds.template
56
61
  #
57
62
  # ==== Returns
58
63
  # * Ruby hash version of the Cloud Formation template for the resource instance
59
64
  def template
60
- Rds.template({:name =>@name, :instance_class => @instance_class, :storage_size => @storage_size, :username => @username, :password => @password, :engine => @engine})
65
+ Rds.template({:name =>@name, :instance_class => @instance_class, :storage_size => @storage_size, :username => @username, :password => @password, :engine => @engine, :multi_az => @multi_az})
61
66
  end
62
67
 
63
68
  # Class method that returns a Ruby hash version of the Cloud Formation template
@@ -85,6 +90,7 @@ module Cloudster
85
90
  # * :password: String containing the master password for the DB instance. Default: 'root'
86
91
  # * :engine: String containing the name of the database engine to be used for this DB instance. Default: 'MySQL'
87
92
  # Valid values : MySQL | oracle-se1 | oracle-se | oracle-ee | sqlserver-ee | sqlserver-se | sqlserver-ex | sqlserver-web
93
+ # * :multi_az: Boolean to maintain a standby in a different Availability Zone for automatic failover in the event of a scheduled or unplanned outage
88
94
  #
89
95
  # ==== Returns
90
96
  # * Ruby hash version of the Cloud Formation template
@@ -94,6 +100,7 @@ module Cloudster
94
100
  options[:password] ||= 'root'
95
101
  options[:engine] ||= 'MySQL'
96
102
  options[:instance_class] ||= 'db.t1.micro'
103
+ options[:multi_az] ||= false
97
104
  template = {'Resources' => {
98
105
  options[:name] => {
99
106
  "Type" => "AWS::RDS::DBInstance",
@@ -102,7 +109,8 @@ module Cloudster
102
109
  "MasterUsername" => options[:username],
103
110
  "MasterUserPassword" => options[:password],
104
111
  "DBInstanceClass" => options[:instance_class],
105
- "AllocatedStorage" => options[:storage_size]
112
+ "AllocatedStorage" => options[:storage_size],
113
+ "MultiAZ" => options[:multi_az]
106
114
  }
107
115
  }
108
116
  }
@@ -39,7 +39,8 @@ describe Cloudster::Cloud do
39
39
  "MasterUsername" => 'root',
40
40
  "MasterUserPassword" => 'root',
41
41
  "DBInstanceClass" => 'db.t1.micro',
42
- "AllocatedStorage" => '10'
42
+ "AllocatedStorage" => '10',
43
+ "MultiAZ" => false
43
44
  }
44
45
  },
45
46
  "ELB" => {
@@ -11,7 +11,7 @@ describe Cloudster::Rds do
11
11
  end
12
12
  describe '#template' do
13
13
  it "should return a ruby hash for the resource cloudformation template" do
14
- rds = Cloudster::Rds.new(:name => 'MySqlDB', :storage_size => '10')
14
+ rds = Cloudster::Rds.new(:name => 'MySqlDB', :storage_size => '10', :multi_az => true)
15
15
  template = {'Resources' => {
16
16
  'MySqlDB' => {
17
17
  "Type" => "AWS::RDS::DBInstance",
@@ -20,7 +20,8 @@ describe Cloudster::Rds do
20
20
  "MasterUsername" => 'root',
21
21
  "MasterUserPassword" => 'root',
22
22
  "DBInstanceClass" => 'db.t1.micro',
23
- "AllocatedStorage" => '10'
23
+ "AllocatedStorage" => '10',
24
+ "MultiAZ" => true
24
25
  }
25
26
  }
26
27
  }
@@ -42,7 +43,8 @@ describe Cloudster::Rds do
42
43
  "MasterUsername" => 'root',
43
44
  "MasterUserPassword" => 'root',
44
45
  "DBInstanceClass" => 'db.t1.micro',
45
- "AllocatedStorage" => '10'
46
+ "AllocatedStorage" => '10',
47
+ "MultiAZ" => false
46
48
  }
47
49
  }
48
50
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudster
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.0
4
+ version: 2.10.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-21 00:00:00.000000000 Z
12
+ date: 2012-11-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fog
@@ -158,7 +158,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
158
158
  version: '0'
159
159
  segments:
160
160
  - 0
161
- hash: -799207843
161
+ hash: 929236787
162
162
  required_rubygems_version: !ruby/object:Gem::Requirement
163
163
  none: false
164
164
  requirements: