bako 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 +7 -0
- data/.gitignore +12 -0
- data/.rspec +2 -0
- data/.travis.yml +13 -0
- data/Gemfile +4 -0
- data/README.md +36 -0
- data/Rakefile +6 -0
- data/bako.gemspec +30 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/example/hello/hello.rb +32 -0
- data/exe/bako +17 -0
- data/lib/bako.rb +17 -0
- data/lib/bako/cli.rb +14 -0
- data/lib/bako/cli/run.rb +38 -0
- data/lib/bako/common_helper.rb +37 -0
- data/lib/bako/compute_environment.rb +3 -0
- data/lib/bako/dsl.rb +8 -0
- data/lib/bako/dsl/context.rb +38 -0
- data/lib/bako/dsl/context/job.rb +53 -0
- data/lib/bako/dsl/context/job_definition.rb +39 -0
- data/lib/bako/error.rb +4 -0
- data/lib/bako/models/job.rb +57 -0
- data/lib/bako/models/job_definition.rb +57 -0
- data/lib/bako/version.rb +3 -0
- metadata +152 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e72cd255a4ab160b87b7f384d827c3e57df305e6
|
4
|
+
data.tar.gz: ccd782ee6f831fffa2dac9283ad4f76b066da12a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: eee8684dbc45c6de12a22efe4dacad56ee875c07c597598276cdefbcac6c805eed508b080b87c3e09efc2513155d764e9c13cff5387dcf06648f7e98e4b7f7c8
|
7
|
+
data.tar.gz: 15e61930ed78e3b3d444c69857729a77a5feb5901561529a696d0842094611772afe1ee7d5aacd72f10725ca6fef872b9213b2a06db542bad705e6dca3068d7c
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
sudo: false
|
2
|
+
language: ruby
|
3
|
+
rvm:
|
4
|
+
- 2.3.3
|
5
|
+
before_install: gem install bundler -v 1.14.6
|
6
|
+
deploy:
|
7
|
+
provider: rubygems
|
8
|
+
api_key:
|
9
|
+
secure: bVmhqQi0lR5UjoAPJsnhZPFcBYggOmQIlVZLV515US0qEwP7lDdOLY9arWLOubfd0Kr7UXp15a2JS5IiSMw9TcAKIiAeTAm9sbtha2R0qaPGJTnmE4pkn07aef3u/zg6zXdT8kj52142sket+fp//mJgKGPrlN41Tx+3xBC5+tZWQFOciUTKSz4+rpY9xgI6RECp+P5TLoopowCPvZpC3z4N5XVzzlvL+JMVnBEEc6+qXRNieasrwxzhOkY7qTj3x/tSDMjMnv+CMDUZrxVrwARZv1MJRL1alN/pCTsQr6e6iL7iBfvLL2Iy02GX1gRCi61MCJltjdPhQWm7mjV8+G4AwGVkrkJwMD5yBgt9g79lahLv9v0KIf8sxK7cMg0jYKW+apl8/hctZnkI9dy8eSw500F2obCg/iEznz3+t16NiMoBtD8Dk7Etg6DSnuiPzCGlRAq5zDIx5YRzl+1NyAmnGSgcmQkF82dKEkOyKUVLqWGJ9J+O0sFMnAOk0Lw5TaYjd2+1CzuXPmXnN+wgRxnCQKtZdVZ77PhL+NXihcvRHew8nkW0DRLe7k2qI1AQzQrSk0v13LE4mlm8ZhcOTDxbFqGn9+p7HmzWZX3dbxBb3dsuBUbhf1JBBvcbiar1CUf59LUzlJ8xADOOqbbb4uo4Z/TGb1y5UAXYSRuMpnQ=
|
10
|
+
gem: bako
|
11
|
+
on:
|
12
|
+
tags: true
|
13
|
+
repo: ayemos/bako
|
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# Bako
|
2
|
+
|
3
|
+
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/bako`. To experiment with that code, run `bin/console` for an interactive prompt.
|
4
|
+
|
5
|
+
TODO: Delete this and the text above, and describe your gem
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
Add this line to your application's Gemfile:
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
gem 'bako'
|
13
|
+
```
|
14
|
+
|
15
|
+
And then execute:
|
16
|
+
|
17
|
+
$ bundle
|
18
|
+
|
19
|
+
Or install it yourself as:
|
20
|
+
|
21
|
+
$ gem install bako
|
22
|
+
|
23
|
+
## Usage
|
24
|
+
|
25
|
+
TODO: Write usage instructions here
|
26
|
+
|
27
|
+
## Development
|
28
|
+
|
29
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
30
|
+
|
31
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
32
|
+
|
33
|
+
## Contributing
|
34
|
+
|
35
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/bako.
|
36
|
+
|
data/Rakefile
ADDED
data/bako.gemspec
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'bako/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "bako"
|
8
|
+
spec.version = Bako::VERSION
|
9
|
+
spec.authors = ["Yuichiro Someya"]
|
10
|
+
spec.email = ["ayemos.y@gmail.com"]
|
11
|
+
|
12
|
+
spec.summary = %q{AWS Batch DSL and a set of cli tool.}
|
13
|
+
spec.description = %q{AWS Batch DSL and a set of cli tool.}
|
14
|
+
spec.homepage = "https://github.com/ayemos/bako"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
17
|
+
f.match(%r{^(test|spec|features)/})
|
18
|
+
end
|
19
|
+
spec.bindir = "exe"
|
20
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
|
+
spec.require_paths = ["lib"]
|
22
|
+
|
23
|
+
spec.add_development_dependency "bundler", "~> 1.14"
|
24
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
25
|
+
spec.add_development_dependency "rspec", "~> 3.0"
|
26
|
+
spec.add_development_dependency "awesome_print"
|
27
|
+
|
28
|
+
spec.add_dependency "aws-sdk", "~> 2"
|
29
|
+
spec.add_dependency "thor", "~> 0.19"
|
30
|
+
end
|
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "bako"
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require "irb"
|
14
|
+
IRB.start(__FILE__)
|
data/bin/setup
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
preproc_jd = job_definition 'preproc-inception' do
|
2
|
+
command ['sleep', '10']
|
3
|
+
type 'container'
|
4
|
+
image 'busybox'
|
5
|
+
end
|
6
|
+
|
7
|
+
preproc_jobs = []
|
8
|
+
|
9
|
+
[*1..2].each do |i|
|
10
|
+
preproc_job = job "preproc-inception-#{i}" do
|
11
|
+
job_definition preproc_jd
|
12
|
+
|
13
|
+
param({
|
14
|
+
foo: 'bar'
|
15
|
+
})
|
16
|
+
end
|
17
|
+
|
18
|
+
preproc_jobs << preproc_job
|
19
|
+
end
|
20
|
+
|
21
|
+
train_jd = job_definition 'train-inception' do
|
22
|
+
command ['python', '/tensorflow/tensorflow/examples/learn/mnist.py']
|
23
|
+
type 'container'
|
24
|
+
memory 1024
|
25
|
+
vcpus 16
|
26
|
+
image 'tensorflow/tensorflow:latest-devel'
|
27
|
+
end
|
28
|
+
|
29
|
+
job 'train-inception' do
|
30
|
+
job_definition train_jd
|
31
|
+
#depends_on preproc_jobs
|
32
|
+
end
|
data/exe/bako
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
retried = false
|
4
|
+
begin
|
5
|
+
require 'bako'
|
6
|
+
require 'bako/cli'
|
7
|
+
rescue LoadError
|
8
|
+
$:.unshift File.expand_path(File.join(__dir__, '..', 'lib'))
|
9
|
+
if retried
|
10
|
+
raise
|
11
|
+
else
|
12
|
+
retried = true
|
13
|
+
retry
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
Bako::CLI.start(ARGV)
|
data/lib/bako.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "bako/version"
|
2
|
+
require 'bako/common_helper'
|
3
|
+
|
4
|
+
module Bako
|
5
|
+
def Bako.logger
|
6
|
+
@logger ||= Logger.new(STDOUT)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
require 'bako/dsl'
|
11
|
+
require 'bako/dsl/context'
|
12
|
+
require 'bako/dsl/context/job'
|
13
|
+
require 'bako/dsl/context/job_definition'
|
14
|
+
|
15
|
+
require 'bako/models/job'
|
16
|
+
require 'bako/models/job_definition'
|
17
|
+
|
data/lib/bako/cli.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'thor'
|
2
|
+
|
3
|
+
module Bako
|
4
|
+
class CLI < Thor
|
5
|
+
class_option :verbose, aliases: '-v', type: :boolean
|
6
|
+
map '--version' => :print_version
|
7
|
+
|
8
|
+
desc 'run', 'run job'
|
9
|
+
def runjob(path)
|
10
|
+
require 'bako/cli/run'
|
11
|
+
Bako::CLI::Run.new(path, options, self).run
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/lib/bako/cli/run.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
module Bako
|
2
|
+
class CLI::Run
|
3
|
+
include Bako::CommonHelper
|
4
|
+
|
5
|
+
def initialize(path, options, thor)
|
6
|
+
@options = options
|
7
|
+
@thor = thor
|
8
|
+
@path = path
|
9
|
+
end
|
10
|
+
|
11
|
+
def run
|
12
|
+
dsl.job_definitions.each do |_, jd_context|
|
13
|
+
jd = Bako::Models::JobDefinition.from_context(jd_context)
|
14
|
+
|
15
|
+
if jd.remote_exists?
|
16
|
+
y_or_n = @thor.ask("JobDefinition #{jd.name} seems to exist on remote. would you like to update it? (y/n)")
|
17
|
+
next unless y_or_n =~ /y/i
|
18
|
+
end
|
19
|
+
|
20
|
+
jd.register
|
21
|
+
end
|
22
|
+
|
23
|
+
jobs_to_be_run.each do |job|
|
24
|
+
Bako::Models::Job.from_context(job).start
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def jobs_to_be_run
|
31
|
+
dsl.jobs.values - dsl.jobs.values.map{|j| j.depends_on_b}.flatten
|
32
|
+
end
|
33
|
+
|
34
|
+
def dsl
|
35
|
+
@dsl ||= Bako::DSL.parse(File.read(@path))
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'aws-sdk'
|
2
|
+
|
3
|
+
module Bako
|
4
|
+
module CommonHelper
|
5
|
+
DEFAULTS = {
|
6
|
+
vcpus: 1,
|
7
|
+
memory: 128
|
8
|
+
}
|
9
|
+
def batch_client
|
10
|
+
@batch_client ||= Aws::Batch::Client.new
|
11
|
+
end
|
12
|
+
def remote_resource(arn)
|
13
|
+
end
|
14
|
+
|
15
|
+
def remote_job_definition(name_or_arn, status=nil)
|
16
|
+
remote_job_definitions(status).find{|jd|
|
17
|
+
jd.name == name_or_arn || (jd.arn || jd.arn == name_or_arn)
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
def remote_job_definitions(status=nil)
|
22
|
+
batch_client.describe_job_definitions({
|
23
|
+
status: status
|
24
|
+
}).job_definitions.map do |jd|
|
25
|
+
Bako::Models::JobDefinition.new(
|
26
|
+
jd.job_definition_name,
|
27
|
+
jd.container_properties&.command,
|
28
|
+
jd.container_properties&.image,
|
29
|
+
jd.container_properties&.job_role_arn,
|
30
|
+
jd.type,
|
31
|
+
jd.container_properties&.memory,
|
32
|
+
jd.container_properties&.vcpus
|
33
|
+
)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/lib/bako/dsl.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
class Bako::DSL::Context
|
2
|
+
attr_reader :jobs, :job_definitions
|
3
|
+
|
4
|
+
def self.eval(dsl)
|
5
|
+
new do
|
6
|
+
eval(dsl)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def initialize(&block)
|
11
|
+
@jobs = {}
|
12
|
+
@job_definitions = {}
|
13
|
+
|
14
|
+
instance_eval(&block)
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def job(name, &block)
|
20
|
+
name = name.to_s
|
21
|
+
|
22
|
+
if @jobs[name]
|
23
|
+
raise "Job `#{name}` is already defined"
|
24
|
+
end
|
25
|
+
|
26
|
+
@jobs[name] = Bako::DSL::Context::Job.new(name, &block)
|
27
|
+
end
|
28
|
+
|
29
|
+
def job_definition(name, &block)
|
30
|
+
name = name.to_s
|
31
|
+
|
32
|
+
if @job_definitions[name]
|
33
|
+
raise "JobDefinition `#{name}` is already defined"
|
34
|
+
end
|
35
|
+
|
36
|
+
@job_definitions[name] = Bako::DSL::Context::JobDefinition.new(name, &block)
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Bako
|
2
|
+
class DSL::Context::Job
|
3
|
+
attr_reader :name, :param_b, :job_definition_b, :depends_on_b, :memory_b, :vcpus_b
|
4
|
+
|
5
|
+
def initialize(name, &block)
|
6
|
+
@name = name
|
7
|
+
@param_b = {}
|
8
|
+
|
9
|
+
instance_eval(&block)
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def job_definition(jd)
|
15
|
+
if jd.nil?
|
16
|
+
raise InvalidArgumentError.new('JobDefinition must be set')
|
17
|
+
end
|
18
|
+
|
19
|
+
@job_definition_b =
|
20
|
+
if jd.is_a?(Bako::DSL::Context::JobDefinition)
|
21
|
+
jd
|
22
|
+
elsif jd.is_a?(String)
|
23
|
+
remote_job_definition(jd)
|
24
|
+
else
|
25
|
+
raise InvalidArgumentError.new('JobDefinition must be String or Bako::DSL::Context::JobDefinition')
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def depends_on(jobs)
|
30
|
+
@depends_on_b = jobs&.map do |job|
|
31
|
+
if job.is_a?(Bako::DSL::Context::Job)
|
32
|
+
job
|
33
|
+
elsif job.is_a?(String)
|
34
|
+
remote_job(job)
|
35
|
+
else
|
36
|
+
raise InvalidArgumentError.new('Job must be String or Bako::DSL::Context::Job')
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def param(h)
|
42
|
+
@param_b = h
|
43
|
+
end
|
44
|
+
|
45
|
+
def memory(memory_b)
|
46
|
+
@memory_b = memory_b
|
47
|
+
end
|
48
|
+
|
49
|
+
def vcpus(vcpus_b)
|
50
|
+
@vcpus_b = vcpus_b
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
module Bako
|
3
|
+
class DSL::Context::JobDefinition
|
4
|
+
attr_reader :name, :type_b, :image_b, :command_b, :role_arn_b, :memory_b, :vcpus_b
|
5
|
+
|
6
|
+
def initialize(name, &block)
|
7
|
+
@name = name
|
8
|
+
@type_b = 'container'
|
9
|
+
|
10
|
+
instance_eval(&block)
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def type(job_type)
|
16
|
+
@type_b = job_type
|
17
|
+
end
|
18
|
+
|
19
|
+
def image(image_b)
|
20
|
+
@image_b = image_b
|
21
|
+
end
|
22
|
+
|
23
|
+
def command(command_b)
|
24
|
+
@command_b = command_b
|
25
|
+
end
|
26
|
+
|
27
|
+
def role_arn(role_arn_b)
|
28
|
+
@role_arn_b = role_arn_b
|
29
|
+
end
|
30
|
+
|
31
|
+
def memory(memory_b)
|
32
|
+
@memory_b = memory_b
|
33
|
+
end
|
34
|
+
|
35
|
+
def vcpus(vcpus_b)
|
36
|
+
@vcpus_b = vcpus_b
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/bako/error.rb
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'pathname'
|
3
|
+
|
4
|
+
module Bako
|
5
|
+
module Models
|
6
|
+
class Job
|
7
|
+
include Bako::CommonHelper
|
8
|
+
|
9
|
+
attr_reader :name, :job_definition, :depends_on, :param, :id, :memory, :vcpus
|
10
|
+
|
11
|
+
def self.from_context(context)
|
12
|
+
new(
|
13
|
+
context.name,
|
14
|
+
context.job_definition_b,
|
15
|
+
context.depends_on_b&.map{|job_context|
|
16
|
+
Bako::Models::Job.from_context(job_context)
|
17
|
+
},
|
18
|
+
context.param_b,
|
19
|
+
context.memory_b,
|
20
|
+
context.vcpus_b
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
def initialize(name, job_definition, depends_on, param, memory, vcpus)
|
25
|
+
@name = name
|
26
|
+
@job_definition = job_definition
|
27
|
+
@depends_on = depends_on
|
28
|
+
@param = param
|
29
|
+
@memory = memory
|
30
|
+
@vcpus = vcpus
|
31
|
+
end
|
32
|
+
|
33
|
+
def start
|
34
|
+
# start 'depends_on' jobs first
|
35
|
+
d_ids = []
|
36
|
+
|
37
|
+
@depends_on&.each do |job|
|
38
|
+
d_ids << job.start.job_id
|
39
|
+
end
|
40
|
+
|
41
|
+
# start job
|
42
|
+
resp = batch_client.submit_job({
|
43
|
+
job_definition: @job_definition.name,
|
44
|
+
job_name: @name,
|
45
|
+
job_queue: 'ayemos-batche-queue-002',
|
46
|
+
depends_on: @depends_on&.map{|j| [[:job_id, j.id]].to_h},
|
47
|
+
parameters: @param
|
48
|
+
})
|
49
|
+
|
50
|
+
@id = resp.job_id
|
51
|
+
Bako.logger.info("Submitted job #{@name} (id: #{@id})")
|
52
|
+
|
53
|
+
resp
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'pathname'
|
3
|
+
|
4
|
+
module Bako
|
5
|
+
module Models
|
6
|
+
class JobDefinition
|
7
|
+
include Bako::CommonHelper
|
8
|
+
|
9
|
+
attr_reader :name, :command, :role_arn, :image, :type, :arn, :memory, :vcpus
|
10
|
+
|
11
|
+
def self.from_context(context)
|
12
|
+
new(
|
13
|
+
context.name,
|
14
|
+
context.command_b,
|
15
|
+
context.image_b,
|
16
|
+
context.role_arn_b,
|
17
|
+
context.type_b,
|
18
|
+
context.memory_b,
|
19
|
+
context.vcpus_b
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
23
|
+
def initialize(name, command, image, role_arn, type, memory, vcpus)
|
24
|
+
@name = name
|
25
|
+
@command = command
|
26
|
+
@image = image
|
27
|
+
@role_arn = role_arn
|
28
|
+
@type = type
|
29
|
+
@memory = memory
|
30
|
+
@vcpus = vcpus
|
31
|
+
end
|
32
|
+
|
33
|
+
def register
|
34
|
+
Bako.logger.info("Registering JobDefinition #{@name}")
|
35
|
+
|
36
|
+
resp = batch_client.register_job_definition({
|
37
|
+
type: @type,
|
38
|
+
container_properties: {
|
39
|
+
command: @command,
|
40
|
+
image: @image,
|
41
|
+
memory: @memory || DEFAULTS[:memory],
|
42
|
+
vcpus: @vcpus || DEFAULTS[:vcpus],
|
43
|
+
},
|
44
|
+
job_definition_name: @name
|
45
|
+
})
|
46
|
+
|
47
|
+
@arn = resp.job_definition_arn
|
48
|
+
@revision = resp.revision
|
49
|
+
Bako.logger.info("Registered JobDefinition #{@name}:#{@revision} (arn: #{@arn})")
|
50
|
+
end
|
51
|
+
|
52
|
+
def remote_exists?
|
53
|
+
!remote_job_definition(@name, 'ACTIVE').nil?
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/lib/bako/version.rb
ADDED
metadata
ADDED
@@ -0,0 +1,152 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: bako
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Yuichiro Someya
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-04-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.14'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.14'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: awesome_print
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: aws-sdk
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: thor
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.19'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.19'
|
97
|
+
description: AWS Batch DSL and a set of cli tool.
|
98
|
+
email:
|
99
|
+
- ayemos.y@gmail.com
|
100
|
+
executables:
|
101
|
+
- bako
|
102
|
+
extensions: []
|
103
|
+
extra_rdoc_files: []
|
104
|
+
files:
|
105
|
+
- ".gitignore"
|
106
|
+
- ".rspec"
|
107
|
+
- ".travis.yml"
|
108
|
+
- Gemfile
|
109
|
+
- README.md
|
110
|
+
- Rakefile
|
111
|
+
- bako.gemspec
|
112
|
+
- bin/console
|
113
|
+
- bin/setup
|
114
|
+
- example/hello/hello.rb
|
115
|
+
- exe/bako
|
116
|
+
- lib/bako.rb
|
117
|
+
- lib/bako/cli.rb
|
118
|
+
- lib/bako/cli/run.rb
|
119
|
+
- lib/bako/common_helper.rb
|
120
|
+
- lib/bako/compute_environment.rb
|
121
|
+
- lib/bako/dsl.rb
|
122
|
+
- lib/bako/dsl/context.rb
|
123
|
+
- lib/bako/dsl/context/job.rb
|
124
|
+
- lib/bako/dsl/context/job_definition.rb
|
125
|
+
- lib/bako/error.rb
|
126
|
+
- lib/bako/models/job.rb
|
127
|
+
- lib/bako/models/job_definition.rb
|
128
|
+
- lib/bako/version.rb
|
129
|
+
homepage: https://github.com/ayemos/bako
|
130
|
+
licenses: []
|
131
|
+
metadata: {}
|
132
|
+
post_install_message:
|
133
|
+
rdoc_options: []
|
134
|
+
require_paths:
|
135
|
+
- lib
|
136
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '0'
|
141
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
requirements: []
|
147
|
+
rubyforge_project:
|
148
|
+
rubygems_version: 2.5.2
|
149
|
+
signing_key:
|
150
|
+
specification_version: 4
|
151
|
+
summary: AWS Batch DSL and a set of cli tool.
|
152
|
+
test_files: []
|