apmate 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 89b97c4e8145817e346464a998ccc8dbdc6b4672
4
- data.tar.gz: 7c1caf3a8357f4d2fb5ef3f64fefac466f03d345
3
+ metadata.gz: 4369a43a2b860b838c43dd835523e50c8b588d10
4
+ data.tar.gz: 3d001d0f8c5a6f6228ad6fd5f1dc333d7b90409c
5
5
  SHA512:
6
- metadata.gz: ff0954b0372dd55ac2e42683a21d59cf973689742379f7ea77ec044f3b500109b01ea9414720b806571f3084864002199b1f8f6f17156b6473e9803c3940a124
7
- data.tar.gz: d61f8193df81946d64a3d52079f4dc3c6b16d561f7abd051b040448fbb2577821ad06729b103f0ddd9712f0cdc9379ca6ee105f84343f02f8f45c5241ca51e66
6
+ metadata.gz: 361347ca3c6238f8e381c2397c59e83a948edf9706dc4322e42d336a52c2cca4cb4d2617a2abf9a8e956b66ff83dd3b0f03be6f98c159eafa8befed5f6e2bd31
7
+ data.tar.gz: a59d8fbea7989ff9f0fa10571578f804d96cb302995a5cd8ffed98ff47ca4afa85256d0ded8fc13d8dda60ae3c718efb3414d660b39cbd0b54b80be2996cfb32
data/lib/apmate.rb CHANGED
@@ -10,3 +10,4 @@ require 'apmate/commands/get/artifact_environment'
10
10
  require 'apmate/commands/get/artifact_name'
11
11
  require 'apmate/commands/apply'
12
12
  require 'apmate/commands/promote'
13
+ require 'apmate/commands/execution'
data/lib/apmate/cli.rb CHANGED
@@ -17,14 +17,15 @@ class Apmate::CLI
17
17
  get_artifact_environment: '/api/artifacts/environment',
18
18
  get_artifact: '/api/artifacts',
19
19
  get_artifact_name: '/api/artifacts/name',
20
- promote_environment: '/api/environments/promote'
20
+ promote_environment: '/api/environments/promote',
21
+ create_execution: '/api/executions'
21
22
  }
22
23
 
23
24
  def self.apply_file(file, opts)
24
25
  Apmate::Logger.logger.info "applying file #{file}"
25
26
  YAML.load_stream(File.read file).each do |yaml_hash|
26
27
  Apmate::Logger.logger.debug "yaml_hash: #{yaml_hash}"
27
- apmate_post yaml_hash, opts
28
+ apmate_apply yaml_hash, opts
28
29
  end
29
30
  end
30
31
 
@@ -56,6 +57,19 @@ class Apmate::CLI
56
57
  apmate_get(ENDPOINTS[:get_artifact], opts, params)
57
58
  end
58
59
 
60
+ def self.apmate_create_execution(app_name, env_name, comp_name, action, opts)
61
+ uri = URI("#{Apmate::CLI::APMATE_BASE_URL}:#{Apmate::CLI::APMATE_PORT}#{ENDPOINTS[:create_execution]}")
62
+ params = {
63
+ execution: {
64
+ application_name: app_name,
65
+ environment_name: env_name,
66
+ component_name: comp_name,
67
+ action: action
68
+ }
69
+ }
70
+ apmate_post uri, params, opts
71
+ end
72
+
59
73
  def self.apmate_get(endpoint, opts, params=nil)
60
74
  Apmate::Logger.logger.debug "Beginning get request."
61
75
  uri = URI("#{Apmate::CLI::APMATE_URL}#{endpoint}")
@@ -66,7 +80,7 @@ class Apmate::CLI
66
80
  log_output(output, opts)
67
81
  end
68
82
 
69
- def self.apmate_post(yaml_hash, opts)
83
+ def self.apmate_apply(yaml_hash, opts)
70
84
  Apmate::Logger.logger.debug "Beginning post request."
71
85
 
72
86
  endpoint_object = yaml_hash['kind'].downcase.pluralize
@@ -78,6 +92,10 @@ class Apmate::CLI
78
92
  payload = {'name': yaml_hash['metadata']['name']}.merge yaml_hash['spec']
79
93
  Apmate::Logger.logger.debug "payload: #{payload}"
80
94
 
95
+ apmate_post uri, payload, opts
96
+ end
97
+
98
+ def self.apmate_post(uri, payload, opts)
81
99
  request = Net::HTTP::Post.new(uri)
82
100
  request.content_type = 'application/json'
83
101
  request.body = payload.to_json
@@ -134,7 +152,8 @@ class Apmate::CLI
134
152
  Command::HELP,
135
153
  Command::APPLY,
136
154
  get_command,
137
- Command::PROMOTE
155
+ Command::PROMOTE,
156
+ Command::CREATE_EXECUTION
138
157
  ].each do |cmd|
139
158
  command.add_command cmd
140
159
  end
@@ -0,0 +1,23 @@
1
+ module Apmate::CLI::Command
2
+ CREATE_EXECUTION = Cri::Command.define do
3
+ name 'create_execution'
4
+ usage 'create_execution <application_name> <environment_name> <component_name> <action>'
5
+ summary 'Creates a StackStorm execution.'
6
+ description 'Creates a StackStorm execution.'
7
+
8
+ flag :h, :help, 'show help for this command' do |value, cmd|
9
+ puts cmd.help
10
+ exit 0
11
+ end
12
+
13
+ run do |opts, args, cmd|
14
+ Apmate::Logger.log_level(opts)
15
+ Apmate::Logger.verbosity(opts)
16
+ Apmate::Logger.logger.debug "opts: #{opts}"
17
+ Apmate::Logger.logger.debug "args: #{args}"
18
+ Apmate::Logger.logger.debug "cmd: #{cmd.to_s}"
19
+ cmd.run(['-h']) unless args.count == 4
20
+ Apmate::CLI.apmate_create_execution(args[0], args[1], args[2], args[3], opts)
21
+ end
22
+ end
23
+ end
@@ -1,3 +1,3 @@
1
1
  module Apmate
2
- VERSION = "0.2.2"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apmate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Baldridge
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-08 00:00:00.000000000 Z
11
+ date: 2018-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cri
@@ -79,6 +79,7 @@ files:
79
79
  - lib/apmate/cli.rb
80
80
  - lib/apmate/commands/apply.rb
81
81
  - lib/apmate/commands/base.rb
82
+ - lib/apmate/commands/execution.rb
82
83
  - lib/apmate/commands/get.rb
83
84
  - lib/apmate/commands/get/artifact.rb
84
85
  - lib/apmate/commands/get/artifact_environment.rb