Skip to content

update_investigation_group

update_investigation_group(
    identifier: InvestigationGroupIdentifier,
    *,
    config_overrides: Optional[AIOpsClientConfig] = None,
    role_arn: Optional[RoleArn] = None,
    encryption_configuration: Optional[EncryptionConfiguration] = None,
    tag_key_boundaries: Optional[TagKeyBoundaries] = None,
    chatbot_notification_channel: Optional[ChatbotNotificationChannel] = None,
    is_cloud_trail_event_history_enabled: Optional[bool] = None,
    cross_account_configurations: Optional[CrossAccountConfigurations] = None,
) -> UpdateInvestigationGroupOutput

Updates the configuration of the specified investigation group.

Parameters:

  • identifier (InvestigationGroupIdentifier) –

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

  • role_arn (Optional[RoleArn], default: None ) –

    Specify this field if you want to change the IAM role that CloudWatch investigations will use when it gathers investigation data. To do so, specify the ARN of the new role.

    The permissions in this role determine which of your resources that CloudWatch investigations will have access to during investigations.

    For more information, see How to control what data CloudWatch investigations has access to during investigations.

  • encryption_configuration (Optional[EncryptionConfiguration], default: None ) –

    Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, CloudWatch investigations will use an Amazon Web Services key to encrypt the data. For more information, see Encryption of investigation data.

  • tag_key_boundaries (Optional[TagKeyBoundaries], default: None ) –

    Enter the existing custom tag keys for custom applications in your system. Resource tags help CloudWatch investigations narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, CloudWatch investigations can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven't deployed these features, CloudWatch investigations will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by CloudWatch investigations in these cases.

    You don't need to enter tags created by myApplications or CloudFormation, because CloudWatch investigations can automatically detect those tags.

  • chatbot_notification_channel (Optional[ChatbotNotificationChannel], default: None ) –

    Use this structure to integrate CloudWatch investigations with chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS 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 Amazon Web Services Chatbot.

  • is_cloud_trail_event_history_enabled (Optional[bool], default: None ) –

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

  • cross_account_configurations (Optional[CrossAccountConfigurations], default: None ) –

    Used to configure cross-account access for an investigation group. It allows the investigation group to access resources in other accounts.

Raises:

Source code in docs_src/capo_aiops/_services/ai_ops.py
def update_investigation_group(
    self,
    identifier: "capo_aiops.types.investigation_group_identifier.InvestigationGroupIdentifier",
    *,
    config_overrides: Optional[AIOpsClientConfig] = None,
    role_arn: Optional["capo_aiops.types.role_arn.RoleArn"] = None,
    encryption_configuration: Optional[
        "capo_aiops.types.encryption_configuration.EncryptionConfiguration"
    ] = None,
    tag_key_boundaries: Optional[
        "capo_aiops.types.tag_key_boundaries.TagKeyBoundaries"
    ] = None,
    chatbot_notification_channel: Optional[
        "capo_aiops.types.chatbot_notification_channel.ChatbotNotificationChannel"
    ] = None,
    is_cloud_trail_event_history_enabled: Optional[bool] = None,
    cross_account_configurations: Optional[
        "capo_aiops.types.cross_account_configurations.CrossAccountConfigurations"
    ] = None,
) -> "capo_aiops.types.update_investigation_group_output.UpdateInvestigationGroupOutput":
    """<p>Updates the configuration of the specified investigation group.</p>

    Args:
        identifier: <p>Specify either the name or the ARN of the investigation group that you want to modify.</p>
        role_arn: <p>Specify this field if you want to change the IAM role that CloudWatch investigations will use when it gathers investigation data. To do so, specify the ARN of the new role.</p> <p>The permissions in this role determine which of your resources that CloudWatch investigations will have access to during investigations.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Investigations-Security.html#Investigations-Security-Data">How to control what data CloudWatch investigations has access to during investigations</a>.</p>
        encryption_configuration: <p>Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, CloudWatch investigations will use an Amazon Web Services key to encrypt the data. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Investigations-Security.html#Investigations-KMS">Encryption of investigation data</a>.</p>
        tag_key_boundaries: <p>Enter the existing custom tag keys for custom applications in your system. Resource tags help CloudWatch investigations narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, CloudWatch investigations can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven't deployed these features, CloudWatch investigations will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by CloudWatch investigations in these cases.</p> <p>You don't need to enter tags created by myApplications or CloudFormation, because CloudWatch investigations can automatically detect those tags.</p>
        chatbot_notification_channel: <p>Use this structure to integrate CloudWatch investigations with chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS 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 <a href="https://docs.aws.amazon.com/chatbot/latest/adminguide/getting-started.html">Getting started with Amazon Q in chat applications</a> and <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awschatbot.html#awschatbot-resources-for-iam-policies">Resource type defined by Amazon Web Services Chatbot</a>.</p>
        is_cloud_trail_event_history_enabled: <p>Specify <code>true</code> to enable CloudWatch investigations to have access to change events that are recorded by CloudTrail. The default is <code>true</code>.</p>
        cross_account_configurations: <p>Used to configure cross-account access for an investigation group. It allows the investigation group to access resources in other accounts. </p>

    Raises:
        capo_aiops.errors.access_denied_exception.AccessDeniedException: <p>You don't have sufficient permissions to perform this action.</p>
        capo_aiops.errors.conflict_exception.ConflictException: <p>This operation couldn't be completed because of a conflict in resource states.</p>
        capo_aiops.errors.forbidden_exception.ForbiddenException: <p>Access id denied for this operation, or this operation is not valid for the specified resource.</p>
        capo_aiops.errors.internal_server_exception.InternalServerException: <p>An internal server error occurred. You can try again later.</p>
        capo_aiops.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource doesn't exist.</p>
        capo_aiops.errors.validation_exception.ValidationException: <p>This operation or its parameters aren't formatted correctly.</p>
        capo_aiops.errors.throttling_exception.ThrottlingException: <p>The request was throttled because of quota limits. You can try again later.</p>
        capo_aiops.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_aiops.types.update_investigation_group_request.UpdateInvestigationGroupRequest]",
    ) -> OperationResponse[
        "capo_aiops.types.update_investigation_group_output.UpdateInvestigationGroupOutput"
    ]:
        import capo_aiops._operations.ai_ops.update_investigation_group

        output, http_response = (
            capo_aiops._operations.ai_ops.update_investigation_group.update_investigation_group(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateInvestigationGroup")
    )
    input_: capo_aiops.types.update_investigation_group_request.UpdateInvestigationGroupRequest = {
        "identifier": identifier
    }
    if role_arn is not None:
        input_["role_arn"] = role_arn
    if encryption_configuration is not None:
        input_["encryption_configuration"] = encryption_configuration
    if tag_key_boundaries is not None:
        input_["tag_key_boundaries"] = tag_key_boundaries
    if chatbot_notification_channel is not None:
        input_["chatbot_notification_channel"] = chatbot_notification_channel
    if is_cloud_trail_event_history_enabled is not None:
        input_["is_cloud_trail_event_history_enabled"] = (
            is_cloud_trail_event_history_enabled
        )
    if cross_account_configurations is not None:
        input_["cross_account_configurations"] = cross_account_configurations

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output