cfn-bridge 0.0.11 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e4c7c626865fd91e5477155d3614ee18cef4c311
4
- data.tar.gz: a806497942640ee7f42f322502d5776b69b5840d
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OWQwOGUwN2M2ODE3NDA3ZThlODhjMTM4MDU0YTI5OTVjNDg1Yzc1Zg==
5
+ data.tar.gz: !binary |-
6
+ NzAzOTdlMzFiNjczYTgzOWM5ODJhZThiM2JlODAxYjE0MTZkYjljYw==
5
7
  SHA512:
6
- metadata.gz: 805d85b4e1454a6bc94e1479e6263e47941407f80ca6f1f4b38604c8fad95f6554d39999d7cd55149ff5627a04048c8e3ded179f42ed95e5c1b488ded48e0a66
7
- data.tar.gz: 866663db3614bb6d1a3512b519cc1977cd5bcf923542e2c169b7b9fe87792f0174d063c7cdb6a5f1fb601dc2281f2d51c1fc8f8945e28704c529571af0f68b33
8
+ metadata.gz: !binary |-
9
+ YzZjNjBkMjY4YWUzYzIwMWM1Y2RiYWNhZmI5MzRhMWU3YmZkOTU0NDFkNmY2
10
+ OTMwNmM2YmJjOTM0NmU1NjRiZTFmOGZiY2M5OWNhNzdjOTQxMDgyM2ZhNzY0
11
+ NGY1ZWU2OGRhNzcwNDFmZjIyZjMzZDVmYWM4M2JhZWYwNDM4MDQ=
12
+ data.tar.gz: !binary |-
13
+ ZjVkMTkzMGM5OGU1OTkxOTkxNDZiZWNiMWNlZmI5OWQ0N2I3YjllZTAzNDFh
14
+ YTEzZTYzMjVmZTk0MTFlMmYzZTI1YWEzNDc1Y2U5ZWE0ZTdhMGEyNGFmODVh
15
+ MGViM2RhNTZkODZlZDE3NjAwZWFiNWVhZWM3MTc0OGQ1YWU4NTU=
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency 'bundler', '~> 1.6.5'
21
+ spec.add_development_dependency 'bundler', '>= 1.6.5'
22
22
  spec.add_development_dependency 'rake', '~> 10.3.2'
23
23
  spec.add_development_dependency 'rspec', '~> 3.0.0'
24
24
  spec.add_development_dependency 'dotenv', '~> 0.11.1'
@@ -37,8 +37,9 @@ module CloudFormation
37
37
  NODE_URLS = 'NodeURLs'
38
38
  REPLICA = 'replica'
39
39
  REPLICATION_GROUP_ID = 'ReplicationGroupId'
40
+ CONFIG_ENDPOINT = "ConfigurationEndpoint"
40
41
  end
41
42
 
42
43
  end
43
44
  end
44
- end
45
+ end
@@ -23,21 +23,16 @@ module CloudFormation
23
23
  end
24
24
 
25
25
  def node_urls(cluster_id)
26
- cluster = client.describe_cache_clusters(
27
- cache_cluster_id: cluster_id,
28
- show_cache_node_info: true
29
- )[:cache_clusters][0]
26
+ cluster = find_cluster(cluster_id)
30
27
 
31
- case cluster[:engine]
32
- when 'redis'
33
- cluster[:cache_nodes].map do |node|
34
- "#{node[:endpoint][:address]}:#{node[:endpoint][:port]}"
35
- end.join(",")
36
- when 'memcached'
37
- "#{cluster[:configuration_endpoint][:address]}:#{cluster[:configuration_endpoint][:port]}"
38
- else
39
- UnknownCacheEngineError.new("Don't know what to do with cache engine #{cluster[:engine]} - #{cluster.inspect}")
40
- end
28
+ cluster[:cache_nodes].map do |node|
29
+ "#{node[:endpoint][:address]}:#{node[:endpoint][:port]}"
30
+ end.join(",")
31
+ end
32
+
33
+ def config_endpoint(cluster_id)
34
+ cluster = find_cluster(cluster_id)
35
+ "#{cluster[:configuration_endpoint][:address]}:#{cluster[:configuration_endpoint][:port]}" if cluster[:engine] == 'memcached'
41
36
  end
