cody 0.1.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.cody/buildspec.yml +8 -0
- data/.cody/project.rb +4 -0
- data/.cody/settings.yml +13 -0
- data/.gitignore +17 -10
- data/.gitmodules +9 -0
- data/.rspec +1 -1
- data/.ruby-version +1 -0
- data/CHANGELOG.md +59 -0
- data/Gemfile +3 -1
- data/Guardfile +19 -0
- data/LICENSE.txt +18 -17
- data/README.md +145 -18
- data/Rakefile +9 -2
- data/cody.gemspec +26 -12
- data/exe/cody +14 -0
- data/img/github-admin-settings-tab.png +0 -0
- data/lib/cody.rb +17 -1
- data/lib/cody/autoloader.rb +21 -0
- data/lib/cody/aws_services.rb +16 -0
- data/lib/cody/aws_services/helpers.rb +72 -0
- data/lib/cody/cli.rb +61 -0
- data/lib/cody/command.rb +82 -0
- data/lib/cody/completer.rb +159 -0
- data/lib/cody/completer/script.rb +6 -0
- data/lib/cody/completer/script.sh +10 -0
- data/lib/cody/core.rb +63 -0
- data/lib/cody/create.rb +12 -0
- data/lib/cody/default/settings.yml +3 -0
- data/lib/cody/delete.rb +27 -0
- data/lib/cody/deploy.rb +40 -0
- data/lib/cody/dsl/project.rb +119 -0
- data/lib/cody/dsl/project/ssm.rb +22 -0
- data/lib/cody/dsl/role.rb +50 -0
- data/lib/cody/dsl/schedule.rb +30 -0
- data/lib/cody/evaluate.rb +47 -0
- data/lib/cody/help.rb +9 -0
- data/lib/cody/help/completion.md +22 -0
- data/lib/cody/help/completion_script.md +3 -0
- data/lib/cody/help/deploy.md +32 -0
- data/lib/cody/help/init.md +71 -0
- data/lib/cody/help/start.md +12 -0
- data/lib/cody/init.rb +102 -0
- data/lib/cody/project.rb +72 -0
- data/lib/cody/role.rb +87 -0
- data/lib/cody/schedule.rb +102 -0
- data/lib/cody/sequence.rb +66 -0
- data/lib/cody/setting.rb +82 -0
- data/lib/cody/stack.rb +93 -0
- data/lib/cody/start.rb +69 -0
- data/lib/cody/update.rb +12 -0
- data/lib/cody/variables.rb +17 -0
- data/lib/cody/version.rb +2 -2
- data/lib/template/project/buildspec.yml +28 -0
- data/lib/template/project/project.rb.tt +29 -0
- data/lib/template/project/role.rb +2 -0
- data/lib/template/project/schedule.rb +3 -0
- data/lib/template/top/README.md +32 -0
- data/lib/template/top/settings.yml +9 -0
- data/lib/template/top/variables/base.rb +1 -0
- data/lib/template/top/variables/development.rb +1 -0
- data/lib/template/top/variables/production.rb +1 -0
- data/vendor/aws_data/CHANGELOG.md +7 -0
- data/vendor/aws_data/Gemfile +4 -0
- data/vendor/aws_data/LICENSE.txt +21 -0
- data/vendor/aws_data/README.md +42 -0
- data/vendor/aws_data/Rakefile +6 -0
- data/vendor/aws_data/aws_data.gemspec +30 -0
- data/{bin → vendor/aws_data/bin}/console +1 -1
- data/{bin → vendor/aws_data/bin}/setup +0 -0
- data/vendor/aws_data/lib/aws_data.rb +91 -0
- data/vendor/aws_data/lib/aws_data/version.rb +3 -0
- data/vendor/aws_data/spec/aws_data_spec.rb +5 -0
- data/vendor/aws_data/spec/spec_helper.rb +14 -0
- data/vendor/cfn-status/Gemfile +4 -0
- data/vendor/cfn-status/LICENSE.txt +21 -0
- data/vendor/cfn-status/README.md +56 -0
- data/vendor/cfn-status/Rakefile +6 -0
- data/vendor/cfn-status/bin/console +14 -0
- data/vendor/cfn-status/bin/setup +8 -0
- data/vendor/cfn-status/cfn-status.gemspec +30 -0
- data/vendor/cfn-status/lib/cfn/aws_service.rb +56 -0
- data/vendor/cfn-status/lib/cfn/status.rb +220 -0
- data/vendor/cfn-status/lib/cfn/status/version.rb +5 -0
- data/vendor/cfn-status/spec/cfn/status_spec.rb +81 -0
- data/vendor/cfn-status/spec/fixtures/cfn/stack-events-complete.json +1080 -0
- data/vendor/cfn-status/spec/fixtures/cfn/stack-events-in-progress.json +1080 -0
- data/vendor/cfn-status/spec/fixtures/cfn/stack-events-update-rollback-complete.json +1086 -0
- data/vendor/cfn-status/spec/spec_helper.rb +14 -0
- data/vendor/cfn_camelizer/CHANGELOG.md +10 -0
- data/vendor/cfn_camelizer/Gemfile +4 -0
- data/vendor/cfn_camelizer/LICENSE.txt +21 -0
- data/vendor/cfn_camelizer/README.md +40 -0
- data/vendor/cfn_camelizer/Rakefile +6 -0
- data/vendor/cfn_camelizer/bin/console +14 -0
- data/vendor/cfn_camelizer/bin/setup +8 -0
- data/vendor/cfn_camelizer/cfn_camelizer.gemspec +32 -0
- data/vendor/cfn_camelizer/lib/camelizer.yml +33 -0
- data/vendor/cfn_camelizer/lib/cfn_camelizer.rb +92 -0
- data/vendor/cfn_camelizer/lib/cfn_camelizer/version.rb +3 -0
- data/vendor/cfn_camelizer/spec/cfn_camelizer_spec.rb +79 -0
- data/vendor/cfn_camelizer/spec/spec_helper.rb +14 -0
- metadata +268 -21
- data/.travis.yml +0 -7
@@ -0,0 +1,14 @@
|
|
1
|
+
require "bundler/setup"
|
2
|
+
require "cfn/status"
|
3
|
+
|
4
|
+
RSpec.configure do |config|
|
5
|
+
# Enable flags like --only-failures and --next-failure
|
6
|
+
config.example_status_persistence_file_path = ".rspec_status"
|
7
|
+
|
8
|
+
# Disable RSpec exposing methods globally on `Module` and `main`
|
9
|
+
config.disable_monkey_patching!
|
10
|
+
|
11
|
+
config.expect_with :rspec do |c|
|
12
|
+
c.syntax = :expect
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2019 Tung Nguyen
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# CfnCamelizer
|
2
|
+
|
3
|
+
Camelizer for CloudFormation.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
gem 'cfn_camelizer'
|
11
|
+
```
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
Or install it yourself as:
|
18
|
+
|
19
|
+
$ gem install cfn_camelizer
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
data = {my_data: 1}
|
25
|
+
CfnCamelizer.transform(data) => {"MyData" => 1}
|
26
|
+
```
|
27
|
+
|
28
|
+
## Development
|
29
|
+
|
30
|
+
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.
|
31
|
+
|
32
|
+
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).
|
33
|
+
|
34
|
+
## Contributing
|
35
|
+
|
36
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/cfn_camelizer.
|
37
|
+
|
38
|
+
## License
|
39
|
+
|
40
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "cfn_camelizer"
|
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__)
|
@@ -0,0 +1,32 @@
|
|
1
|
+
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require "cfn_camelizer/version"
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "cfn_camelizer"
|
8
|
+
spec.version = CfnCamelizer::VERSION
|
9
|
+
spec.authors = ["Tung Nguyen"]
|
10
|
+
spec.email = ["tongueroo@gmail.com"]
|
11
|
+
|
12
|
+
spec.summary = "Cfn Camelizer"
|
13
|
+
spec.homepage = "https://github.com/tongueroo/cfn_camelizer"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
# Specify which files should be added to the gem when it is released.
|
17
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
18
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
19
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
20
|
+
end
|
21
|
+
spec.bindir = "exe"
|
22
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
|
+
spec.require_paths = ["lib"]
|
24
|
+
|
25
|
+
spec.add_dependency "activesupport"
|
26
|
+
spec.add_dependency "memoist"
|
27
|
+
spec.add_dependency "rainbow"
|
28
|
+
|
29
|
+
spec.add_development_dependency "bundler"
|
30
|
+
spec.add_development_dependency "rake"
|
31
|
+
spec.add_development_dependency "rspec"
|
32
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
---
|
2
|
+
special_keys:
|
3
|
+
Aws: AWS
|
4
|
+
# Very fine grain control, since these map rules are scoped to specific resources
|
5
|
+
# After the special_keys map for backwards compatibility.
|
6
|
+
resource_keys: # specific to resource types
|
7
|
+
AWS::AutoScaling::AutoScalingGroup:
|
8
|
+
ServiceLinkedRoleArn: ServiceLinkedRoleARN
|
9
|
+
TargetGroupArns: TargetGroupARNs
|
10
|
+
VpcZoneIdentifier: VPCZoneIdentifier
|
11
|
+
AutoScaling::LaunchConfiguration:
|
12
|
+
ClassicLinkVpcId: ClassicLinkVPCId
|
13
|
+
ClassicLinkVpcSecurityGroups: ClassicLinkVPCSecurityGroups
|
14
|
+
AWS::AutoScaling::LifecycleHook:
|
15
|
+
NotificationTargetArn: NotificationTargetARN
|
16
|
+
RoleArn: RoleARN
|
17
|
+
AWS::ApplicationAutoScaling::ScalableTarget:
|
18
|
+
RoleArn: RoleARN
|
19
|
+
AWS::CloudFormation::Stack:
|
20
|
+
NotificationArns: NotificationARNs
|
21
|
+
TemplateUrl: TemplateURL
|
22
|
+
AWS::Route53::RecordSet:
|
23
|
+
Ttl: TTL
|
24
|
+
AWS::RDS::DBSubnetGroup:
|
25
|
+
DbSubnetGroupDescription: DBSubnetGroupDescription
|
26
|
+
DbSubnetGroupName: DBSubnetGroupName
|
27
|
+
AWS::SQS::Queue:
|
28
|
+
DeadLetterTargetArn: deadLetterTargetArn # under RedrivePolicy
|
29
|
+
MaxReceiveCount: maxReceiveCount # under RedrivePolicy
|
30
|
+
passthrough_parent_keys:
|
31
|
+
- Fn::Sub # https://amzn.to/2HKwxri
|
32
|
+
- ResponseParameters # API Gateway MethodResponse https://amzn.to/2HKw0Wk
|
33
|
+
- Variables # Lambda Environment Variables https://amzn.to/2HLlttV
|
@@ -0,0 +1,92 @@
|
|
1
|
+
require "cfn_camelizer/version"
|
2
|
+
require "memoist"
|
3
|
+
require "yaml"
|
4
|
+
require "rainbow/ext/string"
|
5
|
+
require "active_support/core_ext/string"
|
6
|
+
require "active_support/core_ext/hash"
|
7
|
+
|
8
|
+
class CfnCamelizer
|
9
|
+
class << self
|
10
|
+
extend Memoist
|
11
|
+
|
12
|
+
def transform(value, parent_keys=[], resource_type=nil)
|
13
|
+
case value
|
14
|
+
when Array
|
15
|
+
value.map { |v| transform(v, parent_keys, resource_type) }
|
16
|
+
when Hash
|
17
|
+
if value.keys.include?(:type)
|
18
|
+
resource_type ||= value[:type]
|
19
|
+
end
|
20
|
+
|
21
|
+
initializer = value.map do |k, v|
|
22
|
+
new_key = camelize_key(k, parent_keys, resource_type)
|
23
|
+
[new_key, transform(v, parent_keys+[new_key], resource_type)]
|
24
|
+
end
|
25
|
+
Hash[initializer]
|
26
|
+
else
|
27
|
+
value # do not transform values
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def camelize_key(k, parent_keys=[], resource_type=nil)
|
32
|
+
k = k.to_s
|
33
|
+
|
34
|
+
if passthrough?(k, parent_keys)
|
35
|
+
k # pass through untouch
|
36
|
+
elsif parent_keys.last == "EventPattern" # top-level
|
37
|
+
k.dasherize
|
38
|
+
elsif parent_keys.include?("EventPattern")
|
39
|
+
# Any keys at 2nd level under EventPattern will be pascalized
|
40
|
+
pascalize(k)
|
41
|
+
else
|
42
|
+
camelize(k, resource_type)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def passthrough?(k, parent_keys)
|
47
|
+
# Do not transform keys under certain parent keys or keys that contain - or /
|
48
|
+
passthrough = camelizer_yaml["passthrough_parent_keys"]
|
49
|
+
intersection = parent_keys & passthrough
|
50
|
+
!intersection.empty? || k.include?('-') || k.include?('/')
|
51
|
+
end
|
52
|
+
|
53
|
+
def camelize(value, resource_type=nil)
|
54
|
+
return value if value.is_a?(Integer)
|
55
|
+
|
56
|
+
value = value.to_s.camelize
|
57
|
+
v = special_map[value] || value # after the special_keys map
|
58
|
+
resource_map(resource_type)[v] || v
|
59
|
+
end
|
60
|
+
|
61
|
+
def pascalize(value)
|
62
|
+
new_value = value.camelize
|
63
|
+
first_char = new_value[0..0].downcase
|
64
|
+
new_value[0] = first_char
|
65
|
+
new_value
|
66
|
+
end
|
67
|
+
|
68
|
+
# Some keys have special mappings
|
69
|
+
def special_map
|
70
|
+
camelizer_yaml["special_keys"]
|
71
|
+
end
|
72
|
+
|
73
|
+
def resource_map(resource_type)
|
74
|
+
camelizer_yaml["resource_keys"][resource_type] || {}
|
75
|
+
end
|
76
|
+
|
77
|
+
def camelizer_yaml
|
78
|
+
# default
|
79
|
+
path = File.expand_path("camelizer.yml", File.dirname(__FILE__))
|
80
|
+
default = YAML.load_file(path)
|
81
|
+
# project specific
|
82
|
+
path = "#{Dir.pwd}/configs/camelizer.yml"
|
83
|
+
if File.exist?(path)
|
84
|
+
project = YAML.load_file(path)
|
85
|
+
default.deep_merge(project)
|
86
|
+
else
|
87
|
+
default
|
88
|
+
end
|
89
|
+
end
|
90
|
+
memoize :camelizer_yaml
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
RSpec.describe CfnCamelizer do
|
2
|
+
let(:camelizer) { CfnCamelizer }
|
3
|
+
context "not camelize the special cases" do
|
4
|
+
it "transform should not transform keys under Fn::Sub" do
|
5
|
+
data = {"UserData"=>{"Fn::Sub"=>["hello", {"k1"=>"v1", "k2"=>"v2"}]}}
|
6
|
+
result = camelizer.transform(data)
|
7
|
+
expect(result).to eq(data)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
it "simple string" do
|
12
|
+
s = "foo_bar"
|
13
|
+
s = camelizer.camelize(s)
|
14
|
+
expect(s).to eq "FooBar"
|
15
|
+
end
|
16
|
+
|
17
|
+
it "transform keys" do
|
18
|
+
h = {foo_bar: 1}
|
19
|
+
result = camelizer.transform(h)
|
20
|
+
result.keys == ["FooBar"]
|
21
|
+
end
|
22
|
+
|
23
|
+
it "do not pasalize anything under Variables" do
|
24
|
+
h = {foo_bar: 1, variables: {dont_touch: 2}}
|
25
|
+
result = camelizer.transform(h)
|
26
|
+
# pp result
|
27
|
+
expect(result).to eq("FooBar"=>1, "Variables"=>{"dont_touch"=>2})
|
28
|
+
end
|
29
|
+
|
30
|
+
# CloudWatch Event patterns have slightly different casing
|
31
|
+
it "dasherize anything under EventPattern at the top level" do
|
32
|
+
h = {foo_bar: 1, event_pattern: {dash_me: 2}}
|
33
|
+
result = camelizer.transform(h)
|
34
|
+
# pp result
|
35
|
+
expect(result).to eq("FooBar"=>1, "EventPattern"=>{"dash-me"=>2})
|
36
|
+
end
|
37
|
+
|
38
|
+
it "camelize anything under EventPattern at any level beyond the top level" do
|
39
|
+
h = {foo_bar: 1, event_pattern: {dash_me: {camelize_me: 3}}}
|
40
|
+
result = camelizer.transform(h)
|
41
|
+
# pp result
|
42
|
+
expect(result).to eq("FooBar"=>1, "EventPattern"=>{"dash-me"=>{"camelizeMe"=>3}})
|
43
|
+
end
|
44
|
+
|
45
|
+
it "dont touch anything under ResponseParameters" do
|
46
|
+
h = {foo_bar: 1, response_parameters: {dont_touch: 3}}
|
47
|
+
result = camelizer.transform(h)
|
48
|
+
# pp result
|
49
|
+
expect(result).to eq("FooBar"=>1, "ResponseParameters"=>{"dont_touch"=>3})
|
50
|
+
end
|
51
|
+
|
52
|
+
it "dont touch anything with - or /" do
|
53
|
+
h = {foo_bar: 1, "has-dash": 2, "has/slash": 3,"application/json":4}
|
54
|
+
result = camelizer.transform(h)
|
55
|
+
# pp result
|
56
|
+
expect(result).to eq("FooBar"=>1, "has-dash"=>2,"has/slash"=>3,"application/json"=>4)
|
57
|
+
end
|
58
|
+
|
59
|
+
it "special map keys" do
|
60
|
+
h = {template_url: 1, ttl: 60}
|
61
|
+
result = camelizer.transform(h)
|
62
|
+
# pp result
|
63
|
+
expect(result).to eq("TemplateURL"=>1, "TTL"=> 60)
|
64
|
+
end
|
65
|
+
|
66
|
+
it "role_arn property under AWS::Events::Rule type maintains normal RoleArn camelization" do
|
67
|
+
h = {
|
68
|
+
events_rule: {
|
69
|
+
type: "AWS::Events::Rule",
|
70
|
+
properties: {
|
71
|
+
role_arn: "some.arn"
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
result = camelizer.transform(h)
|
76
|
+
# pp result
|
77
|
+
expect(result).to eq({"EventsRule"=>{"Type"=>"AWS::Events::Rule", "Properties"=>{"RoleArn"=>"some.arn"}}})
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require "bundler/setup"
|
2
|
+
require "cfn_camelizer"
|
3
|
+
|
4
|
+
RSpec.configure do |config|
|
5
|
+
# Enable flags like --only-failures and --next-failure
|
6
|
+
config.example_status_persistence_file_path = ".rspec_status"
|
7
|
+
|
8
|
+
# Disable RSpec exposing methods globally on `Module` and `main`
|
9
|
+
config.disable_monkey_patching!
|
10
|
+
|
11
|
+
config.expect_with :rspec do |c|
|
12
|
+
c.syntax = :expect
|
13
|
+
end
|
14
|
+
end
|
metadata
CHANGED
@@ -1,81 +1,328 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cody
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-10-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: aws-sdk-cloudformation
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: aws-sdk-codebuild
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: aws-sdk-ssm
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
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: memoist
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rainbow
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: render_me_pretty
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: thor
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: zeitwerk
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
13
139
|
- !ruby/object:Gem::Dependency
|
14
140
|
name: bundler
|
15
141
|
requirement: !ruby/object:Gem::Requirement
|
16
142
|
requirements:
|
17
|
-
- - "
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: byebug
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: cli_markdown
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
18
172
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
173
|
+
version: '0'
|
20
174
|
type: :development
|
21
175
|
prerelease: false
|
22
176
|
version_requirements: !ruby/object:Gem::Requirement
|
23
177
|
requirements:
|
24
|
-
- - "
|
178
|
+
- - ">="
|
25
179
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
180
|
+
version: '0'
|
27
181
|
- !ruby/object:Gem::Dependency
|
28
182
|
name: rake
|
29
183
|
requirement: !ruby/object:Gem::Requirement
|
30
184
|
requirements:
|
31
|
-
- - "
|
185
|
+
- - ">="
|
32
186
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
187
|
+
version: '0'
|
34
188
|
type: :development
|
35
189
|
prerelease: false
|
36
190
|
version_requirements: !ruby/object:Gem::Requirement
|
37
191
|
requirements:
|
38
|
-
- - "
|
192
|
+
- - ">="
|
39
193
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
194
|
+
version: '0'
|
41
195
|
- !ruby/object:Gem::Dependency
|
42
196
|
name: rspec
|
43
197
|
requirement: !ruby/object:Gem::Requirement
|
44
198
|
requirements:
|
45
|
-
- - "
|
199
|
+
- - ">="
|
46
200
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
201
|
+
version: '0'
|
48
202
|
type: :development
|
49
203
|
prerelease: false
|
50
204
|
version_requirements: !ruby/object:Gem::Requirement
|
51
205
|
requirements:
|
52
|
-
- - "
|
206
|
+
- - ">="
|
53
207
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
208
|
+
version: '0'
|
55
209
|
description:
|
56
210
|
email:
|
57
211
|
- tongueroo@gmail.com
|
58
|
-
executables:
|
212
|
+
executables:
|
213
|
+
- cody
|
59
214
|
extensions: []
|
60
215
|
extra_rdoc_files: []
|
61
216
|
files:
|
217
|
+
- ".cody/buildspec.yml"
|
218
|
+
- ".cody/project.rb"
|
219
|
+
- ".cody/settings.yml"
|
62
220
|
- ".gitignore"
|
221
|
+
- ".gitmodules"
|
63
222
|
- ".rspec"
|
64
|
-
- ".
|
223
|
+
- ".ruby-version"
|
224
|
+
- CHANGELOG.md
|
65
225
|
- Gemfile
|
226
|
+
- Guardfile
|
66
227
|
- LICENSE.txt
|
67
228
|
- README.md
|
68
229
|
- Rakefile
|
69
|
-
- bin/console
|
70
|
-
- bin/setup
|
71
230
|
- cody.gemspec
|
231
|
+
- exe/cody
|
232
|
+
- img/github-admin-settings-tab.png
|
72
233
|
- lib/cody.rb
|
234
|
+
- lib/cody/autoloader.rb
|
235
|
+
- lib/cody/aws_services.rb
|
236
|
+
- lib/cody/aws_services/helpers.rb
|
237
|
+
- lib/cody/cli.rb
|
238
|
+
- lib/cody/command.rb
|
239
|
+
- lib/cody/completer.rb
|
240
|
+
- lib/cody/completer/script.rb
|
241
|
+
- lib/cody/completer/script.sh
|
242
|
+
- lib/cody/core.rb
|
243
|
+
- lib/cody/create.rb
|
244
|
+
- lib/cody/default/settings.yml
|
245
|
+
- lib/cody/delete.rb
|
246
|
+
- lib/cody/deploy.rb
|
247
|
+
- lib/cody/dsl/project.rb
|
248
|
+
- lib/cody/dsl/project/ssm.rb
|
249
|
+
- lib/cody/dsl/role.rb
|
250
|
+
- lib/cody/dsl/schedule.rb
|
251
|
+
- lib/cody/evaluate.rb
|
252
|
+
- lib/cody/help.rb
|
253
|
+
- lib/cody/help/completion.md
|
254
|
+
- lib/cody/help/completion_script.md
|
255
|
+
- lib/cody/help/deploy.md
|
256
|
+
- lib/cody/help/init.md
|
257
|
+
- lib/cody/help/start.md
|
258
|
+
- lib/cody/init.rb
|
259
|
+
- lib/cody/project.rb
|
260
|
+
- lib/cody/role.rb
|
261
|
+
- lib/cody/schedule.rb
|
262
|
+
- lib/cody/sequence.rb
|
263
|
+
- lib/cody/setting.rb
|
264
|
+
- lib/cody/stack.rb
|
265
|
+
- lib/cody/start.rb
|
266
|
+
- lib/cody/update.rb
|
267
|
+
- lib/cody/variables.rb
|
73
268
|
- lib/cody/version.rb
|
269
|
+
- lib/template/project/buildspec.yml
|
270
|
+
- lib/template/project/project.rb.tt
|
271
|
+
- lib/template/project/role.rb
|
272
|
+
- lib/template/project/schedule.rb
|
273
|
+
- lib/template/top/README.md
|
274
|
+
- lib/template/top/settings.yml
|
275
|
+
- lib/template/top/variables/base.rb
|
276
|
+
- lib/template/top/variables/development.rb
|
277
|
+
- lib/template/top/variables/production.rb
|
278
|
+
- vendor/aws_data/CHANGELOG.md
|
279
|
+
- vendor/aws_data/Gemfile
|
280
|
+
- vendor/aws_data/Gemfile.lock
|
281
|
+
- vendor/aws_data/LICENSE.txt
|
282
|
+
- vendor/aws_data/README.md
|
283
|
+
- vendor/aws_data/Rakefile
|
284
|
+
- vendor/aws_data/aws_data.gemspec
|
285
|
+
- vendor/aws_data/bin/console
|
286
|
+
- vendor/aws_data/bin/setup
|
287
|
+
- vendor/aws_data/lib/aws_data.rb
|
288
|
+
- vendor/aws_data/lib/aws_data/version.rb
|
289
|
+
- vendor/aws_data/pkg/aws_data-0.1.0.gem
|
290
|
+
- vendor/aws_data/spec/aws_data_spec.rb
|
291
|
+
- vendor/aws_data/spec/spec_helper.rb
|
292
|
+
- vendor/cfn-status/Gemfile
|
293
|
+
- vendor/cfn-status/Gemfile.lock
|
294
|
+
- vendor/cfn-status/LICENSE.txt
|
295
|
+
- vendor/cfn-status/README.md
|
296
|
+
- vendor/cfn-status/Rakefile
|
297
|
+
- vendor/cfn-status/bin/console
|
298
|
+
- vendor/cfn-status/bin/setup
|
299
|
+
- vendor/cfn-status/cfn-status.gemspec
|
300
|
+
- vendor/cfn-status/lib/cfn/aws_service.rb
|
301
|
+
- vendor/cfn-status/lib/cfn/status.rb
|
302
|
+
- vendor/cfn-status/lib/cfn/status/version.rb
|
303
|
+
- vendor/cfn-status/spec/cfn/status_spec.rb
|
304
|
+
- vendor/cfn-status/spec/fixtures/cfn/stack-events-complete.json
|
305
|
+
- vendor/cfn-status/spec/fixtures/cfn/stack-events-in-progress.json
|
306
|
+
- vendor/cfn-status/spec/fixtures/cfn/stack-events-update-rollback-complete.json
|
307
|
+
- vendor/cfn-status/spec/spec_helper.rb
|
308
|
+
- vendor/cfn_camelizer/CHANGELOG.md
|
309
|
+
- vendor/cfn_camelizer/Gemfile
|
310
|
+
- vendor/cfn_camelizer/Gemfile.lock
|
311
|
+
- vendor/cfn_camelizer/LICENSE.txt
|
312
|
+
- vendor/cfn_camelizer/README.md
|
313
|
+
- vendor/cfn_camelizer/Rakefile
|
314
|
+
- vendor/cfn_camelizer/bin/console
|
315
|
+
- vendor/cfn_camelizer/bin/setup
|
316
|
+
- vendor/cfn_camelizer/cfn_camelizer.gemspec
|
317
|
+
- vendor/cfn_camelizer/lib/camelizer.yml
|
318
|
+
- vendor/cfn_camelizer/lib/cfn_camelizer.rb
|
319
|
+
- vendor/cfn_camelizer/lib/cfn_camelizer/version.rb
|
320
|
+
- vendor/cfn_camelizer/spec/cfn_camelizer_spec.rb
|
321
|
+
- vendor/cfn_camelizer/spec/spec_helper.rb
|
74
322
|
homepage: https://github.com/tongueroo/cody
|
75
323
|
licenses:
|
76
324
|
- MIT
|
77
|
-
metadata:
|
78
|
-
homepage_uri: https://github.com/tongueroo/cody
|
325
|
+
metadata: {}
|
79
326
|
post_install_message:
|
80
327
|
rdoc_options: []
|
81
328
|
require_paths:
|
@@ -94,5 +341,5 @@ requirements: []
|
|
94
341
|
rubygems_version: 3.0.6
|
95
342
|
signing_key:
|
96
343
|
specification_version: 4
|
97
|
-
summary: Cody
|
344
|
+
summary: Cody provides a beautiful DSL to create and manage AWS CodeBuild projects
|
98
345
|
test_files: []
|