mortar-api-ruby 0.7.2 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -89,6 +89,7 @@ module Mortar
89
89
  def post_job_new_cluster(project_name, script_name, git_ref, cluster_size, options={})
90
90
  cluster_type = options[:cluster_type].nil? ? Jobs::CLUSTER_TYPE__PERSISTENT : options[:cluster_type]
91
91
  notify_on_job_finish = options[:notify_on_job_finish].nil? ? true : options[:notify_on_job_finish]
92
+ use_spot_instances = options[:use_spot_instances].nil? ? false : options[:use_spot_instances]
92
93
  parameters = options[:parameters] || {}
93
94
  is_control_script = options[:is_control_script] || false
94
95
 
@@ -97,7 +98,8 @@ module Mortar
97
98
  "cluster_size" => cluster_size,
98
99
  "cluster_type" => cluster_type,
99
100
  "parameters" => parameters,
100
- "notify_on_job_finish" => notify_on_job_finish
101
+ "notify_on_job_finish" => notify_on_job_finish,
102
+ "use_spot_instances" => use_spot_instances
101
103
  }
102
104
  if is_control_script
103
105
  body["controlscript_name"] = script_name
@@ -18,7 +18,7 @@ module Mortar
18
18
  class API
19
19
  # client version
20
20
  # see http://semver.org/
21
- VERSION = "0.7.2"
21
+ VERSION = "0.7.3"
22
22
 
23
23
  SERVER_API_VERSION = "2"
24
24
  end
@@ -64,6 +64,7 @@ describe Mortar::API do
64
64
  "cluster_type" => cluster_type,
65
65
  "parameters" => {},
66
66
  "notify_on_job_finish" => true,
67
+ "use_spot_instances" => false,
67
68
  "pigscript_name" => pigscript_name
68
69
  })
69
70
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
@@ -86,6 +87,7 @@ describe Mortar::API do
86
87
  "cluster_type" => cluster_type,
87
88
  "parameters" => {},
88
89
  "notify_on_job_finish" => true,
90
+ "use_spot_instances" => false,
89
91
  "pigscript_name" => pigscript_name
90
92
  })
91
93
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
@@ -95,7 +97,7 @@ describe Mortar::API do
95
97
  response.body['job_id'].should == job_id
96
98
  end
97
99
 
98
- it "accepts notify_on_job_finish of false" do
100
+ it "accepts non-default params for notify_on_job_finish and use_spot_instances" do
99
101
  job_id = "7b93e4d3ab034188a0c2be418d3d24ed"
100
102
  project_name = "my_project"
101
103
  pigscript_name = "my_pigscript"
@@ -108,12 +110,15 @@ describe Mortar::API do
108
110
  "cluster_type" => cluster_type,
109
111
  "parameters" => {},
110
112
  "notify_on_job_finish" => false,
113
+ "use_spot_instances" => true,
111
114
  "pigscript_name" => pigscript_name,
112
115
  })
113
116
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
114
117
  {:body => Mortar::API::OkJson.encode({'job_id' => job_id}), :status => 200}
115
118
  end
116
- response = @api.post_job_new_cluster(project_name, pigscript_name, git_ref, cluster_size, :cluster_type => cluster_type, :notify_on_job_finish => false)
119
+ response = @api.post_job_new_cluster(project_name, pigscript_name, git_ref, cluster_size,
120
+ :cluster_type => cluster_type, :notify_on_job_finish => false,
121
+ :use_spot_instances => true)
117
122
  response.body['job_id'].should == job_id
118
123
  end
119
124
 
@@ -130,6 +135,7 @@ describe Mortar::API do
130
135
  "cluster_type" => cluster_type,
131
136
  "parameters" => {},
132
137
  "notify_on_job_finish" => true,
138
+ "use_spot_instances" => false,
133
139
  "pigscript_name" => pigscript_name
134
140
  })
135
141
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
@@ -152,6 +158,7 @@ describe Mortar::API do
152
158
  "cluster_type" => cluster_type,
153
159
  "parameters" => {},
154
160
  "notify_on_job_finish" => true,
161
+ "use_spot_instances" => false,
155
162
  "pigscript_name" => pigscript_name,
156
163
  })
157
164
  Excon.stub({:method => :post, :path => "/v2/jobs", :body => body}) do |params|
