Class: AWSCDK::IoT::CfnSecurityProfileProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
io_t/cfn_security_profile_props.rb

Overview

Properties for defining a CfnSecurityProfile.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(additional_metrics_to_retain_v2: nil, alert_targets: nil, behaviors: nil, metrics_export_config: nil, security_profile_description: nil, security_profile_name: nil, tags: nil, target_arns: nil) ⇒ CfnSecurityProfileProps

Returns a new instance of CfnSecurityProfileProps.

Parameters:



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

def initialize(additional_metrics_to_retain_v2: nil, alert_targets: nil, behaviors: nil, metrics_export_config: nil, security_profile_description: nil, security_profile_name: nil, tags: nil, target_arns: nil)
  @additional_metrics_to_retain_v2 = additional_metrics_to_retain_v2
  Jsii::Type.check_type(@additional_metrics_to_retain_v2, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaW90LkNmblNlY3VyaXR5UHJvZmlsZS5NZXRyaWNUb1JldGFpblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "additionalMetricsToRetainV2") unless @additional_metrics_to_retain_v2.nil?
  @alert_targets = alert_targets
  Jsii::Type.check_type(@alert_targets, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaW90LkNmblNlY3VyaXR5UHJvZmlsZS5BbGVydFRhcmdldFByb3BlcnR5In1dfX0sImtpbmQiOiJtYXAifX1dfX0=")), "alertTargets") unless @alert_targets.nil?
  @behaviors = behaviors
  Jsii::Type.check_type(@behaviors, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaW90LkNmblNlY3VyaXR5UHJvZmlsZS5CZWhhdmlvclByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "behaviors") unless @behaviors.nil?
  @metrics_export_config = metrics_export_config.is_a?(Hash) ? ::AWSCDK::IoT::CfnSecurityProfile::MetricsExportConfigProperty.new(**metrics_export_config.transform_keys(&:to_sym)) : metrics_export_config
  Jsii::Type.check_type(@metrics_export_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pb3QuQ2ZuU2VjdXJpdHlQcm9maWxlLk1ldHJpY3NFeHBvcnRDb25maWdQcm9wZXJ0eSJ9XX19")), "metricsExportConfig") unless @metrics_export_config.nil?
  @security_profile_description = security_profile_description
  Jsii::Type.check_type(@security_profile_description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "securityProfileDescription") unless @security_profile_description.nil?
  @security_profile_name = security_profile_name
  Jsii::Type.check_type(@security_profile_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "securityProfileName") unless @security_profile_name.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @target_arns = target_arns
  Jsii::Type.check_type(@target_arns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "targetArns") unless @target_arns.nil?
end

Instance Attribute Details

#additional_metrics_to_retain_v2AWSCDK::IResolvable, ... (readonly)

A list of metrics whose data is retained (stored).

By default, data is retained for any metric used in the profile's behaviors , but it's also retained for any metric specified here. Can be used with custom metrics; can't be used with dimensions.



42
43
44
# File 'io_t/cfn_security_profile_props.rb', line 42

def additional_metrics_to_retain_v2
  @additional_metrics_to_retain_v2
end

#alert_targetsAWSCDK::IResolvable, ... (readonly)

Specifies the destinations to which alerts are sent.

(Alerts are always sent to the console.) Alerts are generated when a device (thing) violates a behavior.



49
50
51
# File 'io_t/cfn_security_profile_props.rb', line 49

def alert_targets
  @alert_targets
end

#behaviorsAWSCDK::IResolvable, ... (readonly)

Specifies the behaviors that, when violated by a device (thing), cause an alert.



54
55
56
# File 'io_t/cfn_security_profile_props.rb', line 54

def behaviors
  @behaviors
end

#metrics_export_configAWSCDK::IResolvable, ... (readonly)

Specifies the MQTT topic and role ARN required for metric export.



59
60
61
# File 'io_t/cfn_security_profile_props.rb', line 59

def metrics_export_config
  @metrics_export_config
end

#security_profile_descriptionString? (readonly)

A description of the security profile.



64
65
66
# File 'io_t/cfn_security_profile_props.rb', line 64

def security_profile_description
  @security_profile_description
end

#security_profile_nameString? (readonly)

The name you gave to the security profile.



69
70
71
# File 'io_t/cfn_security_profile_props.rb', line 69

def security_profile_name
  @security_profile_name
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Metadata that can be used to manage the security profile.



74
75
76
# File 'io_t/cfn_security_profile_props.rb', line 74

def tags
  @tags
end

#target_arnsArray<String>? (readonly)

The ARN of the target (thing group) to which the security profile is attached.



79
80
81
# File 'io_t/cfn_security_profile_props.rb', line 79

def target_arns
  @target_arns
end

Class Method Details

.jsii_propertiesObject



81
82
83
84
85
86
87
88
89
90
91
92
# File 'io_t/cfn_security_profile_props.rb', line 81

def self.jsii_properties
  {
    :additional_metrics_to_retain_v2 => "additionalMetricsToRetainV2",
    :alert_targets => "alertTargets",
    :behaviors => "behaviors",
    :metrics_export_config => "metricsExportConfig",
    :security_profile_description => "securityProfileDescription",
    :security_profile_name => "securityProfileName",
    :tags => "tags",
    :target_arns => "targetArns",
  }
end

Instance Method Details

#to_jsiiObject



94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'io_t/cfn_security_profile_props.rb', line 94

def to_jsii
  result = {}
  result.merge!({
    "additionalMetricsToRetainV2" => @additional_metrics_to_retain_v2,
    "alertTargets" => @alert_targets,
    "behaviors" => @behaviors,
    "metricsExportConfig" => @metrics_export_config,
    "securityProfileDescription" => @security_profile_description,
    "securityProfileName" => @security_profile_name,
    "tags" => @tags,
    "targetArns" => @target_arns,
  })
  result.compact
end