Class: AWSCDK::AIOps::CfnInvestigationGroupProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ai_ops/cfn_investigation_group_props.rb

Overview

Properties for defining a CfnInvestigationGroup.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, chatbot_notification_channels: nil, cross_account_configurations: nil, encryption_config: nil, investigation_group_policy: nil, is_cloud_trail_event_history_enabled: nil, retention_in_days: nil, role_arn: nil, tag_key_boundaries: nil, tags: nil) ⇒ CfnInvestigationGroupProps

Returns a new instance of CfnInvestigationGroupProps.

Parameters:

  • name (String)

    Specify either the name or the ARN of the investigation group that you want to view.

  • chatbot_notification_channels (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::AIOps::CfnInvestigationGroup::ChatbotNotificationChannelProperty>, nil) (defaults to: nil)

    Use this property to integrate CloudWatch investigations with chat applications.

  • cross_account_configurations (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::AIOps::CfnInvestigationGroup::CrossAccountConfigurationProperty>, nil) (defaults to: nil)

    List of sourceRoleArn values that have been configured for cross-account access.

  • encryption_config (AWSCDK::IResolvable, AWSCDK::AIOps::CfnInvestigationGroup::EncryptionConfigMapProperty, nil) (defaults to: nil)

    Specifies the customer managed AWS key that the investigation group uses to encrypt data, if there is one.

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

    Returns the JSON of the IAM resource policy associated with the specified investigation group in a string.

  • is_cloud_trail_event_history_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specify true to enable CloudWatch investigations to have access to change events that are recorded by CloudTrail.

  • retention_in_days (Numeric, nil) (defaults to: nil)

    Specifies how long that investigation data is kept.

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

    The ARN of the IAM role that the investigation group uses for permissions to gather data.

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

    Displays the custom tag keys for custom applications in your system that you have specified in the investigation group.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    The list of key-value pairs to associate with the resource.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'ai_ops/cfn_investigation_group_props.rb', line 19