42
37
 
43
38
  def wait_until_cluster_is_available(cluster_id)
@@ -55,4 +50,4 @@ module CloudFormation
55
50
  end
56
51
  end
57
52
  end
58
- end
53
+ end
@@ -20,6 +20,7 @@ module CloudFormation
20
20
  FIELDS::DATA => {
21
21
  ELASTI_CACHE::REPLICA_CLUSTER_ID => cluster_id,
22
22
  ELASTI_CACHE::NODE_URLS => node_urls(cluster_id),
23
+ ELASTI_CACHE::CONFIG_ENDPOINT => config_endpoint(cluster_id)
23
24
  },
24
25
  FIELDS::PHYSICAL_RESOURCE_ID => cluster_id,
25
26
  }
@@ -32,4 +33,4 @@ module CloudFormation
32
33
 
33
34
  end
34
35
  end
35
- end
36
+ end
@@ -1,5 +1,5 @@
1
1
  module CloudFormation
2
2
  module Bridge
3
- VERSION = "0.0.11"
3
+ VERSION = "0.0.13"
4
4
  end
5
5
  end
@@ -11,12 +11,12 @@ describe CloudFormation::Bridge::Resources::ElastiCacheNodeUrls do
11
11
 
12
12
  context '#create' do
13
13
 
14
- it 'produces the node URLs for a memcached cluster' do
14
+ it 'produces the node URLs and configuration endpoint for a memcached cluster' do
15
15
  cluster_id = "samplecache"
16
16
 
17
17
  expect(subject.client).to receive(:describe_cache_clusters).
18
18
  with(cache_cluster_id: cluster_id,
19
- show_cache_node_info: true).twice.and_return(parse_json("describe-memcached-cluster"))
19
+ show_cache_node_info: true).at_least(:once).and_return(parse_json("describe-memcached-cluster"))
20
20
 
21
21
  request = CloudFormation::Bridge::Request.new(parse_json("create-cache-node-urls-message", false))
22
22
 
@@ -26,7 +26,8 @@ describe CloudFormation::Bridge::Resources::ElastiCacheNodeUrls do
26
26
  {
27
27
  FIELDS::DATA => {
28
28
  ELASTI_CACHE::REPLICA_CLUSTER_ID => cluster_id,
29
- ELASTI_CACHE::NODE_URLS => "somecache.tgbhomz.cfg.use1.cache.amazonaws.com:11211",
29
+ ELASTI_CACHE::NODE_URLS => "somecache.tgbhomz.0001.use1.cache.amazonaws.com:11211,somecache.tgbhomz.0002.use1.cache.amazonaws.com:11211,somecache.tgbhomz.0003.use1.cache.amazonaws.com:11211",
30
+ ELASTI_CACHE::CONFIG_ENDPOINT => "somecache.tgbhomz.cfg.use1.cache.amazonaws.com:11211"
30
31
  },
31
32
  FIELDS::PHYSICAL_RESOURCE_ID => cluster_id,
32
33
  }
@@ -38,7 +39,7 @@ describe CloudFormation::Bridge::Resources::ElastiCacheNodeUrls do
38
39
  cluster_id = "dev-redis-replica"
39
40
  expect(subject.client).to receive(:describe_cache_clusters).
40
41
  with(cache_cluster_id: cluster_id,
41
- show_cache_node_info: true).twice.and_return(parse_json("describe-cache-cluster-replica-done"))
42
+ show_cache_node_info: true).at_least(:once).and_return(parse_json("describe-cache-cluster-replica-done"))
42
43
 
