Class: Aws::ConfigService::Types::ConfigRule
- Inherits:
-
Struct
- Object
- Struct
- Aws::ConfigService::Types::ConfigRule
- Includes:
- Structure
- Defined in:
- lib/aws-sdk-configservice/types.rb
Overview
When making an API call, you may pass ConfigRule data as a hash:
{
config_rule_name: "StringWithCharLimit64",
config_rule_arn: "String",
config_rule_id: "String",
description: "EmptiableStringWithCharLimit256",
scope: {
compliance_resource_types: ["StringWithCharLimit256"],
tag_key: "StringWithCharLimit128",
tag_value: "StringWithCharLimit256",
compliance_resource_id: "BaseResourceId",
},
source: { # required
owner: "CUSTOM_LAMBDA", # required, accepts CUSTOM_LAMBDA, AWS
source_identifier: "StringWithCharLimit256", # required
source_details: [
{
event_source: "aws.config", # accepts aws.config
message_type: "ConfigurationItemChangeNotification", # accepts ConfigurationItemChangeNotification, ConfigurationSnapshotDeliveryCompleted, ScheduledNotification, OversizedConfigurationItemChangeNotification
maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
},
],
},
input_parameters: "StringWithCharLimit1024",
maximum_execution_frequency: "One_Hour", # accepts One_Hour, Three_Hours, Six_Hours, Twelve_Hours, TwentyFour_Hours
config_rule_state: "ACTIVE", # accepts ACTIVE, DELETING, DELETING_RESULTS, EVALUATING
}
An AWS Config rule represents an AWS Lambda function that you create for a custom rule or a predefined function for an AWS managed rule. The function evaluates configuration items to assess whether your AWS resources comply with your desired configurations. This function can run when AWS Config detects a configuration change to an AWS resource and at a periodic frequency that you choose (for example, every 24 hours).
<note markdown=“1”> You can use the AWS CLI and AWS SDKs if you want to create a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.
</note>
For more information about developing and using AWS Config rules, see
- Evaluating AWS Resource Configurations with AWS Config][1
-
in the
*AWS Config Developer Guide*.
[1]: docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html
Instance Attribute Summary collapse
-
#config_rule_arn ⇒ String
The Amazon Resource Name (ARN) of the AWS Config rule.
-
#config_rule_id ⇒ String
The ID of the AWS Config rule.
-
#config_rule_name ⇒ String
The name that you assign to the AWS Config rule.
-
#config_rule_state ⇒ String
Indicates whether the AWS Config rule is active or is currently being deleted by AWS Config.
-
#description ⇒ String
The description that you provide for the AWS Config rule.
-
#input_parameters ⇒ String
A string in JSON format that is passed to the AWS Config rule Lambda function.
-
#maximum_execution_frequency ⇒ String
The maximum frequency with which AWS Config runs evaluations for a rule.
-
#scope ⇒ Types::Scope
Defines which resources can trigger an evaluation for the rule.
-
#source ⇒ Types::Source
Provides the rule owner (AWS or customer), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.
Instance Attribute Details
#config_rule_arn ⇒ String
The Amazon Resource Name (ARN) of the AWS Config rule.
329 330 331 332 333 334 335 336 337 338 339 340 |
# File 'lib/aws-sdk-configservice/types.rb', line 329 class ConfigRule < Struct.new( :config_rule_name, :config_rule_arn, :config_rule_id, :description, :scope, :source, :input_parameters, :maximum_execution_frequency, :config_rule_state) include Aws::Structure end |
#config_rule_id ⇒ String
The ID of the AWS Config rule.
329 330 331 332 333 334 335 336 337 338 339 340 |
# File 'lib/aws-sdk-configservice/types.rb', line 329 class ConfigRule < Struct.new( :config_rule_name, :config_rule_arn, :config_rule_id, :description, :scope, :source, :input_parameters, :maximum_execution_frequency, :config_rule_state) include Aws::Structure end |
#config_rule_name ⇒ String
The name that you assign to the AWS Config rule. The name is required if you are adding a new rule.
329 330 331 332 333 334 335 336 337 338 339 340 |
# File 'lib/aws-sdk-configservice/types.rb', line 329 class ConfigRule < Struct.new( :config_rule_name, :config_rule_arn, :config_rule_id, :description, :scope, :source, :input_parameters, :maximum_execution_frequency, :config_rule_state) include Aws::Structure end |
#config_rule_state ⇒ String
Indicates whether the AWS Config rule is active or is currently being deleted by AWS Config. It can also indicate the evaluation status for the Config rule.
AWS Config sets the state of the rule to ‘EVALUATING` temporarily after you use the `StartConfigRulesEvaluation` request to evaluate your resources against the Config rule.
AWS Config sets the state of the rule to ‘DELETING_RESULTS` temporarily after you use the `DeleteEvaluationResults` request to delete the current evaluation results for the Config rule.
AWS Config sets the state of a rule to ‘DELETING` temporarily after you use the `DeleteConfigRule` request to delete the rule. After AWS Config deletes the rule, the rule and all of its evaluations are erased and are no longer available.
329 330 331 332 333 334 335 336 337 338 339 340 |
# File 'lib/aws-sdk-configservice/types.rb', line 329 class ConfigRule < Struct.new( :config_rule_name, :config_rule_arn, :config_rule_id, :description, :scope, :source, :input_parameters, :maximum_execution_frequency, :config_rule_state) include Aws::Structure end |
#description ⇒ String
The description that you provide for the AWS Config rule.
329 330 331 332 333 334 335 336 337 338 339 340 |
# File 'lib/aws-sdk-configservice/types.rb', line 329 class ConfigRule < Struct.new( :config_rule_name, :config_rule_arn, :config_rule_id, :description, :scope, :source, :input_parameters, :maximum_execution_frequency, :config_rule_state) include Aws::Structure end |
#input_parameters ⇒ String
A string in JSON format that is passed to the AWS Config rule Lambda function.
329 330 331 332 333 334 335 336 337 338 339 340 |
# File 'lib/aws-sdk-configservice/types.rb', line 329 class ConfigRule < Struct.new( :config_rule_name, :config_rule_arn, :config_rule_id, :description, :scope, :source, :input_parameters, :maximum_execution_frequency, :config_rule_state) include Aws::Structure end |
#maximum_execution_frequency ⇒ String
The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for ‘MaximumExecutionFrequency` when:
-
You are using an AWS managed rule that is triggered at a periodic frequency.
-
Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.
<note markdown=“1”> By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the ‘MaximumExecutionFrequency` parameter.
</note>
329 330 331 332 333 334 335 336 337 338 339 340 |
# File 'lib/aws-sdk-configservice/types.rb', line 329 class ConfigRule < Struct.new( :config_rule_name, :config_rule_arn, :config_rule_id, :description, :scope, :source, :input_parameters, :maximum_execution_frequency, :config_rule_state) include Aws::Structure end |
#scope ⇒ Types::Scope
Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes.
329 330 331 332 333 334 335 336 337 338 339 340 |
# File 'lib/aws-sdk-configservice/types.rb', line 329 class ConfigRule < Struct.new( :config_rule_name, :config_rule_arn, :config_rule_id, :description, :scope, :source, :input_parameters, :maximum_execution_frequency, :config_rule_state) include Aws::Structure end |
#source ⇒ Types::Source
Provides the rule owner (AWS or customer), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.
329 330 331 332 333 334 335 336 337 338 339 340 |
# File 'lib/aws-sdk-configservice/types.rb', line 329 class ConfigRule < Struct.new( :config_rule_name, :config_rule_arn, :config_rule_id, :description, :scope, :source, :input_parameters, :maximum_execution_frequency, :config_rule_state) include Aws::Structure end |