Class: AWSCDK::Config::CfnOrganizationConfigRule::OrganizationManagedRuleMetadataProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
config/cfn_organization_config_rule.rb

Overview

An object that specifies organization managed rule metadata such as resource type and ID of AWS resource along with the rule identifier.

It also provides the frequency with which you want AWS Config to run evaluations for the rule if the trigger type is periodic.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rule_identifier:, description: nil, input_parameters: nil, maximum_execution_frequency: nil, resource_id_scope: nil, resource_types_scope: nil, tag_key_scope: nil, tag_value_scope: nil) ⇒ OrganizationManagedRuleMetadataProperty

Returns a new instance of OrganizationManagedRuleMetadataProperty.

Parameters:

  • rule_identifier (String)

    For organization config managed rules, a predefined identifier from a list.

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

    The description that you provide for your organization AWS Config rule.

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

    A string, in JSON format, that is passed to your organization AWS Config rule Lambda function.

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

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

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

    The ID of the AWS resource that was evaluated.

  • resource_types_scope (Array<String>, nil) (defaults to: nil)

    The type of the AWS resource that was evaluated.

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

    One part of a key-value pair that make up a tag.

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

    The optional part of a key-value pair that make up a tag.



877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
# File 'config/cfn_organization_config_rule.rb', line 877

def initialize(rule_identifier:, description: nil, input_parameters: nil, maximum_execution_frequency: nil, resource_id_scope: nil, resource_types_scope: nil, tag_key_scope: nil, tag_value_scope: nil)
  @rule_identifier = rule_identifier
  Jsii::Type.check_type(@rule_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ruleIdentifier")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @input_parameters = input_parameters
  Jsii::Type.check_type(@input_parameters, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "inputParameters") unless @input_parameters.nil?
  @maximum_execution_frequency = maximum_execution_frequency
  Jsii::Type.check_type(@maximum_execution_frequency, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "maximumExecutionFrequency") unless @maximum_execution_frequency.nil?
  @resource_id_scope = resource_id_scope
  Jsii::Type.check_type(@resource_id_scope, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceIdScope") unless @resource_id_scope.nil?
  @resource_types_scope = resource_types_scope
  Jsii::Type.check_type(@resource_types_scope, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "resourceTypesScope") unless @resource_types_scope.nil?
  @tag_key_scope = tag_key_scope
  Jsii::Type.check_type(@tag_key_scope, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tagKeyScope") unless @tag_key_scope.nil?
  @tag_value_scope = tag_value_scope
  Jsii::Type.check_type(@tag_value_scope, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tagValueScope") unless @tag_value_scope.nil?
end

Instance Attribute Details

#descriptionString? (readonly)

The description that you provide for your organization AWS Config rule.



907
908
909
# File 'config/cfn_organization_config_rule.rb', line 907

def description
  @description
end

#input_parametersString? (readonly)

A string, in JSON format, that is passed to your organization AWS Config rule Lambda function.



912
913
914
# File 'config/cfn_organization_config_rule.rb', line 912

def input_parameters
  @input_parameters
end

#maximum_execution_frequencyString? (readonly)

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

This is for an AWS Config managed rule that is triggered at a periodic frequency.

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



921
922
923
# File 'config/cfn_organization_config_rule.rb', line 921

def maximum_execution_frequency
  @maximum_execution_frequency
end

#resource_id_scopeString? (readonly)

The ID of the AWS resource that was evaluated.



926
927
928
# File 'config/cfn_organization_config_rule.rb', line 926

def resource_id_scope
  @resource_id_scope
end

#resource_types_scopeArray<String>? (readonly)

The type of the AWS resource that was evaluated.



931
932
933
# File 'config/cfn_organization_config_rule.rb', line 931

def resource_types_scope
  @resource_types_scope
end

#rule_identifierString (readonly)

For organization config managed rules, a predefined identifier from a list.

For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using AWS Config managed rules .



902
903
904
# File 'config/cfn_organization_config_rule.rb', line 902

def rule_identifier
  @rule_identifier
end

#tag_key_scopeString? (readonly)

One part of a key-value pair that make up a tag.

A key is a general label that acts like a category for more specific tag values.



938
939
940
# File 'config/cfn_organization_config_rule.rb', line 938

def tag_key_scope
  @tag_key_scope
end

#tag_value_scopeString? (readonly)

The optional part of a key-value pair that make up a tag.

A value acts as a descriptor within a tag category (key).



945
946
947
# File 'config/cfn_organization_config_rule.rb', line 945

def tag_value_scope
  @tag_value_scope
end

Class Method Details

.jsii_propertiesObject



947
948
949
950
951
952
953
954
955
956
957
958
# File 'config/cfn_organization_config_rule.rb', line 947

def self.jsii_properties
  {
    :rule_identifier => "ruleIdentifier",
    :description => "description",
    :input_parameters => "inputParameters",
    :maximum_execution_frequency => "maximumExecutionFrequency",
    :resource_id_scope => "resourceIdScope",
    :resource_types_scope => "resourceTypesScope",
    :tag_key_scope => "tagKeyScope",
    :tag_value_scope => "tagValueScope",
  }
end

Instance Method Details

#to_jsiiObject



960
961
962
963
964
965
966
967
968
969
970
971
972
973
# File 'config/cfn_organization_config_rule.rb', line 960

def to_jsii
  result = {}
  result.merge!({
    "ruleIdentifier" => @rule_identifier,
    "description" => @description,
    "inputParameters" => @input_parameters,
    "maximumExecutionFrequency" => @maximum_execution_frequency,
    "resourceIdScope" => @resource_id_scope,
    "resourceTypesScope" => @resource_types_scope,
    "tagKeyScope" => @tag_key_scope,
    "tagValueScope" => @tag_value_scope,
  })
  result.compact
end