Class: AWSCDK::Config::CustomRuleProps

Inherits:
RuleProps
  • Object
show all
Defined in:
config/custom_rule_props.rb

Overview

Construction properties for a CustomRule.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config_rule_name: nil, description: nil, evaluation_modes: nil, input_parameters: nil, maximum_execution_frequency: nil, rule_scope: nil, lambda_function:, configuration_changes: nil, periodic: nil) ⇒ CustomRuleProps

Returns a new instance of CustomRuleProps.

Parameters:

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

    A name for the AWS Config rule.

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

    A description about this AWS Config rule.

  • evaluation_modes (AWSCDK::Config::EvaluationMode, nil) (defaults to: nil)

    The modes the AWS Config rule can be evaluated in.

  • input_parameters (Hash{String => Object}, nil) (defaults to: nil)

    Input parameter values that are passed to the AWS Config rule.

  • maximum_execution_frequency (AWSCDK::Config::MaximumExecutionFrequency, nil) (defaults to: nil)

    The maximum frequency at which the AWS Config rule runs evaluations.

  • rule_scope (AWSCDK::Config::RuleScope, nil) (defaults to: nil)

    Defines which resources trigger an evaluation for an AWS Config rule.

  • lambda_function (AWSCDK::Lambda::IFunction)

    The Lambda function to run.

  • configuration_changes (Boolean, nil) (defaults to: nil)

    Whether to run the rule on configuration changes.

  • periodic (Boolean, nil) (defaults to: nil)

    Whether to run the rule on a fixed frequency.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'config/custom_rule_props.rb', line 16

def initialize(config_rule_name: nil, description: nil, evaluation_modes: nil, input_parameters: nil, maximum_execution_frequency: nil, rule_scope: nil, lambda_function:, configuration_changes: nil, periodic: nil)
  @config_rule_name = config_rule_name
  Jsii::Type.check_type(@config_rule_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "configRuleName") unless @config_rule_name.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @evaluation_modes = evaluation_modes
  Jsii::Type.check_type(@evaluation_modes, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29uZmlnLkV2YWx1YXRpb25Nb2RlIn0=")), "evaluationModes") unless @evaluation_modes.nil?
  @input_parameters = input_parameters
  Jsii::Type.check_type(@input_parameters, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "inputParameters") unless @input_parameters.nil?
  @maximum_execution_frequency = maximum_execution_frequency
  Jsii::Type.check_type(@maximum_execution_frequency, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29uZmlnLk1heGltdW1FeGVjdXRpb25GcmVxdWVuY3kifQ==")), "maximumExecutionFrequency") unless @maximum_execution_frequency.nil?
  @rule_scope = rule_scope
  Jsii::Type.check_type(@rule_scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY29uZmlnLlJ1bGVTY29wZSJ9")), "ruleScope") unless @rule_scope.nil?
  @lambda_function = lambda_function
  Jsii::Type.check_type(@lambda_function, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbGFtYmRhLklGdW5jdGlvbiJ9")), "lambdaFunction")
  @configuration_changes = configuration_changes
  Jsii::Type.check_type(@configuration_changes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "configurationChanges") unless @configuration_changes.nil?
  @periodic = periodic
  Jsii::Type.check_type(@periodic, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "periodic") unless @periodic.nil?
end

Instance Attribute Details

#config_rule_nameString? (readonly)

Note:

Default: - CloudFormation generated name

A name for the AWS Config rule.

Returns:

  • (String, nil)


41
42
43
# File 'config/custom_rule_props.rb', line 41

def config_rule_name
  @config_rule_name
end

#configuration_changesBoolean? (readonly)

Note:

Default: false

Whether to run the rule on configuration changes.

Returns:

  • (Boolean, nil)


77
78
79
# File 'config/custom_rule_props.rb', line 77

def configuration_changes
  @configuration_changes
end

#descriptionString? (readonly)

Note:

Default: - No description

A description about this AWS Config rule.

Returns:

  • (String, nil)


46
47
48
# File 'config/custom_rule_props.rb', line 46

def description
  @description
end

#evaluation_modesAWSCDK::Config::EvaluationMode? (readonly)

Note:

Default: - Detective evaluation mode only

The modes the AWS Config rule can be evaluated in.

The valid values are distinct objects.



53
54
55
# File 'config/custom_rule_props.rb', line 53

def evaluation_modes
  @evaluation_modes
end

#input_parametersHash{String => Object}? (readonly)

Note:

Default: - No input parameters

Input parameter values that are passed to the AWS Config rule.

Returns:

  • (Hash{String => Object}, nil)


58
59
60
# File 'config/custom_rule_props.rb', line 58

def input_parameters
  @input_parameters
end

#lambda_functionAWSCDK::Lambda::IFunction (readonly)

The Lambda function to run.



72
73
74
# File 'config/custom_rule_props.rb', line 72

def lambda_function
  @lambda_function
end

#maximum_execution_frequencyAWSCDK::Config::MaximumExecutionFrequency? (readonly)

Note:

Default: MaximumExecutionFrequency.TWENTY_FOUR_HOURS

The maximum frequency at which the AWS Config rule runs evaluations.



63
64
65
# File 'config/custom_rule_props.rb', line 63

def maximum_execution_frequency
  @maximum_execution_frequency
end

#periodicBoolean? (readonly)

Note:

Default: false

Whether to run the rule on a fixed frequency.

Returns:

  • (Boolean, nil)


82
83
84
# File 'config/custom_rule_props.rb', line 82

def periodic
  @periodic
end

#rule_scopeAWSCDK::Config::RuleScope? (readonly)

Note:

Default: - evaluations for the rule are triggered when any resource in the recording group changes.

Defines which resources trigger an evaluation for an AWS Config rule.

Returns:



68
69
70
# File 'config/custom_rule_props.rb', line 68

def rule_scope
  @rule_scope
end

Class Method Details

.jsii_propertiesObject



84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'config/custom_rule_props.rb', line 84

def self.jsii_properties
  {
    :config_rule_name => "configRuleName",
    :description => "description",
    :evaluation_modes => "evaluationModes",
    :input_parameters => "inputParameters",
    :maximum_execution_frequency => "maximumExecutionFrequency",
    :rule_scope => "ruleScope",
    :lambda_function => "lambdaFunction",
    :configuration_changes => "configurationChanges",
    :periodic => "periodic",
  }
end

Instance Method Details

#to_jsiiObject



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'config/custom_rule_props.rb', line 98

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "configRuleName" => @config_rule_name,
    "description" => @description,
    "evaluationModes" => @evaluation_modes,
    "inputParameters" => @input_parameters,
    "maximumExecutionFrequency" => @maximum_execution_frequency,
    "ruleScope" => @rule_scope,
    "lambdaFunction" => @lambda_function,
    "configurationChanges" => @configuration_changes,
    "periodic" => @periodic,
  })
  result.compact
end