def initialize(name:, chatbot_notification_channels: nil, cross_account_configurations: nil, encryption_config: nil, investigation_group_policy: nil, is_cloud_trail_event_history_enabled: nil, retention_in_days: nil, role_arn: nil, tag_key_boundaries: nil, tags: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @chatbot_notification_channels = chatbot_notification_channels
  Jsii::Type.check_type(@chatbot_notification_channels, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYWlvcHMuQ2ZuSW52ZXN0aWdhdGlvbkdyb3VwLkNoYXRib3ROb3RpZmljYXRpb25DaGFubmVsUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "chatbotNotificationChannels") unless @chatbot_notification_channels.nil?
  @cross_account_configurations = 
  Jsii::Type.check_type(@cross_account_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYWlvcHMuQ2ZuSW52ZXN0aWdhdGlvbkdyb3VwLkNyb3NzQWNjb3VudENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "crossAccountConfigurations") unless @cross_account_configurations.nil?
  @encryption_config = encryption_config.is_a?(Hash) ? ::AWSCDK::AIOps::CfnInvestigationGroup::EncryptionConfigMapProperty.new(**encryption_config.transform_keys(&:to_sym)) : encryption_config
  Jsii::Type.check_type(@encryption_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19haW9wcy5DZm5JbnZlc3RpZ2F0aW9uR3JvdXAuRW5jcnlwdGlvbkNvbmZpZ01hcFByb3BlcnR5In1dfX0=")), "encryptionConfig") unless @encryption_config.nil?
  @investigation_group_policy = investigation_group_policy
  Jsii::Type.check_type(@investigation_group_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "investigationGroupPolicy") unless @investigation_group_policy.nil?
  @is_cloud_trail_event_history_enabled = is_cloud_trail_event_history_enabled
  Jsii::Type.check_type(@is_cloud_trail_event_history_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "isCloudTrailEventHistoryEnabled") unless @is_cloud_trail_event_history_enabled.nil?
  @retention_in_days = retention_in_days
  Jsii::Type.check_type(@retention_in_days, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "retentionInDays") unless @retention_in_days.nil?
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn") unless @role_arn.nil?
  @tag_key_boundaries = tag_key_boundaries
  Jsii::Type.check_type(@tag_key_boundaries, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tagKeyBoundaries") unless @tag_key_boundaries.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?
end

Instance Attribute Details

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

Use this property to integrate CloudWatch investigations with chat applications.

This property is an array. For the first string, specify the ARN of an Amazon topic. For the array of strings, specify the ARNs of one or more chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see Getting started with Amazon Q in chat applications and Resource type defined by AWS Chatbot .



55
56
57
# File 'ai_ops/cfn_investigation_group_props.rb', line 55

def chatbot_notification_channels
  @chatbot_notification_channels
end

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

List of sourceRoleArn values that have been configured for cross-account access.



60
61
62
# File 'ai_ops/cfn_investigation_group_props.rb', line 60

def 
  @cross_account_configurations
end

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

Specifies the customer managed AWS key that the investigation group uses to encrypt data, if there is one.

If not, the investigation group uses an AWS key to encrypt the data.



67
68
69
# File 'ai_ops/cfn_investigation_group_props.rb', line 67

def encryption_config
  @encryption_config
end

#investigation_group_policyString? (readonly)

Returns the JSON of the IAM resource policy associated with the specified investigation group in a string.

For example, {\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"aiops.alarms.cloudwatch.amazonaws.com\"},\"Action\":[\"aiops:CreateInvestigation\",\"aiops:CreateInvestigationEvent\"],\"Resource\":\"*\",\"Condition\":{\"StringEquals\":{\"aws:SourceAccount\":\"111122223333\"},\"ArnLike\":{\"aws:SourceArn\":\"arn:aws:cloudwatch:us-east-1:111122223333:alarm:*\"}}}]} .



74
75
76
# File 'ai_ops/cfn_investigation_group_props.rb', line 74

def investigation_group_policy
  @investigation_group_policy
end

#is_cloud_trail_event_history_enabledBoolean, ... (readonly)

Specify true to enable CloudWatch investigations to have access to change events that are recorded by CloudTrail.

The default is true .



81
82
83
# File 'ai_ops/cfn_investigation_group_props.rb', line 81

def is_cloud_trail_event_history_enabled
  @is_cloud_trail_event_history_enabled
end

#nameString (readonly)

Specify either the name or the ARN of the investigation group that you want to view.

This is used to set the name of the investigation group.



48
49
50
# File 'ai_ops/cfn_investigation_group_props.rb', line 48

def name
  @name
end

#retention_in_daysNumeric? (readonly)

Specifies how long that investigation data is kept.



86
87
88
# File 'ai_ops/cfn_investigation_group_props.rb', line 86

def retention_in_days
  @retention_in_days
end

#role_arnString? (readonly)

The ARN of the IAM role that the investigation group uses for permissions to gather data.



91
92
93
# File 'ai_ops/cfn_investigation_group_props.rb', line 91

def role_arn
  @role_arn
end

#tag_key_boundariesArray<String>? (readonly)

Displays the custom tag keys for custom applications in your system that you have specified in the investigation group.

Resource tags help CloudWatch investigations narrow the search space when it is unable to discover definite relationships between resources.



98
99
100
# File 'ai_ops/cfn_investigation_group_props.rb', line 98

def tag_key_boundaries
  @tag_key_boundaries
end

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

The list of key-value pairs to associate with the resource.



103
104
105
# File 'ai_ops/cfn_investigation_group_props.rb', line 103

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'ai_ops/cfn_investigation_group_props.rb', line 105

def self.jsii_properties
  {
    :name => "name",
    :chatbot_notification_channels => "chatbotNotificationChannels",
    :cross_account_configurations => "crossAccountConfigurations",
    :encryption_config => "encryptionConfig",
    :investigation_group_policy => "investigationGroupPolicy",
    :is_cloud_trail_event_history_enabled => "isCloudTrailEventHistoryEnabled",
    :retention_in_days => "retentionInDays",
    :role_arn => "roleArn",
    :tag_key_boundaries => "tagKeyBoundaries",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# File 'ai_ops/cfn_investigation_group_props.rb', line 120

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "chatbotNotificationChannels" => @chatbot_notification_channels,
    "crossAccountConfigurations" => @cross_account_configurations,
    "encryptionConfig" => @encryption_config,
    "investigationGroupPolicy" => @investigation_group_policy,
    "isCloudTrailEventHistoryEnabled" => @is_cloud_trail_event_history_enabled,
    "retentionInDays" => @retention_in_days,
    "roleArn" => @role_arn,
    "tagKeyBoundaries" => @tag_key_boundaries,
    "tags" => @tags,
  })
  result.compact
end