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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +0 -9
  3. data/CHANGELOG.md +23 -0
  4. data/Gemfile +0 -2
  5. data/cody.gemspec +3 -3
  6. data/lib/cody.rb +4 -8
  7. data/lib/cody/aws_services.rb +1 -1
  8. data/lib/cody/aws_services/helpers.rb +20 -3
  9. data/lib/cody/cli.rb +4 -13
  10. data/lib/cody/{badge.rb → cli/badge.rb} +1 -1
  11. data/lib/cody/{base.rb → cli/base.rb} +9 -3
  12. data/lib/cody/{delete.rb → cli/delete.rb} +3 -3
  13. data/lib/cody/cli/deploy.rb +7 -0
  14. data/lib/cody/cli/help.rb +11 -0
  15. data/lib/cody/{help → cli/help}/deploy.md +0 -0
  16. data/lib/cody/{help → cli/help}/init.md +0 -0
  17. data/lib/cody/{help → cli/help}/logs.md +0 -0
  18. data/lib/cody/{help → cli/help}/start.md +0 -0
  19. data/lib/cody/{help → cli/help}/stop.md +0 -0
  20. data/lib/cody/{init.rb → cli/init.rb} +1 -2
  21. data/lib/cody/{list.rb → cli/list.rb} +23 -4
  22. data/lib/cody/{logs.rb → cli/logs.rb} +3 -2
  23. data/lib/cody/{sequence.rb → cli/sequence.rb} +3 -3
  24. data/lib/cody/{start.rb → cli/start.rb} +3 -3
  25. data/lib/cody/{status.rb → cli/status.rb} +2 -1
  26. data/lib/cody/{stop.rb → cli/stop.rb} +2 -1
  27. data/lib/cody/command.rb +11 -0
  28. data/lib/cody/core.rb +5 -5
  29. data/lib/cody/dsl/base.rb +20 -0
  30. data/lib/cody/dsl/project.rb +54 -49
  31. data/lib/cody/dsl/role.rb +11 -11
  32. data/lib/cody/dsl/schedule.rb +8 -8
  33. data/lib/cody/list/no_builds_project.rb +9 -0
  34. data/lib/cody/list/project.rb +5 -2
  35. data/lib/cody/project.rb +26 -29
  36. data/lib/cody/role.rb +22 -23
  37. data/lib/cody/schedule.rb +39 -40
  38. data/lib/cody/stack.rb +16 -71
  39. data/lib/cody/stack/base.rb +104 -0
  40. data/lib/cody/{create.rb → stack/create.rb} +2 -2
  41. data/lib/cody/{update.rb → stack/update.rb} +2 -2
  42. data/lib/cody/tailer.rb +1 -1
  43. data/lib/cody/version.rb +1 -1
  44. data/lib/template/project/buildspec.yml +1 -1
  45. data/lib/template/project/project.rb.tt +5 -19
  46. metadata +66 -70
  47. data/lib/cody/completer.rb +0 -159
  48. data/lib/cody/completer/script.rb +0 -6
  49. data/lib/cody/completer/script.sh +0 -10
  50. data/lib/cody/deploy.rb +0 -40
  51. data/lib/cody/help.rb +0 -9
  52. data/lib/cody/help/completion.md +0 -22
  53. data/lib/cody/help/completion_script.md +0 -3
  54. data/vendor/aws_data/CHANGELOG.md +0 -7
  55. data/vendor/aws_data/Gemfile +0 -4
  56. data/vendor/aws_data/LICENSE.txt +0 -21
  57. data/vendor/aws_data/README.md +0 -42
  58. data/vendor/aws_data/Rakefile +0 -6
  59. data/vendor/aws_data/aws_data.gemspec +0 -30
  60. data/vendor/aws_data/bin/console +0 -14
  61. data/vendor/aws_data/bin/setup +0 -8
  62. data/vendor/aws_data/lib/aws_data.rb +0 -91
  63. data/vendor/aws_data/lib/aws_data/version.rb +0 -3
  64. data/vendor/aws_data/spec/aws_data_spec.rb +0 -5
  65. data/vendor/aws_data/spec/spec_helper.rb +0 -14
  66. data/vendor/cfn-status/Gemfile +0 -4
  67. data/vendor/cfn-status/LICENSE.txt +0 -21
  68. data/vendor/cfn-status/README.md +0 -56
  69. data/vendor/cfn-status/Rakefile +0 -6
  70. data/vendor/cfn-status/bin/console +0 -14
  71. data/vendor/cfn-status/bin/setup +0 -8
  72. data/vendor/cfn-status/cfn-status.gemspec +0 -30
  73. data/vendor/cfn-status/lib/cfn/aws_service.rb +0 -56
  74. data/vendor/cfn-status/lib/cfn/status.rb +0 -220
  75. data/vendor/cfn-status/lib/cfn/status/version.rb +0 -5
  76. data/vendor/cfn-status/spec/cfn/status_spec.rb +0 -81
  77. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-complete.json +0 -1080
  78. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-in-progress.json +0 -1080
  79. data/vendor/cfn-status/spec/fixtures/cfn/stack-events-update-rollback-complete.json +0 -1086
  80. data/vendor/cfn-status/spec/spec_helper.rb +0 -14
  81. data/vendor/cfn_camelizer/CHANGELOG.md +0 -10
  82. data/vendor/cfn_camelizer/Gemfile +0 -4
  83. data/vendor/cfn_camelizer/LICENSE.txt +0 -21
  84. data/vendor/cfn_camelizer/README.md +0 -40
  85. data/vendor/cfn_camelizer/Rakefile +0 -6
  86. data/vendor/cfn_camelizer/bin/console +0 -14
  87. data/vendor/cfn_camelizer/bin/setup +0 -8
  88. data/vendor/cfn_camelizer/cfn_camelizer.gemspec +0 -32
  89. data/vendor/cfn_camelizer/lib/camelizer.yml +0 -33
  90. data/vendor/cfn_camelizer/lib/cfn_camelizer.rb +0 -92
  91. data/vendor/cfn_camelizer/lib/cfn_camelizer/version.rb +0 -3
  92. data/vendor/cfn_camelizer/spec/cfn_camelizer_spec.rb +0 -79
  93. data/vendor/cfn_camelizer/spec/spec_helper.rb +0 -14
