pipe_fitter 0.2.5 → 0.2.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6cb9f2f924f88ec2ab37a6ec3c61c2ea23700d88e3fba2f923801f46cdd79a47
4
- data.tar.gz: 04ff627ba4eb1beef15b71051e278f1b1ca856fe109ebc4220b36ba5f628a7c3
3
+ metadata.gz: 492dbabc48ad29fbd4fd1fa54b33a93ad360e91f7ab9cb6a16f63bd57205398e
4
+ data.tar.gz: 88dd6dc7e8473be5c7a76a154d09092a452e29079ad015a91886d5edbc394641
5
5
  SHA512:
6
- metadata.gz: 4aff19dc044c5584b7f342d7a0d9e4c6899e09c45563c3a10ad4ce873488651a696a0cf69132f1307c1f10fb7d90344ef565213c4bed1162b556ebd34272ba86
7
- data.tar.gz: 26b7035abcbc846efa2cdd700ca7954e4ce57403a7d83e8edad97820f3fcc014ea5b37221b718631cecb71b7b3aa03082693d131340a76e10ffd145d516942f1
6
+ metadata.gz: 1790c2db829697f8bfa4deb7485636c3951d34ebdc1a0c25514e294438fa4b406a1b61cc4f9276c559cd54f9b1c451de5a95a7483d5179422ff9ce1b8bbb7b80
7
+ data.tar.gz: 9455862795ee0e5d92c1195135347edfb13de13f2c60c73503d95863135849854bb4a19a7fad88bf23cad5c28e970476e671faafb28dab4ea921037497a4d9f3
@@ -29,6 +29,7 @@ jobs:
29
29
  - "3.0"
30
30
  - "3.1"
31
31
  - "3.2"
32
+ - "3.3"
32
33
 
33
34
  steps:
34
35
  - uses: actions/checkout@v3
data/exe/pipe_fitter CHANGED
@@ -1,102 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require "pipe_fitter"
4
- require "thor"
5
-
6
- module PipeFitter
7
- class Cli < Thor
8
- class_option :region, type: :string
9
- class_option :profile, type: :string
10
-
11
- desc "export", "Export pipeline definition"
12
- option :pipeline_id, type: :string, required: true, aliases: "i"
13
- def export
14
- puts client.definition(options[:pipeline_id]).to_yaml
15
- end
16
-
17
- desc "register DEFINITION_FILE", "Register pipeline"
18
- def register(definition_file)
19
- id, res = client.register(definition_file)
20
- puts id, JSON.pretty_generate(res)
21
- end
22
-
23
- desc "diff DEFINITION_FILE", "Show pipeline difference"
24
- option :pipeline_id, type: :string, required: true, aliases: "i"
25
- option :format, type: :string, default: "color", aliases: "f"
26
- def diff(definition_file)
27
- puts client.diff(options[:pipeline_id], definition_file, options[:format])
28
- end
29
-
30
- desc "update DEFINITION_FILE", "Update pipeline definition"
31
- option :pipeline_id, type: :string, required: true, aliases: "i"
32
- def update(definition_file)
33
- res = client.update(options[:pipeline_id], definition_file)
34
- puts JSON.pretty_generate(res)
35
- end
36
-
37
- desc "activate", "Activate pipeline"
38
- option :pipeline_id, type: :string, required: true, aliases: "i"
39
- option :parameter_file, type: :string, required: false, aliases: "p"
40
- option :start_timestamp, type: :string, required: false, aliases: "t"
41
- def activate
42
- t = options[:start_timestamp] ? Time.parse(options[:start_timestamp]) : nil
43
- puts client.activate(options[:pipeline_id], options[:parameter_file], t)
44
- end
45
-
46
- desc "show", "Show pipeline setting in YAML format"
47
- option :parameter_file, type: :string, required: false, aliases: "p"
48
- def show(definition_file)
49
- puts Pipeline.load_yaml(definition_file).to_yaml
50
- end
51
-
52
- desc "find", "Find pipeline besed on name and uniqueId"
53
- def find(definition_file)
54
- puts client.find_registered(definition_file).to_h.to_json
55
- end
56
-
57
- desc "find_diff", "Find pipeline besed on name and uniqueId, show diff"
58
- option :format, type: :string, default: "color", aliases: "f"
59
- def find_diff(definition_file)
60
- p = client.find_registered(definition_file)
61
- abort("Pipeline is not registered") if p.nil?
62
- puts client.diff(p.id, definition_file, options[:format])
63
- puts p.to_h.to_json
64
- end
65
-
66
- desc "find_update", "Find pipeline besed on name and uniqueId, update pipeline definition"
67
- option :force_update, type: :boolean, aliases: "f"
68
- def find_update(definition_file)
69
- p = client.find_registered(definition_file)
70
- abort("Pipeline is not registered") if p.nil?
71
- unless options[:force_update]
72
- puts client.diff(p.id, definition_file)
73
- print "\nReally update pipeline definition? [y/N] : "
74
- abort("Update was canceled") if $stdin.gets.chomp !~ /^y$/i
75
- end
76
- res = client.update(p.id, definition_file)
77
- puts JSON.pretty_generate(res)
78
- puts p.to_h.to_json
79
- end
80
-
81
- desc "diff_deploy_files DEFINITION_FILE", "Show deploy files differences"
82
- option :format, type: :string, default: "color", aliases: "f"
83
- def diff_deploy_files(definition_file)
84
- client.diff_deploy_files(definition_file, options[:format]).each do |d|
85
- puts d
86
- end
87
- end
88
-
89
- desc "upload_deploy_files DEFINITION_FILE", "Upload deploy files"
90
- def upload_deploy_files(definition_file)
91
- client.upload_deploy_files(definition_file)
92
- end
93
-
94
- private
95
-
96
- def client
97
- @client ||= DataPipelineClient.new(options)
98
- end
99
- end
100
- end
101
4
 
