Class: AWSCDK::Config::CfnConfigRule::SourceDetailProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
config/cfn_config_rule.rb

Overview

Provides the source and the message types that trigger AWS Config to evaluate your AWS resources against a rule.

It also provides the frequency with which you want AWS Config to run evaluations for the rule if the trigger type is periodic. You can specify the parameter values for SourceDetail only for custom rules.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(event_source:, message_type:, maximum_execution_frequency: nil) ⇒ SourceDetailProperty

Returns a new instance of SourceDetailProperty.

Parameters:

  • event_source (String)

    The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources.

  • message_type (String)

    The type of notification that triggers AWS Config to run an evaluation for a rule.

  • maximum_execution_frequency (String, nil) (defaults to: nil)

    The frequency at which you want AWS Config to run evaluations for a custom rule with a periodic trigger.



845
846
847
848
849
850
851
852
# File 'config/cfn_config_rule.rb', line 845

def initialize(event_source:, message_type:, maximum_execution_frequency: nil)
  @event_source = event_source
  Jsii::Type.check_type(@event_source, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "eventSource")
  @message_type = message_type
  Jsii::Type.check_type(@message_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "messageType")
  @maximum_execution_frequency = maximum_execution_frequency
  Jsii::Type.check_type(@maximum_execution_frequency, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "maximumExecutionFrequency") unless @maximum_execution_frequency.nil?
end

Instance Attribute Details

#event_sourceString (readonly)

The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources.



858
859
860
# File 'config/cfn_config_rule.rb', line 858

def event_source
  @event_source
end

#maximum_execution_frequencyString? (readonly)

The frequency at which you want AWS Config to run evaluations for a custom rule with a periodic trigger.

If you specify a value for MaximumExecutionFrequency , then MessageType must use the ScheduledNotification value.

By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

Based on the valid value you choose, AWS Config runs evaluations once for each valid value. For example, if you choose Three_Hours , AWS Config runs evaluations once every three hours. In this case, Three_Hours is the frequency of this rule.



883
884
885
# File 'config/cfn_config_rule.rb', line 883

def maximum_execution_frequency
  @maximum_execution_frequency
end

#message_typeString (readonly)

The type of notification that triggers AWS Config to run an evaluation for a rule.

You can specify the following notification types:

  • ConfigurationItemChangeNotification - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.
  • OversizedConfigurationItemChangeNotification - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.
  • ScheduledNotification - Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency .
  • ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot.

If you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for ConfigurationItemChangeNotification and one for OversizedConfigurationItemChangeNotification .



872
873
874
# File 'config/cfn_config_rule.rb', line 872

def message_type
  @message_type
end

Class Method Details

.jsii_propertiesObject



885
886
887
888
889
890
891
# File 'config/cfn_config_rule.rb', line 885

def self.jsii_properties
  {
    :event_source => "eventSource",
    :message_type => "messageType",
    :maximum_execution_frequency => "maximumExecutionFrequency",
  }
end

Instance Method Details

#to_jsiiObject



893
894
895
896
897
898
899
900
901
# File 'config/cfn_config_rule.rb', line 893

def to_jsii
  result = {}
  result.merge!({
    "eventSource" => @event_source,
    "messageType" => @message_type,
    "maximumExecutionFrequency" => @maximum_execution_frequency,
  })
  result.compact
end