terrafying-components 1.15.1 → 1.15.2

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
  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