convection 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8835c1ffa38c162454a2b0ccd3d0e7b6c449e5d4
4
- data.tar.gz: d5b208cd2633e490c318f71e1fe6267e43f69f92
3
+ metadata.gz: cb2010f68c26e062f363f9f6cd23d81116289bcc
4
+ data.tar.gz: fa8a0b5abd46850ea5039a2a66455bc3a737dc88
5
5
  SHA512:
6
- metadata.gz: 792cb42b688ccd93f1682f514e015a4d2c6ebd680eb72aba0bc2027d8a59a97af739d611bfa2d04dfb527d871a7fa9837ba91771fa6f1a9507787c11617e55f8
7
- data.tar.gz: bd5f229ccc8e897466ee302920d8953d576f71fc68ae794fa80bdd2da228a44a26e62ec10bc7b20afc5457e7e0fdb57126f562e8d7b0c519e62a67a980aac68f
6
+ metadata.gz: 47c4470be626ca85d8f01fc36bd37cdfecfb7d61ac06f75ef84e28d85ca134338822078ac5db164951ea3a023cdcabe8dcff9c2a4524894b517055f1e157187b
7
+ data.tar.gz: bcc187ba6881d9037a1f56f5afebfbbc982a2573a14f7142a4170ac689048870def3d8ccd7aee6e1ed09bd80344580c94dbbc46cc94bde1ea671562baa5eef0c
@@ -14,7 +14,8 @@ module Convection
14
14
  attr_accessor :level
15
15
  attr_accessor :timestamp
16
16
  colorize :level,
