convection 1.1.7 → 2.0.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: ea376ec81c3edad8005e4e4fbbbb2275c086ee20
4
- data.tar.gz: ce38ff02d964e2fd90a821123f943babc334b51f
3
+ metadata.gz: 8835c1ffa38c162454a2b0ccd3d0e7b6c449e5d4
4
+ data.tar.gz: d5b208cd2633e490c318f71e1fe6267e43f69f92
5
5
  SHA512:
6
- metadata.gz: 90c91f1a06ecd94537694a8705e6485b32a74d9907d892882fb15656d355e587f943c195171587e8cb264ef0d265dcb50e20c4b1407c8f80e1a5fffc397a3b12
7
- data.tar.gz: 3943530ef51c52c5d02878e0ca1f47865fb2a86fd8f31a9fd87eec866615551749809526fc16380b651db8e953b4ddc26fe52ed2e151a058fe2cbabef6b84527
6
+ metadata.gz: 792cb42b688ccd93f1682f514e015a4d2c6ebd680eb72aba0bc2027d8a59a97af739d611bfa2d04dfb527d871a7fa9837ba91771fa6f1a9507787c11617e55f8
7
+ data.tar.gz: bd5f229ccc8e897466ee302920d8953d576f71fc68ae794fa80bdd2da228a44a26e62ec10bc7b20afc5457e7e0fdb57126f562e8d7b0c519e62a67a980aac68f
data/.travis.yml CHANGED
@@ -1,9 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.0.0
4
- - 2.1.3
5
- - 2.1.5
6
- - 2.1.6
7
3
  - 2.2.0
8
4
  - 2.2.1
9
5
  - 2.2.2
data/convection.gemspec CHANGED
@@ -22,4 +22,6 @@ Gem::Specification.new do |spec|
22
22
  spec.add_runtime_dependency 'httparty', '~> 0.13'
23
23
  spec.add_runtime_dependency 'netaddr', '~> 1.5'
24
24
  spec.add_runtime_dependency 'thor', '~> 0.19'
25
+
26
+ spec.required_ruby_version = '>= 2.2'
25
27
  end
data/docs/index.md CHANGED
@@ -47,5 +47,12 @@ We highly recommend consulting the [getting started guide](./docs/getting-starte
47
47
 
48
48
  Additionally you can generate the Ruby API documentation by executing `bundle exec rake yard`.
49
49
 
50
+ ## TODO: Script to automatically create new AWS resources
51
+ Amazon publishes a spec for Cloudformation:
52
+ https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-resource-specification.html
53
+
54
+ We should create a tool that uses that to create convection resource
55
+ code.
56
+
50
57
  ## License
51
58
  Convection is distributed under the MIT license - please refer to the [LICENSE](LICENSE.md) for more information.
@@ -21,15 +21,32 @@ module Convection
21
21
  property :engine_version, 'EngineVersion'
22
22
  property :notification_topic_arn, 'NotificationTopicArn'
23
23
  property :num_cache_clusters, 'NumCacheClusters'
24
+ property :num_node_groups, 'NumNodeGroups'
24
25
  property :port, 'Port'
25
26
  property :preferred_cache_cluster_azs, 'PreferredCacheClusterAZs', :type => :list
26
27
  property :preferred_maintenance_window, 'PreferredMaintenanceWindow'
28
+ property :primary_cluster_id, 'PrimaryClusterId'
29
+ property :replicas_per_node_group, 'ReplicasPerNodeGroup'
27
30
  property :replication_group_description, 'ReplicationGroupDescription'
31
+ property :replication_group_id, 'ReplicationGroupId'
28
32
  property :security_group_ids, 'SecurityGroupIds', :type => :list
29
33
  property :snapshot_arns, 'SnapshotArns', :type => :list
34
+ property :snapshot_name, 'SnapshotName'
30
35
  property :snapshot_retention_limit, 'SnapshotRetentionLimit'
31
36
  property :snapshot_window, 'SnapshotWindow'
32
37
 
38
+ # NodeGroupConfiguration is a list of NodeGroupConfiguration properties.
39
+ def node_group_configuration(&block)
40
+ config = ResourceProperty::ElasticacheReplicationGroupNodeGroupConfiguration.new(self)
41
+ config.instance_exec(&block) if block
42
+
43
+ prop = properties['NodeGroupConfiguration']
44
+ prop = [] if prop.nil?
45
+ prop << config
46
+
47
+ properties['NodeGroupConfiguration'].set(prop)
48
+ end
49
+
33
50
  def render(*args)
34
51
  super.tap do |resource|
35
52
  render_tags(resource)
@@ -0,0 +1,18 @@
1
+ require_relative '../resource_property'
2
+
3
+ module Convection
4
+ module Model
5
+ class Template
6
+ class ResourceProperty
7
+ # Represents a {http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html
8
+ # Amazon ElastiCache ReplicationGroup NodeGroupConfiguration}
9
+ class ElasticacheReplicationGroupNodeGroupConfiguration < ResourceProperty
10
+ property :primary_availability_zone, 'PrimaryAvailabilityZone'
11
+ property :replica_availability_zones, 'ReplicaAvailabilityZones', :type => :list
12
+ property :replica_count, 'ReplicaCount'
13
+ property :slots, 'Slots'
14
+ end
15
+ end
16
+ end
17
+ end
18
+ 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: 1.1.7
4
+ version: 2.0.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-14 00:00:00.000000000 Z
11
+ date: 2017-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -268,6 +268,7 @@ files:
268
268
  - lib/convection/model/template/resource_property/aws_ec2_spot_fleet_request_config_data_launch_specifications_block_device_mapping_ebs.rb
269
269
  - lib/convection/model/template/resource_property/aws_ec2_spot_fleet_request_config_data_launch_specifications_network_interface.rb
270
270
  - lib/convection/model/template/resource_property/aws_ec2_spot_fleet_request_config_data_launch_specifications_security_groups.rb
271
+ - lib/convection/model/template/resource_property/aws_elasticache_replication_group_node_group_configuration.rb
271
272
  - lib/convection/model/template/resource_property/aws_elbv2_listener_certificates.rb
272
273
  - lib/convection/model/template/resource_property/aws_elbv2_listener_default_action.rb
273
274
  - lib/convection/model/template/resource_property/aws_elbv2_listener_rule_action.rb
@@ -350,7 +351,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
350
351
  requirements:
351
352
  - - ">="
352
353
  - !ruby/object:Gem::Version
353
- version: '0'
354
+ version: '2.2'
354
355
  required_rubygems_version: !ruby/object:Gem::Requirement
355
356
  requirements:
356
357
  - - ">="