You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::ConfigService::Types::ConfigRule

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing ConfigRule as input to an Aws::Client method, you can use a vanilla 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).

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.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

Returned by:

Instance Attribute Summary collapse

Instance Attribute Details

#config_rule_arnString

The Amazon Resource Name (ARN) of the AWS Config rule.

Returns:

  • (String)

    The Amazon Resource Name (ARN) of the AWS Config rule.

#config_rule_idString

The ID of the AWS Config rule.

Returns:

  • (String)

    The ID of the AWS Config rule.

#config_rule_nameString

The name that you assign to the AWS Config rule. The name is required if you are adding a new rule.

Returns:

  • (String)

    The name that you assign to the AWS Config rule.

#config_rule_stateString

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.

Possible values:

  • ACTIVE
  • DELETING
  • DELETING_RESULTS
  • EVALUATING

Returns:

  • (String)

    Indicates whether the AWS Config rule is active or is currently being deleted by AWS Config.

#descriptionString

The description that you provide for the AWS Config rule.

Returns:

  • (String)

    The description that you provide for the AWS Config rule.

#input_parametersString

A string in JSON format that is passed to the AWS Config rule Lambda function.

Returns:

  • (String)

    A string in JSON format that is passed to the AWS Config rule Lambda function.

#maximum_execution_frequencyString

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.

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

Possible values:

  • One_Hour
  • Three_Hours
  • Six_Hours
  • Twelve_Hours
  • TwentyFour_Hours

Returns:

  • (String)

    The maximum frequency with which AWS Config runs evaluations for a rule.

#scopeTypes::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.

Returns:

  • (Types::Scope)

    Defines which resources can trigger an evaluation for the rule.

#sourceTypes::Source

Provides the rule owner (AWS or customer), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.

Returns:

  • (Types::Source)

    Provides the rule owner (AWS or customer), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.