chef-handler-sns 2.0.0 → 2.1.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 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