43
44
  request = CloudFormation::Bridge::Request.new(parse_json("create-redis-cache-node-urls-message", false))
44
45
 
@@ -49,6 +50,7 @@ describe CloudFormation::Bridge::Resources::ElastiCacheNodeUrls do
49
50
  FIELDS::DATA => {
50
51
  ELASTI_CACHE::REPLICA_CLUSTER_ID => cluster_id,
51
52
  ELASTI_CACHE::NODE_URLS => "dev-redis-replica.mzufvw.0001.use1.cache.amazonaws.com:6379,dev-redis-replica.mzufvw.0002.use1.cache.amazonaws.com:6379",
53
+ ELASTI_CACHE::CONFIG_ENDPOINT => nil
52
54
  },
53
55
  FIELDS::PHYSICAL_RESOURCE_ID => cluster_id,
54
56
  }
metadata CHANGED
@@ -1,181 +1,181 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfn-bridge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maurício Linhares
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-17 00:00:00.000000000 Z
11
+ date: 2014-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.6.5
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.6.5
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: 10.3.2
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: 10.3.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: 3.0.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: 3.0.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: dotenv
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: 0.11.1
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.11.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: 0.10.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.10.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: aws-sdk
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
89
  version: 1.50.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ~>
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.50.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: faraday
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ~>
102
102
  - !ruby/object:Gem::Version
103
103
  version: 0.9.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ~>
109
109
  - !ruby/object:Gem::Version
110
110
  version: 0.9.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: faraday_middleware
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ~>
116
116
  - !ruby/object:Gem::Version
117
117
  version: 0.9.1
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ~>
123
123
  - !ruby/object:Gem::Version
124
124
  version: 0.9.1
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: faraday_curl
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ~>
130
130
  - !ruby/object:Gem::Version
131
131
  version: 0.0.2
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - "~>"
136
+ - - ~>
137
137
  - !ruby/object:Gem::Version
138
138
  version: 0.0.2
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: thor
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - "~>"
143
+ - - ~>
144
144
  - !ruby/object:Gem::Version
145
145
  version: 0.19.1
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - "~>"
150
+ - - ~>
151
151
  - !ruby/object:Gem::Version
152
152
  version: 0.19.1
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: typhoeus
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - "~>"
157
+ - - ~>
158
158
  - !ruby/object:Gem::Version
159
159
  version: 0.6.9
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - "~>"
164
+ - - ~>
165
165
  - !ruby/object:Gem::Version
166
166
  version: 0.6.9
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rollbar
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - "~>"
171
+ - - ~>
172
172
  - !ruby/object:Gem::Version
173
173
  version: 1.0.0
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - "~>"
178
+ - - ~>
179
179
  - !ruby/object:Gem::Version
180
180
  version: 1.0.0
181
181
  description: Implements custom operations for CF calls
@@ -186,8 +186,8 @@ executables:
186
186
  extensions: []
187
187
  extra_rdoc_files: []
188
188
  files:
189
- - ".gitignore"
190
- - ".rspec"
189
+ - .gitignore
190
+ - .rspec
191
191
  - Gemfile
192
192
  - LICENSE.txt
193
193
  - README.md
@@ -252,17 +252,17 @@ require_paths:
252
252
  - lib
253
253
  required_ruby_version: !ruby/object:Gem::Requirement
254
254
  requirements:
255
- - - ">="
255
+ - - ! '>='
256
256
  - !ruby/object:Gem::Version
257
257
  version: '0'
258
258
  required_rubygems_version: !ruby/object:Gem::Requirement
259
259
  requirements:
260
- - - ">="
260
+ - - ! '>='
261
261
  - !ruby/object:Gem::Version
262
262
  version: '0'
263
263
  requirements: []
264
264
  rubyforge_project:
265
- rubygems_version: 2.2.2
265
+ rubygems_version: 2.1.11
266
266
  signing_key:
267
267
  specification_version: 4
268
268
  summary: Implements custom operations for CF calls