cody 0.9.5 → 1.0.1
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 +4 -4
- data/.gitmodules +0 -9
- data/CHANGELOG.md +23 -0
- data/Gemfile +0 -2
- data/cody.gemspec +3 -3
- data/lib/cody.rb +4 -8
- data/lib/cody/aws_services.rb +1 -1
- data/lib/cody/aws_services/helpers.rb +20 -3
- data/lib/cody/cli.rb +4 -13
- data/lib/cody/{badge.rb → cli/badge.rb} +1 -1
- data/lib/cody/{base.rb → cli/base.rb} +9 -3
- data/lib/cody/{delete.rb → cli/delete.rb} +3 -3
- data/lib/cody/cli/deploy.rb +7 -0
- data/lib/cody/cli/help.rb +11 -0
- data/lib/cody/{help → cli/help}/deploy.md +0 -0
- data/lib/cody/{help → cli/help}/init.md +0 -0
- data/lib/cody/{help → cli/help}/logs.md +0 -0
- data/lib/cody/{help → cli/help}/start.md +0 -0
- data/lib/cody/{help → cli/help}/stop.md +0 -0
- data/lib/cody/{init.rb → cli/init.rb} +1 -2
- data/lib/cody/{list.rb → cli/list.rb} +23 -4
- data/lib/cody/{logs.rb → cli/logs.rb} +3 -2
- data/lib/cody/{sequence.rb → cli/sequence.rb} +3 -3
- data/lib/cody/{start.rb → cli/start.rb} +3 -3
- data/lib/cody/{status.rb → cli/status.rb} +2 -1
- data/lib/cody/{stop.rb → cli/stop.rb} +2 -1
- data/lib/cody/command.rb +11 -0
- data/lib/cody/core.rb +5 -5
- data/lib/cody/dsl/base.rb +20 -0
- data/lib/cody/dsl/project.rb +54 -49
- data/lib/cody/dsl/role.rb +11 -11
- data/lib/cody/dsl/schedule.rb +8 -8
- data/lib/cody/list/no_builds_project.rb +9 -0
- data/lib/cody/list/project.rb +5 -2
- data/lib/cody/project.rb +26 -29
- data/lib/cody/role.rb +22 -23
- data/lib/cody/schedule.rb +39 -40
- data/lib/cody/stack.rb +16 -71
- data/lib/cody/stack/base.rb +104 -0
- data/lib/cody/{create.rb → stack/create.rb} +2 -2
- data/lib/cody/{update.rb → stack/update.rb} +2 -2
- data/lib/cody/tailer.rb +1 -1
- data/lib/cody/version.rb +1 -1
- data/lib/template/project/buildspec.yml +1 -1
- data/lib/template/project/project.rb.tt +5 -19
- metadata +66 -70
- data/lib/cody/completer.rb +0 -159
- data/lib/cody/completer/script.rb +0 -6
- data/lib/cody/completer/script.sh +0 -10
- data/lib/cody/deploy.rb +0 -40
- data/lib/cody/help.rb +0 -9
- data/lib/cody/help/completion.md +0 -22
- data/lib/cody/help/completion_script.md +0 -3
- data/vendor/aws_data/CHANGELOG.md +0 -7
- data/vendor/aws_data/Gemfile +0 -4
- data/vendor/aws_data/LICENSE.txt +0 -21
- data/vendor/aws_data/README.md +0 -42
- data/vendor/aws_data/Rakefile +0 -6
- data/vendor/aws_data/aws_data.gemspec +0 -30
- data/vendor/aws_data/bin/console +0 -14
- data/vendor/aws_data/bin/setup +0 -8
- data/vendor/aws_data/lib/aws_data.rb +0 -91
- data/vendor/aws_data/lib/aws_data/version.rb +0 -3
- data/vendor/aws_data/spec/aws_data_spec.rb +0 -5
- data/vendor/aws_data/spec/spec_helper.rb +0 -14
- data/vendor/cfn-status/Gemfile +0 -4
- data/vendor/cfn-status/LICENSE.txt +0 -21
- data/vendor/cfn-status/README.md +0 -56
- data/vendor/cfn-status/Rakefile +0 -6
- data/vendor/cfn-status/bin/console +0 -14
- data/vendor/cfn-status/bin/setup +0 -8
- data/vendor/cfn-status/cfn-status.gemspec +0 -30
- data/vendor/cfn-status/lib/cfn/aws_service.rb +0 -56
- data/vendor/cfn-status/lib/cfn/status.rb +0 -220
- data/vendor/cfn-status/lib/cfn/status/version.rb +0 -5
- data/vendor/cfn-status/spec/cfn/status_spec.rb +0 -81
- data/vendor/cfn-status/spec/fixtures/cfn/stack-events-complete.json +0 -1080
- data/vendor/cfn-status/spec/fixtures/cfn/stack-events-in-progress.json +0 -1080
- data/vendor/cfn-status/spec/fixtures/cfn/stack-events-update-rollback-complete.json +0 -1086
- data/vendor/cfn-status/spec/spec_helper.rb +0 -14
- data/vendor/cfn_camelizer/CHANGELOG.md +0 -10
- data/vendor/cfn_camelizer/Gemfile +0 -4
- data/vendor/cfn_camelizer/LICENSE.txt +0 -21
- data/vendor/cfn_camelizer/README.md +0 -40
- data/vendor/cfn_camelizer/Rakefile +0 -6
- data/vendor/cfn_camelizer/bin/console +0 -14
- data/vendor/cfn_camelizer/bin/setup +0 -8
- data/vendor/cfn_camelizer/cfn_camelizer.gemspec +0 -32
- data/vendor/cfn_camelizer/lib/camelizer.yml +0 -33
- data/vendor/cfn_camelizer/lib/cfn_camelizer.rb +0 -92
- data/vendor/cfn_camelizer/lib/cfn_camelizer/version.rb +0 -3
- data/vendor/cfn_camelizer/spec/cfn_camelizer_spec.rb +0 -79
- data/vendor/cfn_camelizer/spec/spec_helper.rb +0 -14
data/lib/cody/schedule.rb
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
module Cody
|
2
|
-
class Schedule
|
2
|
+
class Schedule < Dsl::Base
|
3
3
|
include Cody::Dsl::Schedule
|
4
4
|
include Evaluate
|
5
5
|
include Variables
|
6
6
|
|
7
7
|
def initialize(options={})
|
8
|
-
|
8
|
+
super
|
9
9
|
@schedule_path = options[:schedule_path] || get_schedule_path
|
10
|
-
@properties = default_properties
|
11
10
|
@iam_policy = {}
|
12
11
|
end
|
13
12
|
|
@@ -18,27 +17,27 @@ module Cody
|
|
18
17
|
load_variables
|
19
18
|
evaluate(@schedule_path)
|
20
19
|
|
21
|
-
@properties[:
|
20
|
+
@properties[:ScheduleExpression] = @schedule_expression if @schedule_expression
|
22
21
|
set_rule_event! if @rule_event_props
|
23
22
|
return if old_properties == @properties # empty schedule.rb file
|
24
23
|
|
25
24
|
resource = {
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
EventsRule: {
|
26
|
+
Type: "AWS::Events::Rule",
|
27
|
+
Properties: @properties
|
29
28
|
},
|
30
|
-
|
29
|
+
EventsRuleRole: events_rule_role,
|
31
30
|
}
|
32
|
-
|
31
|
+
auto_camelize(resource)
|
33
32
|
end
|
34
33
|
|
35
34
|
def set_rule_event!
|
36
35
|
props = @rule_event_props
|
37
|
-
if props.key?(:
|
38
|
-
description = props.key?(:
|
39
|
-
rule_props = {
|
40
|
-
else # if props.key?(:
|
41
|
-
props[:
|
36
|
+
if props.key?(:Detail)
|
37
|
+
description = props.key?(:Description) ? props.delete(:Description) : rule_description
|
38
|
+
rule_props = { EventPattern: props, description: description }
|
39
|
+
else # if props.key?(:EventPattern)
|
40
|
+
props[:Description] ||= rule_description
|
42
41
|
rule_props = props
|
43
42
|
end
|
44
43
|
|
@@ -49,15 +48,15 @@ module Cody
|
|
49
48
|
description = "Cody #{@options[:full_project_name]}"
|
50
49
|
name = description.gsub(" ", "-").downcase
|
51
50
|
{
|
52
|
-
|
53
|
-
#
|
54
|
-
|
55
|
-
#
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
51
|
+
Description: "#{description} CodeBuild project",
|
52
|
+
# EventPattern: ,
|
53
|
+
Name: name,
|
54
|
+
# ScheduleExpression: ,
|
55
|
+
State: "ENABLED",
|
56
|
+
Targets: [{
|
57
|
+
Arn: { "Fn::GetAtt": "CodeBuild.Arn" },
|
58
|
+
RoleArn: { "Fn::GetAtt": "EventsRuleRole.Arn" }, # required for specific CodeBuild target.
|
59
|
+
Id: "CodeBuildTarget",
|
61
60
|
}]
|
62
61
|
}
|
63
62
|
end
|
@@ -69,25 +68,25 @@ module Cody
|
|
69
68
|
|
70
69
|
def events_rule_role
|
71
70
|
{
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
71
|
+
Type: "AWS::IAM::Role",
|
72
|
+
Properties: {
|
73
|
+
AssumeRolePolicyDocument: {
|
74
|
+
Statement: [{
|
75
|
+
Action: [ "sts:AssumeRole" ],
|
76
|
+
Effect: "Allow",
|
77
|
+
Principal: { Service: [ "events.amazonaws.com" ] }
|
79
78
|
}],
|
80
|
-
|
79
|
+
Version: "2012-10-17"
|
81
80
|
},
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
81
|
+
Path: "/",
|
82
|
+
Policies: [{
|
83
|
+
PolicyName: "CodeBuildAccess",
|
84
|
+
PolicyDocument: {
|
85
|
+
Version: "2012-10-17",
|
86
|
+
Statement: [{
|
87
|
+
Action: "codebuild:StartBuild",
|
88
|
+
Effect: "Allow",
|
89
|
+
Resource: "arn:aws:codebuild:#{aws_data.region}:#{aws_data.account}:project/#{@options[:full_project_name]}"
|
91
90
|
}]
|
92
91
|
}
|
93
92
|
}]
|
data/lib/cody/stack.rb
CHANGED
@@ -2,92 +2,37 @@ require "aws-sdk-cloudformation"
|
|
2
2
|
|
3
3
|
module Cody
|
4
4
|
class Stack
|
5
|
-
include AwsServices
|
5
|
+
include Cody::AwsServices
|
6
6
|
|
7
7
|
def initialize(options)
|
8
8
|
@options = options
|
9
9
|
@project_name = @options[:project_name] || inferred_project_name
|
10
|
-
@stack_name = options[:stack_name] || inferred_stack_name(@project_name)
|
11
|
-
|
12
|
-
@full_project_name = project_name_convention(@project_name)
|
13
|
-
@template = {
|
14
|
-
"Description" => "CodeBuild Project: #{@full_project_name}",
|
15
|
-
"Resources" => {}
|
16
|
-
}
|
10
|
+
@stack_name = normalize_stack_name(options[:stack_name] || inferred_stack_name(@project_name))
|
17
11
|
end
|
18
12
|
|
19
13
|
def run
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
unless project_builder.exist?
|
26
|
-
puts "ERROR: Cody project does not exist: #{project_builder.project_path}".color(:red)
|
27
|
-
exit 1
|
28
|
-
return
|
29
|
-
end
|
30
|
-
project = project_builder.run
|
31
|
-
@template["Resources"].merge!(project)
|
32
|
-
|
33
|
-
if project["CodeBuild"]["Properties"]["ServiceRole"] == {"Ref"=>"IamRole"}
|
34
|
-
role = Role.new(options).run
|
35
|
-
@template["Resources"].merge!(role)
|
36
|
-
end
|
37
|
-
|
38
|
-
schedule = Schedule.new(options).run
|
39
|
-
@template["Resources"].merge!(schedule) if schedule
|
40
|
-
|
41
|
-
template_path = "/tmp/codebuild.yml"
|
42
|
-
FileUtils.mkdir_p(File.dirname(template_path))
|
43
|
-
IO.write(template_path, YAML.dump(@template))
|
44
|
-
puts "Generated CloudFormation template at #{template_path.color(:green)}"
|
45
|
-
return if @options[:noop]
|
46
|
-
puts "Deploying stack #{@stack_name.color(:green)} with CodeBuild project #{@full_project_name.color(:green)}"
|
47
|
-
|
48
|
-
begin
|
49
|
-
perform
|
50
|
-
url_info
|
51
|
-
return unless @options[:wait]
|
52
|
-
status.wait
|
53
|
-
exit 2 unless status.success?
|
54
|
-
rescue Aws::CloudFormation::Errors::ValidationError => e
|
55
|
-
if e.message.include?("No updates") # No updates are to be performed.
|
56
|
-
puts "WARN: #{e.message}".color(:yellow)
|
57
|
-
else
|
58
|
-
puts "ERROR ValidationError: #{e.message}".color(:red)
|
59
|
-
exit 1
|
60
|
-
end
|
14
|
+
handle_rollback_completed!
|
15
|
+
if stack_exists?(@stack_name)
|
16
|
+
Update.new(@options).run
|
17
|
+
else
|
18
|
+
Create.new(@options).run
|
61
19
|
end
|
62
20
|
end
|
63
21
|
|
64
22
|
private
|
65
|
-
def
|
66
|
-
stack =
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
@status ||= Cfn::Status.new(@stack_name)
|
23
|
+
def handle_rollback_completed!
|
24
|
+
@stack = find_stack(@stack_name)
|
25
|
+
if @stack && rollback_complete?(@stack)
|
26
|
+
puts "Existing stack in ROLLBACK_COMPLETE state. Deleting stack before continuing."
|
27
|
+
cfn.delete_stack(stack_name: @stack_name)
|
28
|
+
status.wait
|
29
|
+
status.reset
|
30
|
+
@stack = nil # at this point stack has been deleted
|
31
|
+
end
|
75
32
|
end
|
76
33
|
|
77
34
|
def rollback_complete?(stack)
|
78
35
|
stack.stack_status == 'ROLLBACK_COMPLETE'
|
79
36
|
end
|
80
|
-
|
81
|
-
def find_stack(stack_name)
|
82
|
-
resp = cfn.describe_stacks(stack_name: stack_name)
|
83
|
-
resp.stacks.first
|
84
|
-
rescue Aws::CloudFormation::Errors::ValidationError => e
|
85
|
-
# example: Stack with id demo-web does not exist
|
86
|
-
if e.message =~ /Stack with/ && e.message =~ /does not exist/
|
87
|
-
nil
|
88
|
-
else
|
89
|
-
raise
|
90
|
-
end
|
91
|
-
end
|
92
37
|
end
|
93
38
|
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
class Cody::Stack
|
2
|
+
class Base
|
3
|
+
include Cody::AwsServices
|
4
|
+
|
5
|
+
def initialize(options)
|
6
|
+
@options = options
|
7
|
+
@project_name = @options[:project_name] || inferred_project_name
|
8
|
+
@stack_name = normalize_stack_name(options[:stack_name] || inferred_stack_name(@project_name))
|
9
|
+
|
10
|
+
@full_project_name = project_name_convention(@project_name)
|
11
|
+
@template = {
|
12
|
+
"Description" => "CodeBuild Project: #{@full_project_name}",
|
13
|
+
"Resources" => {}
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
def run
|
18
|
+
options = @options.merge(
|
19
|
+
project_name: @project_name,
|
20
|
+
full_project_name: @full_project_name,
|
21
|
+
)
|
22
|
+
project_builder = Cody::Project.new(options)
|
23
|
+
unless project_builder.exist?
|
24
|
+
puts "ERROR: Cody project does not exist: #{project_builder.project_path}".color(:red)
|
25
|
+
exit 1
|
26
|
+
return
|
27
|
+
end
|
28
|
+
project = project_builder.run
|
29
|
+
@template["Resources"].merge!(project)
|
30
|
+
|
31
|
+
if project["CodeBuild"]["Properties"]["ServiceRole"] == {"Ref"=>"IamRole"}
|
32
|
+
role = Cody::Role.new(options).run
|
33
|
+
@template["Resources"].merge!(role)
|
34
|
+
end
|
35
|
+
|
36
|
+
schedule = Cody::Schedule.new(options).run
|
37
|
+
@template["Resources"].merge!(schedule) if schedule
|
38
|
+
|
39
|
+
template_path = "/tmp/codebuild.yml"
|
40
|
+
FileUtils.mkdir_p(File.dirname(template_path))
|
41
|
+
IO.write(template_path, YAML.dump(@template))
|
42
|
+
puts "Generated CloudFormation template at #{template_path.color(:green)}"
|
43
|
+
return if @options[:noop]
|
44
|
+
puts "Deploying stack #{@stack_name.color(:green)} with CodeBuild project #{@full_project_name.color(:green)}"
|
45
|
+
|
46
|
+
begin
|
47
|
+
perform
|
48
|
+
url_info
|
49
|
+
return unless @options[:wait]
|
50
|
+
status.wait
|
51
|
+
exit 2 unless status.success?
|
52
|
+
rescue Aws::CloudFormation::Errors::ValidationError => e
|
53
|
+
if e.message.include?("No updates") # No updates are to be performed.
|
54
|
+
puts "WARN: #{e.message}".color(:yellow)
|
55
|
+
else
|
56
|
+
puts "ERROR ValidationError: #{e.message}".color(:red)
|
57
|
+
exit 1
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
private
|
63
|
+
def url_info
|
64
|
+
stack = cfn.describe_stacks(stack_name: @stack_name).stacks.first
|
65
|
+
region = `aws configure get region`.strip rescue "us-east-1"
|
66
|
+
url = "https://console.aws.amazon.com/cloudformation/home?region=#{region}#/stacks"
|
67
|
+
puts "Stack name #{@stack_name.color(:yellow)} status #{stack["stack_status"].color(:yellow)}"
|
68
|
+
puts "Here's the CloudFormation url to check for more details #{url}"
|
69
|
+
end
|
70
|
+
|
71
|
+
def status
|
72
|
+
@status ||= CfnStatus.new(@stack_name)
|
73
|
+
end
|
74
|
+
|
75
|
+
def rollback_complete?(stack)
|
76
|
+
stack.stack_status == 'ROLLBACK_COMPLETE'
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
def handle_rollback_completed!
|
81
|
+
@stack = find_stack(@stack_name)
|
82
|
+
if @stack && rollback_complete?(@stack)
|
83
|
+
puts "Existing stack in ROLLBACK_COMPLETE state. Deleting stack before continuing."
|
84
|
+
cfn.delete_stack(stack_name: @stack_name)
|
85
|
+
status.wait
|
86
|
+
status.reset
|
87
|
+
@stack = nil # at this point stack has been deleted
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
def find_stack(stack_name)
|
92
|
+
return if ENV['TEST']
|
93
|
+
resp = cfn.describe_stacks(stack_name: stack_name)
|
94
|
+
resp.stacks.first
|
95
|
+
rescue Aws::CloudFormation::Errors::ValidationError => e
|
96
|
+
# example: Stack with id demo-web does not exist
|
97
|
+
if e.message =~ /Stack with/ && e.message =~ /does not exist/
|
98
|
+
nil
|
99
|
+
else
|
100
|
+
raise
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
data/lib/cody/tailer.rb
CHANGED
data/lib/cody/version.rb
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# For methods, refer to the properties of the CloudFormation CodeBuild::Project https://amzn.to/2UTeNlr
|
2
2
|
# For convenience methods, refer to the source https://github.com/tongueroo/cody/blob/master/lib/cody/dsl/project.rb
|
3
|
+
# Docs:
|
4
|
+
#
|
5
|
+
# * https://cody.run/docs/dsl/project/
|
6
|
+
# * https://cody.run/docs/docs/dsl/helpers/
|
7
|
+
#
|
3
8
|
|
4
9
|
# name("example-project-name") # recommend leaving unset and codebuild will use a conventional name
|
5
10
|
github_url("<%= project_github_url %>")
|
@@ -8,22 +13,3 @@ environment_variables(
|
|
8
13
|
JETS_ENV: "test",
|
9
14
|
# API_KEY: "ssm:/codebuild/demo/api_key" # Example of ssm parameter
|
10
15
|
)
|
11
|
-
|
12
|
-
# Some useful helpers:
|
13
|
-
# puts "project_name #{project_name}" # IE: demo-web
|
14
|
-
# puts "full_project_name #{full_project_name}" # demo-web-development
|
15
|
-
|
16
|
-
# Uncomment to enable github webhook, the GitHub oauth token needs admin:repo_hook permissions
|
17
|
-
# Refer to https://cody.run/docs/github_oauth/
|
18
|
-
# triggers(webhook: true)
|
19
|
-
# Another example:
|
20
|
-
# Docs: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html
|
21
|
-
# {type: "EVENT", pattern: "PUSH"} is required
|
22
|
-
# Also, note the extra brackets: [[]] is actually the proper format. I know weird.
|
23
|
-
# triggers(
|
24
|
-
# webhook: true,
|
25
|
-
# filter_groups: [[{type: "HEAD_REF", pattern: "my-branch"}, {type: "EVENT", pattern: "PUSH"}]]
|
26
|
-
# )
|
27
|
-
|
28
|
-
# Shorthand to enable all local cache modes
|
29
|
-
# local_cache(true)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cody
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -94,6 +94,48 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: aws_data
|
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: cfn-status
|
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: cfn_camelizer
|
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'
|
97
139
|
- !ruby/object:Gem::Dependency
|
98
140
|
name: cli-format
|
99
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -276,47 +318,45 @@ files:
|
|
276
318
|
- lib/cody/autoloader.rb
|
277
319
|
- lib/cody/aws_services.rb
|
278
320
|
- lib/cody/aws_services/helpers.rb
|
279
|
-
- lib/cody/badge.rb
|
280
|
-
- lib/cody/base.rb
|
281
321
|
- lib/cody/cli.rb
|
322
|
+
- lib/cody/cli/badge.rb
|
323
|
+
- lib/cody/cli/base.rb
|
324
|
+
- lib/cody/cli/delete.rb
|
325
|
+
- lib/cody/cli/deploy.rb
|
326
|
+
- lib/cody/cli/help.rb
|
327
|
+
- lib/cody/cli/help/deploy.md
|
328
|
+
- lib/cody/cli/help/init.md
|
329
|
+
- lib/cody/cli/help/logs.md
|
330
|
+
- lib/cody/cli/help/start.md
|
331
|
+
- lib/cody/cli/help/stop.md
|
332
|
+
- lib/cody/cli/init.rb
|
333
|
+
- lib/cody/cli/list.rb
|
334
|
+
- lib/cody/cli/logs.rb
|
335
|
+
- lib/cody/cli/sequence.rb
|
336
|
+
- lib/cody/cli/start.rb
|
337
|
+
- lib/cody/cli/status.rb
|
338
|
+
- lib/cody/cli/stop.rb
|
282
339
|
- lib/cody/command.rb
|
283
|
-
- lib/cody/completer.rb
|
284
|
-
- lib/cody/completer/script.rb
|
285
|
-
- lib/cody/completer/script.sh
|
286
340
|
- lib/cody/core.rb
|
287
|
-
- lib/cody/create.rb
|
288
341
|
- lib/cody/default/settings.yml
|
289
|
-
- lib/cody/
|
290
|
-
- lib/cody/deploy.rb
|
342
|
+
- lib/cody/dsl/base.rb
|
291
343
|
- lib/cody/dsl/project.rb
|
292
344
|
- lib/cody/dsl/project/ssm.rb
|
293
345
|
- lib/cody/dsl/role.rb
|
294
346
|
- lib/cody/dsl/schedule.rb
|
295
347
|
- lib/cody/evaluate.rb
|
296
348
|
- lib/cody/evaluate/interface.rb
|
297
|
-
- lib/cody/
|
298
|
-
- lib/cody/help/completion.md
|
299
|
-
- lib/cody/help/completion_script.md
|
300
|
-
- lib/cody/help/deploy.md
|
301
|
-
- lib/cody/help/init.md
|
302
|
-
- lib/cody/help/logs.md
|
303
|
-
- lib/cody/help/start.md
|
304
|
-
- lib/cody/help/stop.md
|
305
|
-
- lib/cody/init.rb
|
306
|
-
- lib/cody/list.rb
|
349
|
+
- lib/cody/list/no_builds_project.rb
|
307
350
|
- lib/cody/list/project.rb
|
308
|
-
- lib/cody/logs.rb
|
309
351
|
- lib/cody/project.rb
|
310
352
|
- lib/cody/role.rb
|
311
353
|
- lib/cody/schedule.rb
|
312
|
-
- lib/cody/sequence.rb
|
313
354
|
- lib/cody/setting.rb
|
314
355
|
- lib/cody/stack.rb
|
315
|
-
- lib/cody/
|
316
|
-
- lib/cody/
|
317
|
-
- lib/cody/
|
356
|
+
- lib/cody/stack/base.rb
|
357
|
+
- lib/cody/stack/create.rb
|
358
|
+
- lib/cody/stack/update.rb
|
318
359
|
- lib/cody/tailer.rb
|
319
|
-
- lib/cody/update.rb
|
320
360
|
- lib/cody/variables.rb
|
321
361
|
- lib/cody/version.rb
|
322
362
|
- lib/template/project/buildspec.yml
|
@@ -328,50 +368,6 @@ files:
|
|
328
368
|
- lib/template/top/variables/base.rb
|
329
369
|
- lib/template/top/variables/development.rb
|
330
370
|
- lib/template/top/variables/production.rb
|
331
|
-
- vendor/aws_data/CHANGELOG.md
|
332
|
-
- vendor/aws_data/Gemfile
|
333
|
-
- vendor/aws_data/Gemfile.lock
|
334
|
-
- vendor/aws_data/LICENSE.txt
|
335
|
-
- vendor/aws_data/README.md
|
336
|
-
- vendor/aws_data/Rakefile
|
337
|
-
- vendor/aws_data/aws_data.gemspec
|
338
|
-
- vendor/aws_data/bin/console
|
339
|
-
- vendor/aws_data/bin/setup
|
340
|
-
- vendor/aws_data/lib/aws_data.rb
|
341
|
-
- vendor/aws_data/lib/aws_data/version.rb
|
342
|
-
- vendor/aws_data/pkg/aws_data-0.1.0.gem
|
343
|
-
- vendor/aws_data/spec/aws_data_spec.rb
|
344
|
-
- vendor/aws_data/spec/spec_helper.rb
|
345
|
-
- vendor/cfn-status/Gemfile
|
346
|
-
- vendor/cfn-status/Gemfile.lock
|
347
|
-
- vendor/cfn-status/LICENSE.txt
|
348
|
-
- vendor/cfn-status/README.md
|
349
|
-
- vendor/cfn-status/Rakefile
|
350
|
-
- vendor/cfn-status/bin/console
|
351
|
-
- vendor/cfn-status/bin/setup
|
352
|
-
- vendor/cfn-status/cfn-status.gemspec
|
353
|
-
- vendor/cfn-status/lib/cfn/aws_service.rb
|
354
|
-
- vendor/cfn-status/lib/cfn/status.rb
|
355
|
-
- vendor/cfn-status/lib/cfn/status/version.rb
|
356
|
-
- vendor/cfn-status/spec/cfn/status_spec.rb
|
357
|
-
- vendor/cfn-status/spec/fixtures/cfn/stack-events-complete.json
|
358
|
-
- vendor/cfn-status/spec/fixtures/cfn/stack-events-in-progress.json
|
359
|
-
- vendor/cfn-status/spec/fixtures/cfn/stack-events-update-rollback-complete.json
|
360
|
-
- vendor/cfn-status/spec/spec_helper.rb
|
361
|
-
- vendor/cfn_camelizer/CHANGELOG.md
|
362
|
-
- vendor/cfn_camelizer/Gemfile
|
363
|
-
- vendor/cfn_camelizer/Gemfile.lock
|
364
|
-
- vendor/cfn_camelizer/LICENSE.txt
|
365
|
-
- vendor/cfn_camelizer/README.md
|
366
|
-
- vendor/cfn_camelizer/Rakefile
|
367
|
-
- vendor/cfn_camelizer/bin/console
|
368
|
-
- vendor/cfn_camelizer/bin/setup
|
369
|
-
- vendor/cfn_camelizer/cfn_camelizer.gemspec
|
370
|
-
- vendor/cfn_camelizer/lib/camelizer.yml
|
371
|
-
- vendor/cfn_camelizer/lib/cfn_camelizer.rb
|
372
|
-
- vendor/cfn_camelizer/lib/cfn_camelizer/version.rb
|
373
|
-
- vendor/cfn_camelizer/spec/cfn_camelizer_spec.rb
|
374
|
-
- vendor/cfn_camelizer/spec/spec_helper.rb
|
375
371
|
homepage: https://github.com/tongueroo/cody
|
376
372
|
licenses:
|
377
373
|
- MIT
|