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

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

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-configservice/lib/aws-sdk-configservice/types.rb

Overview

Note:

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).

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.

Instance Attribute Summary collapse

Instance Attribute Details

#config_rule_arnString

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

Returns:

  • (String)


331
332
333
334
335
336
337
338
339
340
341
342
# File 'gems/aws-sdk-configservice/lib/aws-sdk-configservice/types.rb', line 331

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_idString

The ID of the AWS Config rule.

Returns:

  • (String)


331
332
333
334
335
336
337
338
339
340
341
342
# File 'gems/aws-sdk-configservice/lib/aws-sdk-configservice/types.rb', line 331

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_nameString

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

Returns:

  • (String)


331
332
333
334
335
336
337
338
339
340
341
342
# File 'gems/aws-sdk-configservice/lib/aws-sdk-configservice/types.rb', line 331

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_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.

Returns:

  • (String)


331
332
333
334
335
336
337
338
339
340
341
342
# File 'gems/aws-sdk-configservice/lib/aws-sdk-configservice/types.rb', line 331

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

#descriptionString

The description that you provide for the AWS Config rule.

Returns:

  • (String)


331
332
333
334
335
336
337
338
339
340
341
342
# File 'gems/aws-sdk-configservice/lib/aws-sdk-configservice/types.rb', line 331

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_parametersString

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

Returns:

  • (String)


331
332
333
334
335
336
337
338
339
340
341
342
# File 'gems/aws-sdk-configservice/lib/aws-sdk-configservice/types.rb', line 331

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_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.

Returns:

  • (String)


331
332
333
334
335
336
337
338
339
340
341
342
# File 'gems/aws-sdk-configservice/lib/aws-sdk-configservice/types.rb', line 331

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

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



331
332
333
334
335
336
337
338
339
340
341
342
# File 'gems/aws-sdk-configservice/lib/aws-sdk-configservice/types.rb', line 331

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

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



331
332
333
334
335
336
337
338
339
340
341
342
# File 'gems/aws-sdk-configservice/lib/aws-sdk-configservice/types.rb', line 331

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