17
- :green => [:info, :success, Control::Stack::CREATE_COMPLETE, Control::Stack::UPDATE_COMPLETE, Control::Stack::UPDATE_ROLLBACK_COMPLETE,
17
+ :cyan => [:info],
18
+ :green => [:success, Control::Stack::CREATE_COMPLETE, Control::Stack::UPDATE_COMPLETE, Control::Stack::UPDATE_ROLLBACK_COMPLETE,
18
19
  Control::Stack::TASK_COMPLETE],
19
20
  :red => [:error, :fail, Control::Stack::CREATE_FAILED, Control::Stack::ROLLBACK_FAILED,
20
21
  Control::Stack::DELETE_FAILED, Control::Stack::UPDATE_FAILED,
@@ -0,0 +1,25 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ # Represents an {https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html
8
+ # Amazon EFS File System}
9
+ class EFSFileSystem < Resource
10
+ include Model::Mixin::Taggable
11
+ alias file_system_tag tag
12
+
13
+ type 'AWS::EFS::FileSystem'
14
+ property :performance_mode, 'PerformanceMode'
15
+
16
+ def render(*args)
17
+ super.tap do |resource|
18
+ resource['Properties']['FileSystemTags'] = tags.render unless tags.empty?
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,19 @@
1
+ require_relative '../resource'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class Resource
7
+ # Represents an {https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html
8
+ # Amazon EFS Mount Target}
9
+ class EFSMountTarget < Resource
10
+ type 'AWS::EFS::MountTarget'
11
+ property :file_system_id, 'FileSystemId'
12
+ property :ip_address, 'IpAddress'
13
+ property :security_groups, 'SecurityGroups', :type => :list
14
+ property :subnet_id, 'SubnetId'
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ class Convection::Model::Template::Resource
4
+ describe EFSFileSystem do
5
+ subject do
6
+ parent = double(:template)
7
+ allow(parent).to receive(:template).and_return(parent)
8
+
9
+ described_class.new('MyEFSFileSystem', parent)
10
+ end
11
+
12
+ it 'allows FileSystemTags to be set' do
13
+ expected_tags = []
14
+ expected_tags << { 'Key' => 'key-1', 'Value' => 'value-1' }
15
+ expected_tags << { 'Key' => 'key-2', 'Value' => 'value-2' }
16
+
17
+ expect(subject.render['Properties']['FileSystemTags']).to be_nil
18
+ subject.tag 'key-1', 'value-1'
19
+ subject.file_system_tag 'key-2', 'value-2'
20
+ expect(subject.render['Properties']['FileSystemTags']).to eq(expected_tags)
21
+ end
22
+
23
+ it 'allows PerformanceMode to be set' do
24
+ expect(subject.render['Properties']['PerformanceMode']).to be_nil
25
+ subject.performance_mode 'maxIO'
26
+ expect(subject.render['Properties']['PerformanceMode']).to eq('maxIO')
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,36 @@
1
+ require 'spec_helper'
2
+
3
+ class Convection::Model::Template::Resource
4
+ describe EFSMountTarget do
5
+ subject do
6
+ parent = double(:template)
7
+ allow(parent).to receive(:template).and_return(parent)
8
+
9
+ described_class.new('MyEFSMountTarget', parent)
10
+ end
11
+
12
+ it 'allows FileSystemId to be set' do
13
+ expect(subject.render['Properties']['FileSystemId']).to be_nil
14
+ subject.file_system_id 'fs-1'
15
+ expect(subject.render['Properties']['FileSystemId']).to eq('fs-1')
16
+ end
17
+
18
+ it 'allows IpAddress to be set' do
19
+ expect(subject.render['Properties']['IpAddress']).to be_nil
20
+ subject.ip_address '127.0.0.1'
21
+ expect(subject.render['Properties']['IpAddress']).to eq('127.0.0.1')
22
+ end
23
+
24
+ it 'allows SecurityGroups to be set' do
25
+ expect(subject.render['Properties']['SecurityGroups']).to be_nil
26
+ subject.security_groups ['sg-1', 'sg-2']
27
+ expect(subject.render['Properties']['SecurityGroups']).to eq(['sg-1', 'sg-2'])
28
+ end
29
+
30
+ it 'allows SubnetId to be set' do
31
+ expect(subject.render['Properties']['SubnetId']).to be_nil
32
+ subject.subnet_id 's-1'
33
+ expect(subject.render['Properties']['SubnetId']).to eq('s-1')
34
+ end
35
+ end
36
+ end
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: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Manero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-25 00:00:00.000000000 Z
11
+ date: 2017-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -185,6 +185,8 @@ files:
185
185
  - lib/convection/model/template/resource/aws_ec2_vpn_gateway.rb
186
186
  - lib/convection/model/template/resource/aws_ec2_vpn_gateway_route_propagation.rb
187
187
  - lib/convection/model/template/resource/aws_ecr_repository.rb
188
+ - lib/convection/model/template/resource/aws_efs_file_system.rb
189
+ - lib/convection/model/template/resource/aws_efs_mount_target.rb
188
190
  - lib/convection/model/template/resource/aws_elasticache_cluster.rb
189
191
  - lib/convection/model/template/resource/aws_elasticache_parameter_group.rb
190
192
  - lib/convection/model/template/resource/aws_elasticache_replication_group.rb
@@ -308,6 +310,8 @@ files:
308
310
  - spec/convection/model/cloudfile_spec.rb
309
311
  - spec/convection/model/template/condition_spec.rb
310
312
  - spec/convection/model/template/resource/aws_auto_scaling_auto_scaling_group_spec.rb
313
+ - spec/convection/model/template/resource/aws_efs_file_system_spec.rb
314
+ - spec/convection/model/template/resource/aws_efs_mount_target_spec.rb
311
315
  - spec/convection/model/template/resource/directoryservice_simple_ad_spec.rb
312
316
  - spec/convection/model/template/resource/ec2_dhcp_options_spec.rb
313
317
  - spec/convection/model/template/resource/ec2_security_group_spec.rb
@@ -378,6 +382,8 @@ test_files:
378
382
  - spec/convection/model/cloudfile_spec.rb
379
383
  - spec/convection/model/template/condition_spec.rb
380
384
  - spec/convection/model/template/resource/aws_auto_scaling_auto_scaling_group_spec.rb
385
+ - spec/convection/model/template/resource/aws_efs_file_system_spec.rb
386
+ - spec/convection/model/template/resource/aws_efs_mount_target_spec.rb
381
387
  - spec/convection/model/template/resource/directoryservice_simple_ad_spec.rb
382
388
  - spec/convection/model/template/resource/ec2_dhcp_options_spec.rb
383
389
  - spec/convection/model/template/resource/ec2_security_group_spec.rb