convection 0.2.12 → 0.2.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +5 -0
- data/.rubocop_todo.yml +31 -17
- data/lib/convection/control/stack.rb +18 -18
- data/lib/convection/dsl/helpers.rb +3 -3
- data/lib/convection/model/mixin/policy.rb +1 -1
- data/lib/convection/model/template.rb +1 -1
- data/lib/convection/model/template/condition.rb +1 -1
- data/lib/convection/model/template/resource/aws_elasticache_replication_group.rb +34 -0
- data/lib/convection/model/template/resource/aws_elasticbeanstalk_application.rb +17 -0
- data/lib/convection/model/template/resource/aws_elasticbeanstalk_applicationversion.rb +18 -0
- data/lib/convection/model/template/resource/aws_elasticbeanstalk_configurationtemplate.rb +21 -0
- data/lib/convection/model/template/resource/aws_elasticbeanstalk_environment.rb +25 -0
- data/lib/convection/model/template/resource/aws_s3_bucket.rb +1 -1
- data/lib/convection/version.rb +1 -1
- data/test/convection/model/test_validation.rb +1 -1
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2a32482c234ff9f7b1e21880c89a908f56e6941
|
4
|
+
data.tar.gz: 2e85ff91a4f8a3113f79dbd4419eb9a8fd40154b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b020485dc81ae2cda1f2e144804f2ddd051086c3c1203241e7869877c8a45842d7005de6e5a7f3fbe23040ae83f70cb939c5ed57147a26612611fa3b1a861cb1
|
7
|
+
data.tar.gz: 6573b5f42ec7252432e0b9ac26d29fb4c27286ccdaf5af3d7002920016c04b5ada75932f18e271c4925ba6c642c03fbb33eb90d7bf162ff82b6491741e400bad
|
data/.rubocop.yml
CHANGED
@@ -10,6 +10,7 @@ AllCops:
|
|
10
10
|
- Thorfile
|
11
11
|
Exclude:
|
12
12
|
- example/**/*
|
13
|
+
- 'lib/convection/model/template/mapping.rb' # Something is causing this file to fail
|
13
14
|
|
14
15
|
Encoding:
|
15
16
|
Enabled: false
|
@@ -19,6 +20,10 @@ HashSyntax:
|
|
19
20
|
Enabled: false
|
20
21
|
SpaceInsideStringInterpolation:
|
21
22
|
Enabled: false
|
23
|
+
Performance/RedundantBlockCall:
|
24
|
+
Enabled: false
|
25
|
+
Style/SignalException:
|
26
|
+
Enabled: false
|
22
27
|
|
23
28
|
# AbcSize:
|
24
29
|
# Max: 24
|
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2016-02-05 13:27:18 -0500 using RuboCop version 0.37.0.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
@@ -16,30 +16,31 @@ Lint/UselessAssignment:
|
|
16
16
|
Exclude:
|
17
17
|
- 'lib/convection/model/template.rb'
|
18
18
|
|
19
|
-
# Offense count:
|
19
|
+
# Offense count: 30
|
20
20
|
Metrics/AbcSize:
|
21
21
|
Max: 57
|
22
22
|
|
23
|
-
# Offense count:
|
23
|
+
# Offense count: 3
|
24
24
|
# Configuration parameters: CountComments.
|
25
25
|
Metrics/ClassLength:
|
26
26
|
Max: 267
|
27
27
|
|
28
|
-
# Offense count:
|
28
|
+
# Offense count: 6
|
29
29
|
Metrics/CyclomaticComplexity:
|
30
30
|
Max: 13
|
31
31
|
|
32
|
-
# Offense count:
|
33
|
-
# Configuration parameters: AllowURI, URISchemes.
|
32
|
+
# Offense count: 122
|
33
|
+
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
|
34
|
+
# URISchemes: http, https
|
34
35
|
Metrics/LineLength:
|
35
36
|
Max: 151
|
36
37
|
|
37
|
-
# Offense count:
|
38
|
+
# Offense count: 32
|
38
39
|
# Configuration parameters: CountComments.
|
39
40
|
Metrics/MethodLength:
|
40
41
|
Max: 35
|
41
42
|
|
42
|
-
# Offense count:
|
43
|
+
# Offense count: 5
|
43
44
|
Metrics/PerceivedComplexity:
|
44
45
|
Max: 13
|
45
46
|
|
@@ -48,30 +49,43 @@ Style/AccessorMethodName:
|
|
48
49
|
Exclude:
|
49
50
|
- 'lib/convection/control/stack.rb'
|
50
51
|
|
52
|
+
# Offense count: 7
|
53
|
+
# Cop supports --auto-correct.
|
54
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
55
|
+
# SupportedStyles: prefer_alias, prefer_alias_method
|
56
|
+
Style/Alias:
|
57
|
+
Exclude:
|
58
|
+
- 'lib/convection/control/stack.rb'
|
59
|
+
- 'lib/convection/model/template/resource.rb'
|
60
|
+
- 'lib/convection/model/template/resource_property.rb'
|
61
|
+
- 'lib/convection/model/template/resource_property/aws_ec2_network_interface.rb'
|
62
|
+
|
51
63
|
# Offense count: 3
|
52
64
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
65
|
+
# SupportedStyles: nested, compact
|
53
66
|
Style/ClassAndModuleChildren:
|
54
67
|
Exclude:
|
55
68
|
- 'lib/convection/model/template.rb'
|
56
69
|
- 'test/test_helper.rb'
|
57
70
|
|
58
|
-
# Offense count:
|
71
|
+
# Offense count: 4
|
59
72
|
Style/Documentation:
|
60
73
|
Exclude:
|
74
|
+
- 'spec/**/*'
|
75
|
+
- 'test/**/*'
|
61
76
|
- 'lib/convection/model/attributes.rb'
|
62
77
|
- 'lib/convection/model/mixin/colorize.rb'
|
63
78
|
- 'lib/convection/model/template/condition.rb'
|
64
|
-
- 'test/convection/model/test_conditions.rb'
|
65
|
-
- 'test/convection/model/test_elasticache.rb'
|
66
|
-
- 'test/convection/model/test_loggroups.rb'
|
67
|
-
- 'test/convection/model/test_rds.rb'
|
68
|
-
- 'test/convection/model/test_template.rb'
|
69
|
-
- 'test/convection/model/test_validation.rb'
|
70
|
-
- 'test/test_helper.rb'
|
71
79
|
|
72
80
|
# Offense count: 1
|
73
81
|
# Cop supports --auto-correct.
|
74
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
82
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
|
83
|
+
# SupportedStyles: consistent, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
|
75
84
|
Style/FirstParameterIndentation:
|
76
85
|
Exclude:
|
77
86
|
- 'lib/convection/model/mixin/taggable.rb'
|
87
|
+
|
88
|
+
# Added manually
|
89
|
+
Style/ConditionalAssignment:
|
90
|
+
Exclude:
|
91
|
+
- 'lib/convection/model/template/condition.rb'
|
@@ -31,26 +31,26 @@ module Convection
|
|
31
31
|
attr_accessor :on_failure
|
32
32
|
|
33
33
|
## Valid Stack Statuses
|
34
|
-
CREATE_COMPLETE = 'CREATE_COMPLETE'
|
35
|
-
CREATE_FAILED = 'CREATE_FAILED'
|
36
|
-
CREATE_IN_PROGRESS = 'CREATE_IN_PROGRESS'
|
37
|
-
DELETE_COMPLETE = 'DELETE_COMPLETE'
|
38
|
-
DELETE_FAILED = 'DELETE_FAILED'
|
39
|
-
DELETE_IN_PROGRESS = 'DELETE_IN_PROGRESS'
|
40
|
-
ROLLBACK_COMPLETE = 'ROLLBACK_COMPLETE'
|
41
|
-
ROLLBACK_FAILED = 'ROLLBACK_FAILED'
|
42
|
-
ROLLBACK_IN_PROGRESS = 'ROLLBACK_IN_PROGRESS'
|
43
|
-
UPDATE_COMPLETE = 'UPDATE_COMPLETE'
|
44
|
-
UPDATE_COMPLETE_CLEANUP_IN_PROGRESS = 'UPDATE_COMPLETE_CLEANUP_IN_PROGRESS'
|
45
|
-
UPDATE_FAILED = 'UPDATE_FAILED'
|
46
|
-
UPDATE_IN_PROGRESS = 'UPDATE_IN_PROGRESS'
|
47
|
-
UPDATE_ROLLBACK_COMPLETE = 'UPDATE_ROLLBACK_COMPLETE'
|
48
|
-
UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS = 'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS'
|
49
|
-
UPDATE_ROLLBACK_FAILED = 'UPDATE_ROLLBACK_FAILED'
|
50
|
-
UPDATE_ROLLBACK_IN_PROGRESS = 'UPDATE_ROLLBACK_IN_PROGRESS'
|
34
|
+
CREATE_COMPLETE = 'CREATE_COMPLETE'.freeze
|
35
|
+
CREATE_FAILED = 'CREATE_FAILED'.freeze
|
36
|
+
CREATE_IN_PROGRESS = 'CREATE_IN_PROGRESS'.freeze
|
37
|
+
DELETE_COMPLETE = 'DELETE_COMPLETE'.freeze
|
38
|
+
DELETE_FAILED = 'DELETE_FAILED'.freeze
|
39
|
+
DELETE_IN_PROGRESS = 'DELETE_IN_PROGRESS'.freeze
|
40
|
+
ROLLBACK_COMPLETE = 'ROLLBACK_COMPLETE'.freeze
|
41
|
+
ROLLBACK_FAILED = 'ROLLBACK_FAILED'.freeze
|
42
|
+
ROLLBACK_IN_PROGRESS = 'ROLLBACK_IN_PROGRESS'.freeze
|
43
|
+
UPDATE_COMPLETE = 'UPDATE_COMPLETE'.freeze
|
44
|
+
UPDATE_COMPLETE_CLEANUP_IN_PROGRESS = 'UPDATE_COMPLETE_CLEANUP_IN_PROGRESS'.freeze
|
45
|
+
UPDATE_FAILED = 'UPDATE_FAILED'.freeze
|
46
|
+
UPDATE_IN_PROGRESS = 'UPDATE_IN_PROGRESS'.freeze
|
47
|
+
UPDATE_ROLLBACK_COMPLETE = 'UPDATE_ROLLBACK_COMPLETE'.freeze
|
48
|
+
UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS = 'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS'.freeze
|
49
|
+
UPDATE_ROLLBACK_FAILED = 'UPDATE_ROLLBACK_FAILED'.freeze
|
50
|
+
UPDATE_ROLLBACK_IN_PROGRESS = 'UPDATE_ROLLBACK_IN_PROGRESS'.freeze
|
51
51
|
|
52
52
|
## Internal status
|
53
|
-
NOT_CREATED = 'NOT_CREATED'
|
53
|
+
NOT_CREATED = 'NOT_CREATED'.freeze
|
54
54
|
|
55
55
|
def initialize(name, template, options = {})
|
56
56
|
@name = name
|
@@ -45,9 +45,9 @@ module Convection
|
|
45
45
|
## Cammel-case to snake-case
|
46
46
|
nodes.map! do |n|
|
47
47
|
n.split(/([A-Z0-9])(?![A-Z0-9])(?<!$)/)
|
48
|
-
|
49
|
-
|
50
|
-
|
48
|
+
.reject(&:empty?)
|
49
|
+
.reduce('') { |a, e| (e.length == 1 && !a.empty?) ? a + "_#{e}" : a + e }
|
50
|
+
.downcase
|
51
51
|
end
|
52
52
|
|
53
53
|
nodes.join('_').downcase
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require_relative '../resource'
|
2
|
+
|
3
|
+
module Convection
|
4
|
+
module Model
|
5
|
+
class Template
|
6
|
+
class Resource
|
7
|
+
##
|
8
|
+
# AWS::ElastiCache::ReplicationGroup
|
9
|
+
##
|
10
|
+
class ElastiCacheReplicationGroup < Resource
|
11
|
+
type 'AWS::ElastiCache::ReplicationGroup', :elasticache_replication_group
|
12
|
+
property :auto_failover_enabled, 'AutomaticFailoverEnabled'
|
13
|
+
property :auto_minor_version_upgrade, 'AutoMinorVersionUpgrade'
|
14
|
+
property :cache_node_type, 'CacheNodeType'
|
15
|
+
property :cache_parameter_group_name, 'CacheParameterGroupName'
|
16
|
+
property :cache_security_group_names, 'CacheSecurityGroupNames', :type => :list
|
17
|
+
property :cache_subnet_group_name, 'CacheSubnetGroupName'
|
18
|
+
property :engine, 'Engine'
|
19
|
+
property :engine_version, 'EngineVersion'
|
20
|
+
property :notification_topic_arn, 'NotificationTopicArn'
|
21
|
+
property :num_cache_clusters, 'NumCacheClusters'
|
22
|
+
property :port, 'Port'
|
23
|
+
property :preferred_cache_cluster_azs, 'PreferredCacheClusterAZs', :type => :list
|
24
|
+
property :preferred_maintenance_window, 'PreferredMaintenanceWindow'
|
25
|
+
property :replication_group_description, 'ReplicationGroupDescription'
|
26
|
+
property :security_group_ids, 'SecurityGroupIds', :type => :list
|
27
|
+
property :snapshot_arns, 'SnapshotArns', :type => :list
|
28
|
+
property :snapshot_retention_limit, 'SnapshotRetentionLimit'
|
29
|
+
property :snapshot_window, 'SnapshotWindow'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative '../resource'
|
2
|
+
module Convection
|
3
|
+
module Model
|
4
|
+
class Template
|
5
|
+
class Resource
|
6
|
+
##
|
7
|
+
# AWS::ElasticBeanstalk::Application
|
8
|
+
##
|
9
|
+
class ElasticBeanstalkApplication < Resource
|
10
|
+
type 'AWS::ElasticBeanstalk::Application', :elasticbeanstalk_application
|
11
|
+
property :application_name, 'ApplicationName'
|
12
|
+
property :description, 'Description'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative '../resource'
|
2
|
+
module Convection
|
3
|
+
module Model
|
4
|
+
class Template
|
5
|
+
class Resource
|
6
|
+
##
|
7
|
+
# AWS::ElasticBeanstalk::ApplicationVersion
|
8
|
+
##
|
9
|
+
class ElasticBeanstalkApplicationVersion < Resource
|
10
|
+
type 'AWS::ElasticBeanstalk::ApplicationVersion', :elasticbeanstalk_applicationversion
|
11
|
+
property :application_name, 'ApplicationName'
|
12
|
+
property :description, 'Description'
|
13
|
+
property :source_bundle, 'SourceBundle'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require_relative '../resource'
|
2
|
+
module Convection
|
3
|
+
module Model
|
4
|
+
class Template
|
5
|
+
class Resource
|
6
|
+
##
|
7
|
+
# AWS::ElasticBeanstalk::ConfigurationTemplate
|
8
|
+
##
|
9
|
+
class ElasticBeanstalkConfigurationTemplate < Resource
|
10
|
+
type 'AWS::ElasticBeanstalk::ConfigurationTemplate', :elasticbeanstalk_configurationtemplate
|
11
|
+
property :application_name, 'ApplicationName'
|
12
|
+
property :description, 'Description'
|
13
|
+
property :environment, 'Environment'
|
14
|
+
property :option_settings, 'OptionSettings'
|
15
|
+
property :solution_stack_name, 'SolutionStackName'
|
16
|
+
property :source_configuration, 'SourceConfiguration'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require_relative '../resource'
|
2
|
+
module Convection
|
3
|
+
module Model
|
4
|
+
class Template
|
5
|
+
class Resource
|
6
|
+
##
|
7
|
+
# AWS::ElasticBeanstalk::Environment
|
8
|
+
##
|
9
|
+
class ElasticBeanstalkEnvironment < Resource
|
10
|
+
type 'AWS::ElasticBeanstalk::Environment', :elasticbeanstalk_environment
|
11
|
+
property :application_name, 'ApplicationName'
|
12
|
+
property :cname_prefix, 'CNAMEPrefix'
|
13
|
+
property :description, 'Description'
|
14
|
+
property :environment_name, 'EnvironmentName'
|
15
|
+
property :option_settings, 'OptionSettings'
|
16
|
+
property :solution_stack_name, 'SolutionStackName'
|
17
|
+
property :tags, 'Tags'
|
18
|
+
property :template_name, 'TemplateName'
|
19
|
+
property :tier, 'Tier'
|
20
|
+
property :version_label, 'VersionLabel'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -17,7 +17,7 @@ module Convection
|
|
17
17
|
property :lifecycle_configuration, 'LifecycleConfiguration'
|
18
18
|
property :logging_configuration, 'LoggingConfiguration'
|
19
19
|
property :notification_configuration, 'NotificationConfiguration'
|
20
|
-
property :
|
20
|
+
property :versioning_configuration, 'VersioningConfiguration'
|
21
21
|
|
22
22
|
def render(*args)
|
23
23
|
super.tap do |resource|
|
data/lib/convection/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# nodoc
|
2
2
|
module Convection
|
3
3
|
VERSION = IO.read(File.expand_path('../../../VERSION', __FILE__)) rescue '0.0.1'
|
4
|
-
SUMMARY = 'A fully generic, modular DSL for AWS CloudFormation'
|
4
|
+
SUMMARY = 'A fully generic, modular DSL for AWS CloudFormation'.freeze
|
5
5
|
DESCRIPTION = IO.read(File.expand_path('../../../README.md', __FILE__)) rescue ''
|
6
6
|
end
|
@@ -128,7 +128,7 @@ class TestValidations < Minitest::Test
|
|
128
128
|
end
|
129
129
|
end
|
130
130
|
|
131
|
-
assert_raises(ExcessiveMappingAttributesError)do
|
131
|
+
assert_raises(ExcessiveMappingAttributesError) do
|
132
132
|
@excessive_mapping_attributes.to_json
|
133
133
|
end
|
134
134
|
assert_raises(ExcessiveMappingAttributeNameError) do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: convection
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Manero
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|
@@ -395,9 +395,14 @@ files:
|
|
395
395
|
- lib/convection/model/template/resource/aws_ec2_vpc_gateway_attachment.rb
|
396
396
|
- lib/convection/model/template/resource/aws_elasticache_cluster.rb
|
397
397
|
- lib/convection/model/template/resource/aws_elasticache_parameter_group.rb
|
398
|
+
- lib/convection/model/template/resource/aws_elasticache_replication_group.rb
|
398
399
|
- lib/convection/model/template/resource/aws_elasticache_security_group.rb
|
399
400
|
- lib/convection/model/template/resource/aws_elasticache_security_group_ingress.rb
|
400
401
|
- lib/convection/model/template/resource/aws_elasticache_subnet_group.rb
|
402
|
+
- lib/convection/model/template/resource/aws_elasticbeanstalk_application.rb
|
403
|
+
- lib/convection/model/template/resource/aws_elasticbeanstalk_applicationversion.rb
|
404
|
+
- lib/convection/model/template/resource/aws_elasticbeanstalk_configurationtemplate.rb
|
405
|
+
- lib/convection/model/template/resource/aws_elasticbeanstalk_environment.rb
|
401
406
|
- lib/convection/model/template/resource/aws_elb.rb
|
402
407
|
- lib/convection/model/template/resource/aws_iam_access_key.rb
|
403
408
|
- lib/convection/model/template/resource/aws_iam_group.rb
|