Class: AWSCDK::Config::CustomPolicyProps

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

Overview

Construction properties for a CustomPolicy.

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, policy_text:, enable_debug_log: nil) ⇒ CustomPolicyProps

Returns a new instance of CustomPolicyProps.

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.

  • policy_text (String)

    The policy definition containing the logic for your AWS Config Custom Policy rule.

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

    The boolean expression for enabling debug logging for your AWS Config Custom Policy rule.



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

def initialize(config_rule_name: nil, description: nil, evaluation_modes: nil, input_parameters: nil, maximum_execution_frequency: nil, rule_scope: nil, policy_text:, enable_debug_log: 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?
  @policy_text = policy_text
  Jsii::Type.check_type(@policy_text, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "policyText")
  @enable_debug_log = enable_debug_log
  Jsii::Type.check_type(@enable_debug_log, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enableDebugLog") unless @enable_debug_log.nil?
end

Instance Attribute Details

#config_rule_nameString? (readonly)

Note:

Default: - CloudFormation generated name

A name for the AWS Config rule.

Returns:

  • (String, nil)


38
39
40
# File 'config/custom_policy_props.rb', line 38

def config_rule_name
  @config_rule_name
end

#descriptionString? (readonly)

Note:

Default: - No description

A description about this AWS Config rule.

Returns:

  • (String, nil)


43
44
45
# File 'config/custom_policy_props.rb', line 43

def description
  @description
end

#enable_debug_logBoolean? (readonly)

Note:

Default: false

The boolean expression for enabling debug logging for your AWS Config Custom Policy rule.

Returns:

  • (Boolean, nil)


74
75
76
# File 'config/custom_policy_props.rb', line 74

def enable_debug_log
  @enable_debug_log
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.



50
51
52
# File 'config/custom_policy_props.rb', line 50

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)


55
56
57
# File 'config/custom_policy_props.rb', line 55

def input_parameters
  @input_parameters
end

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

Note:

Default: MaximumExecutionFrequency.TWENTY_FOUR_HOURS

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



60
61
62
# File 'config/custom_policy_props.rb', line 60

def maximum_execution_frequency
  @maximum_execution_frequency
end

#policy_textString (readonly)

The policy definition containing the logic for your AWS Config Custom Policy rule.

Returns:

  • (String)


69
70
71
# File 'config/custom_policy_props.rb', line 69

def policy_text
  @policy_text
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:



65
66
67
# File 'config/custom_policy_props.rb', line 65

def rule_scope
  @rule_scope
end

Class Method Details

.jsii_propertiesObject



76
77
78
79
80
81
82
83
84
85
86
87
# File 'config/custom_policy_props.rb', line 76

def self.jsii_properties
  {
    :config_rule_name => "configRuleName",
    :description => "description",
    :evaluation_modes => "evaluationModes",
    :input_parameters => "inputParameters",
    :maximum_execution_frequency => "maximumExecutionFrequency",
    :rule_scope => "ruleScope",
    :policy_text => "policyText",
    :enable_debug_log => "enableDebugLog",
  }
end

Instance Method Details

#to_jsiiObject



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'config/custom_policy_props.rb', line 89

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,
    "policyText" => @policy_text,
    "enableDebugLog" => @enable_debug_log,
  })
  result.compact
end