convection 1.1.7 → 2.0.0
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/.travis.yml +0 -4
- data/convection.gemspec +2 -0
- data/docs/index.md +7 -0
- data/lib/convection/model/template/resource/aws_elasticache_replication_group.rb +17 -0
- data/lib/convection/model/template/resource_property/aws_elasticache_replication_group_node_group_configuration.rb +18 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8835c1ffa38c162454a2b0ccd3d0e7b6c449e5d4
|
4
|
+
data.tar.gz: d5b208cd2633e490c318f71e1fe6267e43f69f92
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 792cb42b688ccd93f1682f514e015a4d2c6ebd680eb72aba0bc2027d8a59a97af739d611bfa2d04dfb527d871a7fa9837ba91771fa6f1a9507787c11617e55f8
|
7
|
+
data.tar.gz: bd5f229ccc8e897466ee302920d8953d576f71fc68ae794fa80bdd2da228a44a26e62ec10bc7b20afc5457e7e0fdb57126f562e8d7b0c519e62a67a980aac68f
|
data/.travis.yml
CHANGED
data/convection.gemspec
CHANGED
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:
|
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-
|
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: '
|
354
|
+
version: '2.2'
|
354
355
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
355
356
|
requirements:
|
356
357
|
- - ">="
|