Sha256: 383da0cb39ad1649b54087f1df2d25fc347aa80e8d6236af95dc27b0d109bb12

Contents?: true

Size: 1.61 KB

Versions: 18

Compression:

Stored size: 1.61 KB

Contents

module CfnGuardian
  module Resource
    class Ec2Instance < Base
      
      def default_alarms    
        alarm = CfnGuardian::Models::Ec2InstanceAlarm.new(@resource)
        alarm.name = 'CPUUtilizationHigh'
        alarm.metric_name = 'CPUUtilization'
        alarm.statistic = 'Minimum'
        alarm.threshold = 90
        alarm.evaluation_periods = 10
        @alarms.push(alarm)
        
        alarm = CfnGuardian::Models::Ec2InstanceAlarm.new(@resource)
        alarm.name = 'StatusCheckFailed'
        alarm.metric_name = 'StatusCheckFailed'
        alarm.threshold = 0
        alarm.evaluation_periods = 1
        alarm.comparison_operator = 'GreaterThanThreshold'
        @alarms.push(alarm)

        alarm = CfnGuardian::Models::Ec2InstanceAlarm.new(@resource)
        alarm.name = 'CPUCreditBalanceLow'
        alarm.metric_name = 'CPUCreditBalance'
        alarm.comparison_operator = 'LessThanThreshold'
        alarm.statistic = 'Minimum'
        alarm.threshold = 100
        alarm.evaluation_periods = 5
        alarm.treat_missing_data = 'notBreaching'
        alarm.datapoints_to_alarm = 5
        @alarms.push(alarm)
      end
      
      def default_event_subscriptions()
        event_subscription = CfnGuardian::Models::Ec2InstanceEventSubscription.new(@resource)
        event_subscription.name = 'InstanceTerminated'
        event_subscription.detail_type = 'EC2 Instance State-change Notification'
        event_subscription.detail = {
          'instance-id' => [@resource['Id']],
          'state' => ['terminated']
        }
        @event_subscriptions.push(event_subscription)
      end

    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
cfn-guardian-0.10.4 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.10.1 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.10.0 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.9.2 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.9.1 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.9.0 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.8.6 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.8.5 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.8.4 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.8.3 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.8.2 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.8.1 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.8.0 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.7.16 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.7.15 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.7.14 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.7.13 lib/cfnguardian/resources/ec2_instance.rb
cfn-guardian-0.7.12 lib/cfnguardian/resources/ec2_instance.rb