@@ -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
- @options = options
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[:schedule_expression] = @schedule_expression if @schedule_expression
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
- events_rule: {
27
- type: "AWS::Events::Rule",
28
- properties: @properties
25
+ EventsRule: {
26
+ Type: "AWS::Events::Rule",
27
+ Properties: @properties
29
28
  },
30
- events_rule_role: events_rule_role,
29
+ EventsRuleRole: events_rule_role,
31
30
  }
32
- CfnCamelizer.transform(resource)
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?(:detail)
38
- description = props.key?(:description) ? props.delete(:description) : rule_description
39
- rule_props = { event_pattern: props, description: description }
40
- else # if props.key?(:event_pattern)
41
- props[:description] ||= rule_description
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
- description: "#{description} CodeBuild project",
53
- # event_pattern: ,
54
- name: name,
55
- # schedule_expression: ,
56
- state: "ENABLED",
57
- targets: [{
58
- arn: { "Fn::GetAtt": "CodeBuild.Arn" },
59
- role_arn: { "Fn::GetAtt": "EventsRuleRole.Arn" }, # required for specific CodeBuild target.
60
- id: "CodeBuildTarget",
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
- type: "AWS::IAM::Role",
73
- properties: {
74
- assume_role_policy_document: {
75
- statement: [{
76
- action: [ "sts:AssumeRole" ],
77
- effect: "Allow",
78
- principal: { service: [ "events.amazonaws.com" ] }
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
- version: "2012-10-17"
79
+ Version: "2012-10-17"
81
80
  },
82
- path: "/",
83
- policies: [{
84
- policy_name: "CodeBuildAccess",
85
- policy_document: {
86
- version: "2012-10-17",
87
- statement: [{
88
- action: "codebuild:StartBuild",
89
- effect: "Allow",
90
- resource: "arn:aws:codebuild:#{aws_data.region}:#{aws_data.account}:project/#{@options[:full_project_name]}"
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
  }]
@@ -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
- options = @options.merge(
21
- project_name: @project_name,
22
- full_project_name: @full_project_name,
23
- )
24
- project_builder = Project.new(options)
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 url_info
66
- stack = cfn.describe_stacks(stack_name: @stack_name).stacks.first
67
- region = `aws configure get region`.strip rescue "us-east-1"
68
- url = "https://console.aws.amazon.com/cloudformation/home?region=#{region}#/stacks"
69
- puts "Stack name #{@stack_name.color(:yellow)} status #{stack["stack_status"].color(:yellow)}"
70
- puts "Here's the CloudFormation url to check for more details #{url}"
71
- end
72
-
73
- def status
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
@@ -1,5 +1,5 @@
1
- module Cody
2
- class Create < Stack
1
+ class Cody::Stack
2
+ class Create < Base
3
3
  def perform
4
4
  cfn.create_stack(
5
5
  stack_name: @stack_name,
@@ -1,5 +1,5 @@
1
- module Cody
2
- class Update < Stack
1
+ class Cody::Stack
2
+ class Update < Base
3
3
  def perform
4
4
  cfn.update_stack(
5
5
  stack_name: @stack_name,
@@ -2,7 +2,7 @@ require "aws-logs"
2
2
 
3
3
  module Cody
4
4
  class Tailer
5
- include AwsServices
5
+ include Cody::AwsServices
6
6
 
7
7
  def initialize(options, build_id)
8
8
  @options, @build_id = options, build_id
@@ -1,3 +1,3 @@
1
1
  module Cody
2
- VERSION = "0.9.5"
2
+ VERSION = "1.0.1"
3
3
  end
@@ -5,7 +5,7 @@ version: 0.2
5
5
  phases:
6
6
  install:
7
7
  runtime-versions:
8
- ruby: 2.6
8
+ ruby: latest
9
9
  build:
10
10
  commands:
11
11
  - uptime
@@ -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.9.5
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-03-25 00:00:00.000000000 Z
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/delete.rb
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/help.rb
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/start.rb
316
- - lib/cody/status.rb
317
- - lib/cody/stop.rb
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