chef-handler-sns 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: c4942f7c8128f0db8c5fff746db6ce6c145633ec
4
- data.tar.gz: 17e60816d695b726125920dfbed4dd8c2fdf4645
3
+ metadata.gz: c45d44aa08b39e5ac355ffacc4f745c6596324a6
4
+ data.tar.gz: 7018588d12c83e43d5b49b7e10940ec3e3613259
5
5
  SHA512:
6
- metadata.gz: d8e752973f6478d533766d085c04a805ea805d9bcf06c7bba77450c6b3139517536021ead48e0d29904a9644f133d41b214a342139bb1292282768639ba36e97
7
- data.tar.gz: bcc56c9011c521dc14f5fae3c92981cddf92c65da1021af89337d9c9f754ea5ef961cda784edbe17cae3d5acb16508c76e0fe45c7e80277f421a85b7ce654346
6
+ metadata.gz: 6a68e3d7ef8fbac4594d831e6b82d2cc22d2b2977e2bd828f790d2809ec2e431cb6f06db8ae9f4eb6bd7579867dc68cd326a62e2258d683905fbc5948410328c
7
+ data.tar.gz: 25206122277c328f22ce06f274e2df7293120711e13de5da0446386f9e11d472ed8361e876a4cc7e676bd3b922513adbd53f8f5123162a0195e6508ad7278f6c
@@ -0,0 +1 @@
1
+ jN�8���I��;J�Cl[�d�}��8�
@@ -0,0 +1,3 @@
1
+ R/�^KA�F=a�\��G���ƭ�l����g3���yl(��/;�tJ釹��ݱ�)������K��J�QY���~xTy�$J/ak*���w�Xʍ�d�̾��
2
+ P�n)�+N(�>��C�F�-[)��� d-j�7���z ��`"<���Va��m�2�Q�7.\톉�A��j�
3
+ l��;:b��q�( �P0��Y���-�š��׹����9�Qxu����
data/README.md CHANGED
@@ -6,8 +6,8 @@
6
6
 
7
7
  [![Dependency Status](http://img.shields.io/gemnasium/zuazo/chef-handler-sns.svg?style=flat)](https://gemnasium.com/zuazo/chef-handler-sns)
8
8
  [![Code Climate](http://img.shields.io/codeclimate/github/zuazo/chef-handler-sns.svg?style=flat)](https://codeclimate.com/github/zuazo/chef-handler-sns)
9
- [![Build Status](http://img.shields.io/travis/zuazo/chef-handler-sns/2.0.0.svg?style=flat)](https://travis-ci.org/zuazo/chef-handler-sns)
10
- [![Coverage Status](http://img.shields.io/coveralls/zuazo/chef-handler-sns/2.0.0.svg?style=flat)](https://coveralls.io/r/zuazo/chef-handler-sns?branch=2.0.0)
9
+ [![Build Status](http://img.shields.io/travis/onddo/chef-handler-sns/2.1.0.svg?style=flat)](https://travis-ci.org/onddo/chef-handler-sns)
10
+ [![Coverage Status](http://img.shields.io/coveralls/onddo/chef-handler-sns/2.1.0.svg?style=flat)](https://coveralls.io/r/onddo/chef-handler-sns?branch=2.1.0)
11
11
  [![Inline docs](http://inch-ci.org/github/zuazo/chef-handler-sns.svg?branch=master&style=flat)](http://inch-ci.org/github/zuazo/chef-handler-sns)
12
12
 
13
13
  A simple Chef report handler that reports status of a Chef run through [Amazon SNS](http://aws.amazon.com/sns/), [including IAM roles support](#usage-with-amazon-iam-roles).
@@ -169,6 +169,7 @@ The following options are available to configure the handler:
169
169
  * `secret_key` - AWS secret key (required, but will try to read it from Ohai with IAM roles).
170
170
  * `token` - AWS security token (optional, read from Ohai with IAM roles). Set to `false` to disable the token detected by Ohai.
171
171
  * `topic_arn` - AWS topic ARN name (required).
172
+ * `message_structure` - Set this option to `json` if you want to send a different message for each protocol. You must set your [message body template](#body_template-configuration-option) properly. Valid value: `json`. (optional)
172
173
  * `region` - AWS region (optional).
173
174
  * `subject` - Message subject string in erubis format (optional).
174
175
  * `body_template` - Full path of an erubis template file to use for the message body (optional).
@@ -277,6 +278,21 @@ Stacktrace:
277
278
 
278
279
  See the [subject](#subject) documentation for more details on the variables accessible inside the template.
279
280
 
281
+ If you set `message_structure` to `json`, the body template must:
282
+
283
+ * be a syntactically valid JSON; and
284
+ * contain at least a top-level JSON key of `default` with a value that is a string.
285
+ You can define other top-level keys that define the message you want to send to a specific transport protocol (e.g., "http").
286
+ ```erb
287
+ <%# file 'myapp/files/default/chef_handler_sns_body.erb' %>
288
+ {
289
+ "default": "Message body text here.",
290
+ "email": "Message body text here.",
291
+ "http": "Message body text here."
292
+ }
293
+ ```
294
+ See the [AWS SNS](http://docs.aws.amazon.com/sns/latest/api/API_Publish.html#API_Publish_RequestParameters) documentation for more details on SNS message format.
295
+
280
296
  ## IAM Role Credentials from Ohai
281
297
 
282
298
  IAM Role information and credentials are gathered from Ohai by default if they exists.
@@ -317,6 +333,8 @@ See [TODO.md](https://github.com/zuazo/chef-handler-sns/blob/master/TODO.md).
317
333
  | **Author:** | [Xabier de Zuazo](https://github.com/zuazo) (<xabier@zuazo.org>)
318
334
  | **Contributor:** | [Florian Holzhauer](https://github.com/fh)
319
335
  | **Contributor:** | [Michael Hobbs](https://github.com/michaelshobbs)
336
+ | **Contributor:** | [Hugo Lopes Tavares](https://github.com/hltbra)
337
+ | **Contributor:** | [Dmitry Averkiev](https://github.com/d-averkiev)
320
338
  | **Copyright:** | Copyright (c) 2015 Xabier de Zuazo
321
339
  | **Copyright:** | Copyright (c) 2013-2014 Onddo Labs, SL.
322
340
  | **License:** | Apache License, Version 2.0
@@ -136,7 +136,8 @@ class Chef
136
136
  sns.publish(
137
137
  topic_arn: topic_arn,
138
138
  message: sns_body,
139
- subject: sns_subject
139
+ subject: sns_subject,
140
+ message_structure: message_structure
140
141
  )
141
142
  end
142
143
 
@@ -250,7 +251,7 @@ class Chef
250
251
  # ruby-limiting-a-utf-8-string-by-byte-length
251
252
  #
252
253
  # @param str [String] The string to limit.
253
- # @param size [Fixnum] The string size in bytes.
254
+ # @param size [Integer] The string size in bytes.
254
255
  #
255
256
  # @return [String] The final string.
256
257
  #
@@ -42,7 +42,7 @@ class Chef
42
42
  #
43
43
  # Required configuration options.
44
44
  #
45
- REQUIRED = %w(access_key secret_key topic_arn)
45
+ REQUIRED = %w(access_key secret_key topic_arn).freeze
46
46
 
47
47
  #
48
48
  # Reads some configuration options from Ohai information.
@@ -58,9 +58,7 @@ class Chef
58
58
  def config_from_ohai(node)
59
59
  config_ohai = Config::Ohai.new(node)
60
60
  [
61
- :access_key,
62
- :secret_key,
63
- :token
61
+ :access_key, :secret_key, :token
64
62
  ].each do |attr|
65
63
  send(attr, config_ohai.send(attr)) if send(attr).nil?
66
64
  end
@@ -108,13 +106,13 @@ class Chef
108
106
  config_from_ohai(node) if node
109
107
  REQUIRED.each do |key|
110
108
  next unless send(key).nil?
111
- fail Exceptions::ValidationFailed,
112
- "Required argument #{key} is missing!"
109
+ raise Exceptions::ValidationFailed,
110
+ "Required argument #{key} is missing!"
113
111
  end
114
112
 
115
113
  return unless body_template && !::File.exist?(body_template)
116
- fail Exceptions::ValidationFailed,
117
- "Template file not found: #{body_template}."
114
+ raise Exceptions::ValidationFailed,
115
+ "Template file not found: #{body_template}."
118
116
  end
119
117
 
120
118
  #
@@ -127,11 +125,7 @@ class Chef
127
125
  # @api public
128
126
  #
129
127
  def access_key(arg = nil)
130
- set_or_return(
131
- :access_key,
132
- arg,
133
- kind_of: String
134
- )
128
+ set_or_return(:access_key, arg, kind_of: String)
135
129
  end
136
130
 
137
131
  #
@@ -144,11 +138,7 @@ class Chef
144
138
  # @api public
145
139
  #
146
140
  def secret_key(arg = nil)
147
- set_or_return(
148
- :secret_key,
149
- arg,
150
- kind_of: String
151
- )
141
+ set_or_return(:secret_key, arg, kind_of: String)
152
142
  end
153
143
 
154
144
  #
@@ -161,11 +151,7 @@ class Chef
161
151
  # @api public
162
152
  #
163
153
  def region(arg = nil)
164
- set_or_return(
165
- :region,
166
- arg,
167
- kind_of: String
168
- )
154
+ set_or_return(:region, arg, kind_of: String)
169
155
  end
170
156
 
171
157
  #
@@ -178,11 +164,7 @@ class Chef
178
164
  # @api public
179
165
  #
180
166
  def token(arg = nil)
181
- set_or_return(
182
- :token,
183
- arg,
184
- kind_of: [String, FalseClass]
185
- )
167
+ set_or_return(:token, arg, kind_of: [String, FalseClass])
186
168
  end
187
169
 
188
170
  #
@@ -198,9 +180,7 @@ class Chef
198
180
  #
199
181
  def topic_arn(arg = nil)
200
182
  set_or_return(
201
- :topic_arn,
202
- arg,
203
- kind_of: String
183
+ :topic_arn, arg, kind_of: String
204
184
  ).tap do |arn|
205
185
  # Get the region from the ARN:
206
186
  next if arn.nil? || !region.nil?
@@ -208,6 +188,19 @@ class Chef
208
188
  end
209
189
  end
210
190
 
191
+ #
192
+ # Gets or sets MessageStructure SNS request parameter.
193
+ #
194
+ # @param arg [String] MessageStructure.
195
+ #
196
+ # @return [String] MessageStructure.
197
+ #
198
+ # @api public
199
+ #
200
+ def message_structure(arg = nil)
201
+ set_or_return(:message_structure, arg, kind_of: String)
202
+ end
203
+
211
204
  #
212
205
  # Gets or sets SNS message subject.
213
206
  #
@@ -218,11 +211,7 @@ class Chef
218
211
  # @api public
219
212
  #
220
213
  def subject(arg = nil)
221
- set_or_return(
222
- :subject,
223
- arg,
224
- kind_of: String
225
- )
214
+ set_or_return(:subject, arg, kind_of: String)
226
215
  end
227
216
 
228
217
  #
@@ -235,11 +224,7 @@ class Chef
235
224
  # @api public
236
225
  #
237
226
  def body_template(arg = nil)
238
- set_or_return(
239
- :body_template,
240
- arg,
241
- kind_of: String
242
- )
227
+ set_or_return(:body_template, arg, kind_of: String)
243
228
  end
244
229
 
245
230
  #
@@ -256,11 +241,7 @@ class Chef
256
241
  #
257
242
  def filter_opsworks_activity(arg = nil)
258
243
  arg = Array(arg) if arg.is_a? String
259
- set_or_return(
260
- :filter_opsworks_activity,
261
- arg,
262
- kind_of: Array
263
- )
244
+ set_or_return(:filter_opsworks_activity, arg, kind_of: Array)
264
245
  end
265
246
  end
266
247
  end
@@ -29,7 +29,7 @@ Instance Local IPv4: <%= node.ec2.local_ipv4 %>
29
29
 
30
30
  Chef Client Elapsed Time: <%= elapsed_time.to_s %>
31
31
  Chef Client Start Time: <%= start_time.to_s %>
32
- Chef Client Start Time: <%= end_time.to_s %>
32
+ Chef Client End Time: <%= end_time.to_s %>
33
33
 
34
34
  <% if exception -%>
35
35
  Exception: <%= run_status.formatted_exception %>
@@ -30,7 +30,7 @@ class Chef
30
30
  #
31
31
  # chef-handler-sns Ruby Gem version.
32
32
  #
33
- VERSION = '2.0.0'
33
+ VERSION = '2.1.0'.freeze
34
34
  end
35
35
  end
36
36
  end
@@ -40,6 +40,7 @@ module Aws
40
40
  end
41
41
  end
42
42
 
43
+ # rubocop:disable Metrics/BlockLength
43
44
  describe Chef::Handler::Sns do
44
45
  let(:data_dir) { ::File.join(::File.dirname(__FILE__), 'data') }
45
46
  let(:node) do
@@ -277,7 +278,7 @@ describe Chef::Handler::Sns do
277
278
 
278
279
  it 'publishes messages if node["opsworks"]["activity"] matches allowed '\
279
280
  'acvities' do
280
- node.set['opsworks']['activity'] = 'deploy'
281
+ node.override['opsworks']['activity'] = 'deploy'
281
282
  config[:filter_opsworks_activity] = %w(deploy setup)
282
283
 
283
284
  fake_sns.expects(:publish).once
@@ -286,7 +287,7 @@ describe Chef::Handler::Sns do
286
287
 
287
288
  it 'does not publish messages if node["opsworks"]["activity"] differs '\
288
289
  'from allowed acvities' do
289
- node.set['opsworks']['activity'] = 'configure'
290
+ node.override['opsworks']['activity'] = 'configure'
290
291
  config[:filter_opsworks_activity] = %w(deploy setup)
291
292
 
292
293
  fake_sns.expects(:publish).never
@@ -301,3 +302,4 @@ describe Chef::Handler::Sns do
301
302
  sns_handler.run_report_safely(run_status)
302
303
  end
303
304
  end
305
+ # rubocop:enable Metrics/BlockLength
@@ -25,10 +25,10 @@ class SnsConfig
25
25
  end
26
26
 
27
27
  class ChefFakeOhai < Chef::Handler::Sns::Config::Ohai
28
- def intialize
29
- end
28
+ def intialize; end
30
29
  end
31
30
 
31
+ # rubocop:disable Metrics/BlockLength
32
32
  describe Chef::Handler::Sns::Config do
33
33
  let(:node) do
34
34
  node = Chef::Node.new
@@ -71,7 +71,9 @@ describe Chef::Handler::Sns::Config do
71
71
  end
72
72
  end
73
73
 
74
- [:access_key, :secret_key, :region, :token, :topic_arn].each do |option|
74
+ [
75
+ :access_key, :secret_key, :region, :token, :topic_arn, :message_structure
76
+ ].each do |option|
75
77
  it "accepts string values in '#{option}' option" do
76
78
  sns_config.send(option, 'test')
77
79
  end
@@ -166,3 +168,4 @@ describe Chef::Handler::Sns::Config do
166
168
  end
167
169
  end
168
170
  end
171
+ # rubocop:enable Metrics/BlockLength
@@ -19,11 +19,12 @@
19
19
 
20
20
  require 'helper'
21
21
 
22
+ # rubocop:disable Metrics/BlockLength
22
23
  describe Chef::Handler::Sns::Config::Ohai do
23
24
  let(:node) do
24
25
  Chef::Node.new.tap do |node|
25
26
  node.name('test')
26
- node.set['ec2'] = {
27
+ node.override['ec2'] = {
27
28
  'placement_availability_zone' => 'region1a',
28
29
  'iam' => {
29
30
  'security-credentials' => {
@@ -38,7 +39,9 @@ describe Chef::Handler::Sns::Config::Ohai do
38
39
  end
39
40
  end
40
41
  let(:config) { Chef::Handler::Sns::Config::Ohai.new(node) }
41
- let(:node_set_iam_roles) { node.set['ec2']['iam']['security-credentials'] }
42
+ let(:node_override_iam_roles) do
43
+ node.override['ec2']['iam']['security-credentials']
44
+ end
42
45
 
43
46
  describe 'read_config' do
44
47
  it 'reads the region' do
@@ -46,13 +49,13 @@ describe Chef::Handler::Sns::Config::Ohai do
46
49
  end
47
50
 
48
51
  it 'does not read the region when not set' do
49
- node.set['ec2']['placement_availability_zone'] = nil
50
- assert_equal nil, config.region
52
+ node.override['ec2']['placement_availability_zone'] = nil
53
+ assert_nil config.region
51
54
  end
52
55
 
53
56
  it 'does not read the credentials when has not IAM role' do
54
- node.set['ec2'] = {}
55
- assert_equal nil, config.access_key
57
+ node.override['ec2'] = {}
58
+ assert_nil config.access_key
56
59
  end
57
60
 
58
61
  it 'reads the access_key' do
@@ -60,8 +63,8 @@ describe Chef::Handler::Sns::Config::Ohai do
60
63
  end
61
64
 
62
65
  it 'does not read the access_key when not set' do
63
- node_set_iam_roles['iam-role1']['AccessKeyId'] = nil
64
- assert_equal nil, config.access_key
66
+ node_override_iam_roles['iam-role1']['AccessKeyId'] = nil
67
+ assert_nil config.access_key
65
68
  end
66
69
 
67
70
  it 'reads the secret_key' do
@@ -69,8 +72,8 @@ describe Chef::Handler::Sns::Config::Ohai do
69
72
  end
70
73
 
71
74
  it 'does not read the secret_key when not set' do
72
- node_set_iam_roles['iam-role1']['SecretAccessKey'] = nil
73
- assert_equal nil, config.secret_key
75
+ node_override_iam_roles['iam-role1']['SecretAccessKey'] = nil
76
+ assert_nil config.secret_key
74
77
  end
75
78
 
76
79
  it 'reads the security token' do
@@ -78,8 +81,9 @@ describe Chef::Handler::Sns::Config::Ohai do
78
81
  end
79
82
 
80
83
  it 'does not read the security token when not set' do
81
- node_set_iam_roles['iam-role1']['Token'] = nil
82
- assert_equal nil, config.token
84
+ node_override_iam_roles['iam-role1']['Token'] = nil
85
+ assert_nil config.token
83
86
  end
84
87
  end
85
88
  end
89
+ # rubocop:enable Metrics/BlockLength
metadata CHANGED
@@ -1,14 +1,36 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-handler-sns
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
  - Xabier de Zuazo
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain: []
11
- date: 2015-12-28 00:00:00.000000000 Z
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDaDCCAlCgAwIBAgIBATANBgkqhkiG9w0BAQUFADA9MQ8wDQYDVQQDDAZ4YWJp
14
+ ZXIxFTATBgoJkiaJk/IsZAEZFgV6dWF6bzETMBEGCgmSJomT8ixkARkWA29yZzAe
15
+ Fw0xNjA5MTUxNzIzMTlaFw0xNzA5MTUxNzIzMTlaMD0xDzANBgNVBAMMBnhhYmll
16
+ cjEVMBMGCgmSJomT8ixkARkWBXp1YXpvMRMwEQYKCZImiZPyLGQBGRYDb3JnMIIB
17
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsdGpaOki5vixi6PplYTO/6nT
18
+ e989el4XtVnQlVWQ/cvLdiTwcjqeaVHJfvkqkgrnpFSdQZogEM6dAdOdX3U0x66L
19
+ JCdyr5D9d1l8p9/UpnCVmvZleFbjO/xU60nq/6ILNxHScEBLFOF/oL7YRU3qgiNH
20
+ 0Xx87C1N6Ap98aIVemOlD7iSVi56PN/2NvJJb3x9hk6sB/Yfekk5WeRTrJkYPeFx
21
+ y36jFQEVvwgB5DBizRqeIo/CXYSEhrSoDM9B9P5/9j3PJQalYD2bJ9mniATEhgEO
22
+ M7oFge+vUrkFmKuiTRg+yshc5Ep8OcqE8yP0XtkC+/V0oDTp4f+QrScPjLaWpQID
23
+ AQABo3MwcTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUW2JTg6p6
24
+ NcAJO7zVxIDiGkssqPkwGwYDVR0RBBQwEoEQeGFiaWVyQHp1YXpvLm9yZzAbBgNV
25
+ HRIEFDASgRB4YWJpZXJAenVhem8ub3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAgHehn
26
+ hmKfhEuuC+MragsxzjDwtHVUWUr53PWRIxScBplLK2jGGsKvdH2MwPCaKg7LJxg8
27
+ bT/UEop2tjYm4I/GTSgRzS7El6hAmhVRYxdCf/cAvIhVsvuXPARfDLaY5AFuxrGo
28
+ ZHu04LKaeOC8GWAdE0V+qRoW4JRQXwijki1FO99895yOwDrHW4DE5JGxVmnVd5u5
29
+ nGm+irqWVm/eheMHoYSnnSoUv/wR7I3PaGKjQAvx+Fb34T2e57IZk0tmGtoLXD/1
30
+ GlrtLc9kPO2xfj3e8Xuc1ksF21rlydki4ruAOZLg4gQX1IEFIpC8xNBfG1JuICzE
31
+ 9n62GAx6ZNMluPmN
32
+ -----END CERTIFICATE-----
33
+ date: 2017-02-18 00:00:00.000000000 Z
12
34
  dependencies:
13
35
  - !ruby/object:Gem::Dependency
14
36
  name: aws-sdk
@@ -42,30 +64,30 @@ dependencies:
42
64
  name: chef
43
65
  requirement: !ruby/object:Gem::Requirement
44
66
  requirements:
45
- - - ">="
67
+ - - "~>"
46
68
  - !ruby/object:Gem::Version
47
- version: 0.9.0
69
+ version: '12.0'
48
70
  type: :development
49
71
  prerelease: false
50
72
  version_requirements: !ruby/object:Gem::Requirement
51
73
  requirements:
52
- - - ">="
74
+ - - "~>"
53
75
  - !ruby/object:Gem::Version
54
- version: 0.9.0
76
+ version: '12.0'
55
77
  - !ruby/object:Gem::Dependency
56
78
  name: rake
57
79
  requirement: !ruby/object:Gem::Requirement
58
80
  requirements:
59
81
  - - "~>"
60
82
  - !ruby/object:Gem::Version
61
- version: '10.0'
83
+ version: '12.0'
62
84
  type: :development
63
85
  prerelease: false
64
86
  version_requirements: !ruby/object:Gem::Requirement
65
87
  requirements:
66
88
  - - "~>"
67
89
  - !ruby/object:Gem::Version
68
- version: '10.0'
90
+ version: '12.0'
69
91
  - !ruby/object:Gem::Dependency
70
92
  name: minitest
71
93
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +108,14 @@ dependencies:
86
108
  requirements:
87
109
  - - "~>"
88
110
  - !ruby/object:Gem::Version
89
- version: 0.5.0
111
+ version: 0.6.0
90
112
  type: :development
91
113
  prerelease: false
92
114
  version_requirements: !ruby/object:Gem::Requirement
93
115
  requirements:
94
116
  - - "~>"
95
117
  - !ruby/object:Gem::Version
96
- version: 0.5.0
118
+ version: 0.6.0
97
119
  - !ruby/object:Gem::Dependency
98
120
  name: mocha
99
121
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +164,14 @@ dependencies:
142
164
  requirements:
143
165
  - - "~>"
144
166
  - !ruby/object:Gem::Version
145
- version: 0.35.0
167
+ version: 0.47.0
146
168
  type: :development
147
169
  prerelease: false
148
170
  version_requirements: !ruby/object:Gem::Requirement
149
171
  requirements:
150
172
  - - "~>"
151
173
  - !ruby/object:Gem::Version
152
- version: 0.35.0
174
+ version: 0.47.0
153
175
  - !ruby/object:Gem::Dependency
154
176
  name: should_not
155
177
  requirement: !ruby/object:Gem::Requirement
@@ -216,13 +238,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
216
238
  version: '0'
217
239
  requirements: []
218
240
  rubyforge_project:
219
- rubygems_version: 2.2.2
241
+ rubygems_version: 2.6.9
220
242
  signing_key:
221
243
  specification_version: 4
222
244
  summary: Chef SNS reports
223
245
  test_files:
224
- - test/test_chef_handler_sns.rb
246
+ - test/test_chef_handler_sns_config.rb
225
247
  - test/helper.rb
226
248
  - test/test_chef_handler_sns_config_ohai.rb
227
- - test/test_chef_handler_sns_config.rb
228
- has_rdoc:
249
+ - test/test_chef_handler_sns.rb
Binary file