From ac6a0f038f7073ce201c6666d3e493c60b16f2e2 Mon Sep 17 00:00:00 2001 From: Paul Miles Date: Tue, 30 Oct 2018 14:22:50 +0000 Subject: [PATCH 1/2] Reinstate assume-role functionality (-R) --- bin/check-instance-events.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/bin/check-instance-events.rb b/bin/check-instance-events.rb index b9b18ecc..91dc9386 100755 --- a/bin/check-instance-events.rb +++ b/bin/check-instance-events.rb @@ -67,6 +67,11 @@ class CheckInstanceEvents < Sensu::Plugin::Check::CLI description: "Includes any offending instance's 'Name' tag in the check output", default: false + option :role, + short: '-R ASSUME_ROLE', + long: '--assume-role-arn ARN', + description: 'IAM Role to assume' + def aws_config { access_key_id: config[:aws_access_key], secret_access_key: config[:aws_secret_access_key], @@ -77,6 +82,23 @@ def ec2_regions Aws.partition('aws').regions.map(&:name) end + def assume_role + role_config = aws_config + + # Delete keys so we can use an IAM role + role_config.delete(:access_key_id) + role_config.delete(:secret_access_key) + + Aws.config[:region]=role_config[:region] + + role_credentials = Aws::AssumeRoleCredentials.new( + role_arn: config[:role], + role_session_name: "sensu-monitoring" + ) + + role_config.merge!(credentials: role_credentials) + end + def run event_instances = [] aws_config = {} From b720dc89ec3a07f84bc0f3e6c3e011a33a17158d Mon Sep 17 00:00:00 2001 From: Paul Miles Date: Tue, 30 Oct 2018 14:33:58 +0000 Subject: [PATCH 2/2] Update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f86eb4e..a2334b3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins ## [Unreleased] +## [12.3.0] - 2018-09-25 +### Changed +- check-instance-events.rb: re-instate assume-role functionality (@pmiles) + ## [12.4.0] - 2018-10-03 ### Changed - check-rds.rb: Updated list of RDS instance types and their respective memory allowance (@swibowo)