Class: AWSCDK::Config::CloudFormationStackNotificationCheckProps

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

Overview

Construction properties for a CloudFormationStackNotificationCheck.

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, topics: nil) ⇒ CloudFormationStackNotificationCheckProps

Returns a new instance of CloudFormationStackNotificationCheckProps.

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.

  • topics (Array<AWSCDK::SNS::ITopic>, nil) (defaults to: nil)

    A list of allowed topics.



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

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

Instance Attribute Details

#config_rule_nameString? (readonly)

Note:

Default: - CloudFormation generated name

A name for the AWS Config rule.

Returns:

  • (String, nil)


35
36
37
# File 'config/cloud_formation_stack_notification_check_props.rb', line 35

def config_rule_name
  @config_rule_name
end

#descriptionString? (readonly)

Note:

Default: - No description

A description about this AWS Config rule.

Returns:

  • (String, nil)


40
41
42
# File 'config/cloud_formation_stack_notification_check_props.rb', line 40

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.



47
48
49
# File 'config/cloud_formation_stack_notification_check_props.rb', line 47

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)


52
53
54
# File 'config/cloud_formation_stack_notification_check_props.rb', line 52

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.



57
58
59
# File 'config/cloud_formation_stack_notification_check_props.rb', line 57

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



62
63
64
# File 'config/cloud_formation_stack_notification_check_props.rb', line 62

def rule_scope
  @rule_scope
end

#topicsArray<AWSCDK::SNS::ITopic>? (readonly)

Note:

Default: - No topics.

A list of allowed topics.

At most 5 topics.

Returns:



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

def topics
  @topics
end

Class Method Details

.jsii_propertiesObject



71
72
73
74
75
76
77
78
79
80
81
# File 'config/cloud_formation_stack_notification_check_props.rb', line 71

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

Instance Method Details

#to_jsiiObject



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

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,
    "topics" => @topics,
  })
  result.compact
end