102
5
  PipeFitter::Cli.start
@@ -0,0 +1,97 @@
1
+ require "thor"
2
+
3
+ module PipeFitter
4
+ class Cli < Thor
5
+ class_option :region, type: :string
6
+ class_option :profile, type: :string
7
+
8
+ desc "export", "Export pipeline definition"
9
+ option :pipeline_id, type: :string, required: true, aliases: "i"
10
+ def export
11
+ puts client.definition(options[:pipeline_id]).to_yaml
12
+ end
13
+
14
+ desc "register DEFINITION_FILE", "Register pipeline"
15
+ def register(definition_file)
16
+ id, res = client.register(definition_file)
17
+ puts id, JSON.pretty_generate(res)
18
+ end
19
+
20
+ desc "diff DEFINITION_FILE", "Show pipeline difference"
21
+ option :pipeline_id, type: :string, required: true, aliases: "i"
22
+ option :format, type: :string, default: "color", aliases: "f"
23
+ def diff(definition_file)
24
+ puts client.diff(options[:pipeline_id], definition_file, options[:format])
25
+ end
26
+
27
+ desc "update DEFINITION_FILE", "Update pipeline definition"
28
+ option :pipeline_id, type: :string, required: true, aliases: "i"
29
+ def update(definition_file)
30
+ res = client.update(options[:pipeline_id], definition_file)
31
+ puts JSON.pretty_generate(res)
32
+ end
33
+
34
+ desc "activate", "Activate pipeline"
35
+ option :pipeline_id, type: :string, required: true, aliases: "i"
36
+ option :parameter_file, type: :string, required: false, aliases: "p"
37
+ option :start_timestamp, type: :string, required: false, aliases: "t"
38
+ def activate
39
+ t = options[:start_timestamp] ? Time.parse(options[:start_timestamp]) : nil
40
+ puts client.activate(options[:pipeline_id], options[:parameter_file], t)
41
+ end
42
+
43
+ desc "show", "Show pipeline setting in YAML format"
44
+ option :parameter_file, type: :string, required: false, aliases: "p"
45
+ def show(definition_file)
46
+ puts Pipeline.load_yaml(definition_file).to_yaml
47
+ end
48
+
49
+ desc "find", "Find pipeline besed on name and uniqueId"
50
+ def find(definition_file)
51
+ puts client.find_registered(definition_file).to_h.to_json
52
+ end
53
+
54
+ desc "find_diff", "Find pipeline besed on name and uniqueId, show diff"
55
+ option :format, type: :string, default: "color", aliases: "f"
56
+ def find_diff(definition_file)
57
+ p = client.find_registered(definition_file)
58
+ abort("Pipeline is not registered") if p.nil?
59
+ puts client.diff(p.id, definition_file, options[:format])
60
+ puts p.to_h.to_json
61
+ end
62
+
63
+ desc "find_update", "Find pipeline besed on name and uniqueId, update pipeline definition"
64
+ option :force_update, type: :boolean, aliases: "f"
65
+ def find_update(definition_file)
66
+ p = client.find_registered(definition_file)
67
+ abort("Pipeline is not registered") if p.nil?
68
+ unless options[:force_update]
69
+ puts client.diff(p.id, definition_file)
70
+ print "\nReally update pipeline definition? [y/N] : "
71
+ abort("Update was canceled") if $stdin.gets.chomp !~ /^y$/i
72
+ end
73
+ res = client.update(p.id, definition_file)
74
+ puts JSON.pretty_generate(res)
75
+ puts p.to_h.to_json
76
+ end
77
+
78
+ desc "diff_deploy_files DEFINITION_FILE", "Show deploy files differences"
79
+ option :format, type: :string, default: "color", aliases: "f"
80
+ def diff_deploy_files(definition_file)
81
+ client.diff_deploy_files(definition_file, options[:format]).each do |d|
82
+ puts d
83
+ end
84
+ end
85
+
86
+ desc "upload_deploy_files DEFINITION_FILE", "Upload deploy files"
87
+ def upload_deploy_files(definition_file)
88
+ client.upload_deploy_files(definition_file)
89
+ end
90
+
91
+ private
92
+
93
+ def client
94
+ @client ||= DataPipelineClient.new(options)
95
+ end
96
+ end
97
+ end
@@ -1,3 +1,3 @@
1
1
  module PipeFitter
2
- VERSION = "0.2.5".freeze
2
+ VERSION = "0.2.6".freeze
3
3
  end
data/lib/pipe_fitter.rb CHANGED
@@ -2,6 +2,7 @@ require "pipe_fitter/version"
2
2
  require "pipe_fitter/pipeline"
3
3
  require "pipe_fitter/yaml_loader"
4
4
  require "pipe_fitter/data_pipeline_client"
5
+ require "pipe_fitter/cli"
5
6
 
6
7
  module PipeFitter
7
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pipe_fitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - masa21kik
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-01-05 00:00:00.000000000 Z
11
+ date: 2023-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-s3
@@ -197,6 +197,7 @@ files:
197
197
  - bin/setup
198
198
  - exe/pipe_fitter
199
199
  - lib/pipe_fitter.rb
200
+ - lib/pipe_fitter/cli.rb
200
201
  - lib/pipe_fitter/data_pipeline_client.rb
201
202
  - lib/pipe_fitter/pipeline.rb
202
203
  - lib/pipe_fitter/version.rb