metadata CHANGED
@@ -1,70 +1,102 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mortar-api-ruby
3
- version: !ruby/object:Gem::Version
4
- version: 0.7.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.3
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Mortar Data
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2013-11-08 00:00:00 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+ date: 2013-11-21 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
15
  name: excon
16
- prerelease: false
17
- requirement: &id001 !ruby/object:Gem::Requirement
18
- requirements:
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
19
  - - ~>
20
- - !ruby/object:Gem::Version
21
- version: "0.28"
20
+ - !ruby/object:Gem::Version
21
+ version: '0.28'
22
22
  type: :runtime
23
- version_requirements: *id001
24
- - !ruby/object:Gem::Dependency
25
- name: gem-release
26
23
  prerelease: false
27
- requirement: &id002 !ruby/object:Gem::Requirement
28
- requirements:
29
- - &id003
30
- - ">="
31
- - !ruby/object:Gem::Version
32
- version: "0"
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '0.28'
30
+ - !ruby/object:Gem::Dependency
31
+ name: gem-release
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
33
38
  type: :development
34
- version_requirements: *id002
35
- - !ruby/object:Gem::Dependency
36
- name: rake
37
39
  prerelease: false
38
- requirement: &id004 !ruby/object:Gem::Requirement
39
- requirements:
40
- - *id003
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
41
54
  type: :development
42
- version_requirements: *id004
43
- - !ruby/object:Gem::Dependency
44
- name: rr
45
55
  prerelease: false
46
- requirement: &id005 !ruby/object:Gem::Requirement
47
- requirements:
48
- - *id003
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rr
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
49
70
  type: :development
50
- version_requirements: *id005
51
- - !ruby/object:Gem::Dependency
52
- name: rspec
53
71
  prerelease: false
54
- requirement: &id006 !ruby/object:Gem::Requirement
55
- requirements:
56
- - *id003
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: rspec
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
57
86
  type: :development
58
- version_requirements: *id006
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
59
94
  description: Client for Mortar API.
60
95
  email: support@mortardata.com
61
96
  executables: []
62
-
63
97
  extensions: []
64
-
65
98
  extra_rdoc_files: []
66
-
67
- files:
99
+ files:
68
100
  - .gitignore
69
101
  - .rvmrc
70
102
  - .travis.yml
@@ -109,30 +141,29 @@ files:
109
141
  - spec/spec_helper.rb
110
142
  homepage: http://mortardata.com/
111
143
  licenses: []
112
-
113
- metadata: {}
114
-
115
144
  post_install_message:
116
145
  rdoc_options: []
117
-
118
- require_paths:
146
+ require_paths:
119
147
  - lib
120
- required_ruby_version: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
148
+ required_ruby_version: !ruby/object:Gem::Requirement
149
+ none: false
150
+ requirements:
151
+ - - ! '>='
152
+ - !ruby/object:Gem::Version
124
153
  version: 1.8.7
125
- required_rubygems_version: !ruby/object:Gem::Requirement
126
- requirements:
127
- - *id003
154
+ required_rubygems_version: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
128
160
  requirements: []
129
-
130
161
  rubyforge_project:
131
- rubygems_version: 2.0.9
162
+ rubygems_version: 1.8.23
132
163
  signing_key:
133
- specification_version: 4
164
+ specification_version: 3
134
165
  summary: Client for Mortar API
135
- test_files:
166
+ test_files:
136
167
  - spec/mortar/api/basicauth_spec.rb
137
168
  - spec/mortar/api/clusters_spec.rb
138
169
  - spec/mortar/api/config_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA512:
3
- metadata.gz: 4525ef704b578ddd8edd6de533ef486e0100383248d5b5e6f55ca4854e2a091b57a787dd97953d52730550c17341d030dd539d11c0b34b9db9d981c4db53243b
4
- data.tar.gz: d30f1cfe5a4e200d2861e42090c7a7859f5b1dbe9df17092e87fb2e18dea6cde1612ade120a59a3bad3f903781682b9931ac3d86c299cf0537815247d9b7f393
5
- SHA1:
6
- metadata.gz: f38e4d28d14224f510e03d7f97fbd309c6bace2b
7
- data.tar.gz: 980083455d0b6ab69e8244e9d87e23fea6dd299c