Class CfnInvestigationGroup

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, ITaggableV2, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.113.0 (build fc68b25)", date="2025-09-02T11:25:25.141Z") @Stability(Stable) public class CfnInvestigationGroup extends CfnResource implements IInspectable, ITaggableV2
Creates an investigation group in your account.

Creating an investigation group is a one-time setup task for each Region in your account. It is a necessary task to be able to perform investigations.

Settings in the investigation group help you centrally manage the common properties of your investigations, such as the following:

  • Who can access the investigations
  • Whether investigation data is encrypted with a customer managed AWS Key Management Service key.
  • How long investigations and their data are retained by default.

Currently, you can have one investigation group in each Region in your account. Each investigation in a Region is a part of the investigation group in that Region

To create an investigation group and set up CloudWatch investigations, you must be signed in to an IAM principal that has either the AIOpsConsoleAdminPolicy or the AdministratorAccess IAM policy attached, or to an account that has similar permissions.

You can configure CloudWatch alarms to start investigations and add events to investigations. If you create your investigation group with CreateInvestigationGroup and you want to enable alarms to do this, you must use PutInvestigationGroupPolicy to create a resource policy that grants this permission to CloudWatch alarms.

For more information about configuring CloudWatch alarms, see Using Amazon CloudWatch alarms

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.aiops.*;
 CfnInvestigationGroup cfnInvestigationGroup = CfnInvestigationGroup.Builder.create(this, "MyCfnInvestigationGroup")
         .name("name")
         // the properties below are optional
         .chatbotNotificationChannels(List.of(ChatbotNotificationChannelProperty.builder()
                 .chatConfigurationArns(List.of("chatConfigurationArns"))
                 .snsTopicArn("snsTopicArn")
                 .build()))
         .crossAccountConfigurations(List.of(CrossAccountConfigurationProperty.builder()
                 .sourceRoleArn("sourceRoleArn")
                 .build()))
         .encryptionConfig(EncryptionConfigMapProperty.builder()
                 .encryptionConfigurationType("encryptionConfigurationType")
                 .kmsKeyId("kmsKeyId")
                 .build())
         .investigationGroupPolicy("investigationGroupPolicy")
         .isCloudTrailEventHistoryEnabled(false)
         .retentionInDays(123)
         .roleArn("roleArn")
         .tagKeyBoundaries(List.of("tagKeyBoundaries"))
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnInvestigationGroup

      protected CfnInvestigationGroup(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnInvestigationGroup

      protected CfnInvestigationGroup(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnInvestigationGroup

      @Stability(Stable) public CfnInvestigationGroup(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnInvestigationGroupProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The Amazon Resource Name (ARN) of the investigation group.
    • getAttrCreatedAt

      @Stability(Stable) @NotNull public String getAttrCreatedAt()
      The date and time that the investigation group was created.
    • getAttrCreatedBy

      @Stability(Stable) @NotNull public String getAttrCreatedBy()
      The name of the user who created the investigation group.
    • getAttrLastModifiedAt

      @Stability(Stable) @NotNull public String getAttrLastModifiedAt()
      The date and time that the investigation group was most recently modified.
    • getAttrLastModifiedBy

      @Stability(Stable) @NotNull public String getAttrLastModifiedBy()
      The name of the user who created the investigation group.
    • getCdkTagManager

      @Stability(Stable) @NotNull public TagManager getCdkTagManager()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getCdkTagManager in interface ITaggableV2
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getName

      @Stability(Stable) @NotNull public String getName()
      Specify either the name or the ARN of the investigation group that you want to view.
    • setName

      @Stability(Stable) public void setName(@NotNull String value)
      Specify either the name or the ARN of the investigation group that you want to view.
    • getChatbotNotificationChannels

      @Stability(Stable) @Nullable public Object getChatbotNotificationChannels()
      Use this property to integrate CloudWatch investigations with chat applications.
    • setChatbotNotificationChannels

      @Stability(Stable) public void setChatbotNotificationChannels(@Nullable IResolvable value)
      Use this property to integrate CloudWatch investigations with chat applications.
    • setChatbotNotificationChannels

      @Stability(Stable) public void setChatbotNotificationChannels(@Nullable List<Object> value)
      Use this property to integrate CloudWatch investigations with chat applications.
    • getCrossAccountConfigurations

      @Stability(Stable) @Nullable public Object getCrossAccountConfigurations()
      List of sourceRoleArn values that have been configured for cross-account access.
    • setCrossAccountConfigurations

      @Stability(Stable) public void setCrossAccountConfigurations(@Nullable IResolvable value)
      List of sourceRoleArn values that have been configured for cross-account access.
    • setCrossAccountConfigurations

      @Stability(Stable) public void setCrossAccountConfigurations(@Nullable List<Object> value)
      List of sourceRoleArn values that have been configured for cross-account access.
    • getEncryptionConfig

      @Stability(Stable) @Nullable public Object getEncryptionConfig()
      Specifies the customer managed AWS KMS key that the investigation group uses to encrypt data, if there is one.
    • setEncryptionConfig

      @Stability(Stable) public void setEncryptionConfig(@Nullable IResolvable value)
      Specifies the customer managed AWS KMS key that the investigation group uses to encrypt data, if there is one.
    • setEncryptionConfig

      @Stability(Stable) public void setEncryptionConfig(@Nullable CfnInvestigationGroup.EncryptionConfigMapProperty value)
      Specifies the customer managed AWS KMS key that the investigation group uses to encrypt data, if there is one.
    • getInvestigationGroupPolicy

      @Stability(Stable) @Nullable public String getInvestigationGroupPolicy()
      Returns the JSON of the IAM resource policy associated with the specified investigation group in a string.
    • setInvestigationGroupPolicy

      @Stability(Stable) public void setInvestigationGroupPolicy(@Nullable String value)
      Returns the JSON of the IAM resource policy associated with the specified investigation group in a string.
    • getIsCloudTrailEventHistoryEnabled

      @Stability(Stable) @Nullable public Object getIsCloudTrailEventHistoryEnabled()
      Specify true to enable CloudWatch investigations to have access to change events that are recorded by CloudTrail.
    • setIsCloudTrailEventHistoryEnabled

      @Stability(Stable) public void setIsCloudTrailEventHistoryEnabled(@Nullable Boolean value)
      Specify true to enable CloudWatch investigations to have access to change events that are recorded by CloudTrail.
    • setIsCloudTrailEventHistoryEnabled

      @Stability(Stable) public void setIsCloudTrailEventHistoryEnabled(@Nullable IResolvable value)
      Specify true to enable CloudWatch investigations to have access to change events that are recorded by CloudTrail.
    • getRetentionInDays

      @Stability(Stable) @Nullable public Number getRetentionInDays()
      Specifies how long that investigation data is kept.
    • setRetentionInDays

      @Stability(Stable) public void setRetentionInDays(@Nullable Number value)
      Specifies how long that investigation data is kept.
    • getRoleArn

      @Stability(Stable) @Nullable public String getRoleArn()
      The ARN of the IAM role that the investigation group uses for permissions to gather data.
    • setRoleArn

      @Stability(Stable) public void setRoleArn(@Nullable String value)
      The ARN of the IAM role that the investigation group uses for permissions to gather data.
    • getTagKeyBoundaries

      @Stability(Stable) @Nullable public List<String> getTagKeyBoundaries()
      Displays the custom tag keys for custom applications in your system that you have specified in the investigation group.
    • setTagKeyBoundaries

      @Stability(Stable) public void setTagKeyBoundaries(@Nullable List<String> value)
      Displays the custom tag keys for custom applications in your system that you have specified in the investigation group.
    • getTags

      @Stability(Stable) @Nullable public List<CfnTag> getTags()
      The list of key-value pairs to associate with the resource.
    • setTags

      @Stability(Stable) public void setTags(@Nullable List<CfnTag> value)
      The list of key-value pairs to associate with the resource.