terrafying-components 1.15.1 → 1.15.2

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
  SHA256:
3
- metadata.gz: ea792509b5531b516c3763cbf3907fac74b79ecbc5b75eb75c202bb1ee2ce8e8
4
- data.tar.gz: 82b8bf4f5921f7b60e9efd720b0d6d148ace3d95b3d9ce1c5c3ff1dd03138ee8
3
+ metadata.gz: 4771d9a1ea930a0ebca95e2f9fa21bea9b0dc08fb060000bfe85e6868ce3f2b9
4
+ data.tar.gz: 1eb8950c26426d0313332b5ed0aa805161563ef7fd181d037ae8fe93fa7fdd19
5
5
  SHA512:
6
- metadata.gz: 7f5042840299ce903e4140f4b13adc5b4dcd0559ee294a57cc4768383b3c0bc7699c228e750785ed5f229a6c0b4e9348c33dcf440c3722244189eacdfadefe50
7
- data.tar.gz: 354fc56e68efb28772848b55dc2bee4851b99377b3dd948780511b4657f034492b69a7f03b28d23182b9f8b8973e00cdfed3e91cdc739ec7ee52eb86585638c1
6
+ metadata.gz: 15674625c2f6a9a332354a45f00e067569c67a4e2508c61de5bafd5132cc5b3ad58b5dae01cb695732eb564827ead8dbc50d880a0aed47c2eb8b214e449eb02b
7
+ data.tar.gz: 63ae5f51017dbbfa6f493d0cfbd2c7c0e79805ed23afb358883183815af67cc47ef5837c7cef9ccddb2495fd5c31cb332909aa50b3fc00a43c3e683ba86e6dbb
@@ -322,7 +322,7 @@ module Terrafying
322
322
  )
323
323
  }
324
324
 
325
- resource :aws_lambda_function, "#{@name}_lambda", {
325
+ lamda_function = resource :aws_lambda_function, "#{@name}_lambda", {
326
326
  function_name: "#{@name}_lambda",
327
327
  s3_bucket: "uswitch-certbot-lambda",
328
328
  s3_key: "certbot-lambda.zip",
@@ -339,10 +339,30 @@ module Terrafying
339
339
  }
340
340
 
341
341
  resource :aws_iam_role_policy_attachment, "#{@name}_lambda_policy_attachment", {
342
- role: execution_role["name"],
343
- policy_arn: "${aws_iam_policy.#{@name}_lambda_execution_policy.arn}"
344
- }
342
+ role: execution_role["name"],
343
+ policy_arn: "${aws_iam_policy.#{@name}_lambda_execution_policy.arn}"
344
+ }
345
+
346
+ rand_hour = rand(0..23).to_s
347
+ event_rule = resource :aws_cloudwatch_event_rule, "once_per_day", {
348
+ name: "once-per-day",
349
+ description: "Fires once per day",
350
+ schedule_expression: "cron(0 #{rand_hour} * * ? *)"
351
+ }
345
352
 
353
+ resource :aws_cloudwatch_event_target, "#{@name}_lambda_event_target", {
354
+ rule: event_rule["name"],
355
+ target_id: lamda_function["id"],
356
+ arn: lamda_function["arn"]
357
+ }
358
+
359
+ resource :aws_lambda_permission, "allow_cloudwatch_to_invoke_#{@name}_lambda", {
360
+ statement_id: "AllowExecutionFromCloudWatch",
361
+ action: "lambda:InvokeFunction",
362
+ function_name: lamda_function["function_name"],
363
+ principal: "events.amazonaws.com",
364
+ source_arn: event_rule["arn"]
365
+ }
346
366
  self
347
367
  end
348
368
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Terrafying
4
4
  module Components
5
- VERSION = '1.15.1'
5
+ VERSION = '1.15.2'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terrafying-components
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.1
4
+ version: 1.15.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - uSwitch Limited