Skip to content

update_case

update_case(
    case_id: CaseId,
    *,
    config_overrides: Optional[SecurityIRClientConfig] = None,
    title: Optional[CaseTitle] = None,
    description: Optional[CaseDescription] = None,
    reported_incident_start_date: Optional[datetime] = None,
    actual_incident_start_date: Optional[datetime] = None,
    engagement_type: Optional[EngagementType] = None,
    watchers_to_add: Optional[Watchers] = None,
    watchers_to_delete: Optional[Watchers] = None,
    threat_actor_ip_addresses_to_add: Optional[ThreatActorIpList] = None,
    threat_actor_ip_addresses_to_delete: Optional[ThreatActorIpList] = None,
    impacted_services_to_add: Optional[ImpactedServicesList] = None,
    impacted_services_to_delete: Optional[ImpactedServicesList] = None,
    impacted_aws_regions_to_add: Optional[ImpactedAwsRegionList] = None,
    impacted_aws_regions_to_delete: Optional[ImpactedAwsRegionList] = None,
    impacted_accounts_to_add: Optional[ImpactedAccounts] = None,
    impacted_accounts_to_delete: Optional[ImpactedAccounts] = None,
    case_metadata: Optional[CaseMetadata] = None,
) -> UpdateCaseResponse

Updates an existing case.

Parameters:

  • case_id (CaseId) –

    Required element for UpdateCase to identify the case ID for updates.

  • title (Optional[CaseTitle], default: None ) –

    Optional element for UpdateCase to provide content for the title field.

  • description (Optional[CaseDescription], default: None ) –

    Optional element for UpdateCase to provide content for the description field.

  • reported_incident_start_date (Optional[datetime], default: None ) –

    Optional element for UpdateCase to provide content for the customer reported incident start date field.

  • actual_incident_start_date (Optional[datetime], default: None ) –

    Optional element for UpdateCase to provide content for the incident start date field.

  • engagement_type (Optional[EngagementType], default: None ) –

    Optional element for UpdateCase to provide content for the engagement type field. Available engagement types include Security Incident | Investigation.

  • watchers_to_add (Optional[Watchers], default: None ) –

    Optional element for UpdateCase to provide content to add additional watchers to a case.

  • watchers_to_delete (Optional[Watchers], default: None ) –

    Optional element for UpdateCase to provide content to remove existing watchers from a case.

  • threat_actor_ip_addresses_to_add (Optional[ThreatActorIpList], default: None ) –

    Optional element for UpdateCase to provide content to add additional suspicious IP addresses related to a case.

  • threat_actor_ip_addresses_to_delete (Optional[ThreatActorIpList], default: None ) –

    Optional element for UpdateCase to provide content to remove suspicious IP addresses from a case.

  • impacted_services_to_add (Optional[ImpactedServicesList], default: None ) –

    Optional element for UpdateCase to provide content to add services impacted.

  • impacted_services_to_delete (Optional[ImpactedServicesList], default: None ) –

    Optional element for UpdateCase to provide content to remove services impacted.

  • impacted_aws_regions_to_add (Optional[ImpactedAwsRegionList], default: None ) –

    Optional element for UpdateCase to provide content to add regions impacted.

  • impacted_aws_regions_to_delete (Optional[ImpactedAwsRegionList], default: None ) –

    Optional element for UpdateCase to provide content to remove regions impacted.

  • impacted_accounts_to_add (Optional[ImpactedAccounts], default: None ) –

    Optional element for UpdateCase to provide content to add accounts impacted.

    AWS account ID's may appear less than 12 characters and need to be zero-prepended. An example would be 123123123 which is nine digits, and with zero-prepend would be 000123123123. Not zero-prepending to 12 digits could result in errors.

  • impacted_accounts_to_delete (Optional[ImpactedAccounts], default: None ) –

    Optional element for UpdateCase to provide content to add accounts impacted.

    AWS account ID's may appear less than 12 characters and need to be zero-prepended. An example would be 123123123 which is nine digits, and with zero-prepend would be 000123123123. Not zero-prepending to 12 digits could result in errors.

  • case_metadata (Optional[CaseMetadata], default: None ) –

    Update the case request with case metadata

Raises:

Examples:

Invoke UpdateCase

>>> client.update_case(case_id='8403556009', title='My sample case', description='Case description', reported_incident_start_date='2023-03-27T15:32:01.789Z', actual_incident_start_date='2023-03-25T15:32:01.789Z', engagement_type='Investigation', watchers_to_add=[{'email': '[email protected]', 'name': 'Same', 'jobTitle': 'CEO'}], watchers_to_delete=[{'email': '[email protected]', 'name': 'Bob', 'jobTitle': 'CFO'}], threat_actor_ip_addresses_to_add=[{'ipAddress': '190.160.190.160', 'userAgent': 'Browser'}], threat_actor_ip_addresses_to_delete=[{'ipAddress': '192.168.192.168', 'userAgent': 'Browser'}], impacted_services_to_add=['Amazon EC2'], impacted_services_to_delete=['Amazon EKS'], impacted_aws_regions_to_add=[{'region': 'ap-southeast-1'}], impacted_aws_regions_to_delete=[{'region': 'us-east-1'}], impacted_accounts_to_add=['000000000000'], impacted_accounts_to_delete=['111111111111'])
Source code in docs_src/capo_security_ir/_services/security_ir.py
def update_case(
    self,
    case_id: "capo_security_ir.types.case_id.CaseId",
    *,
    config_overrides: Optional[SecurityIRClientConfig] = None,
    title: Optional["capo_security_ir.types.case_title.CaseTitle"] = None,
    description: Optional[
        "capo_security_ir.types.case_description.CaseDescription"
    ] = None,
    reported_incident_start_date: Optional[datetime.datetime] = None,
    actual_incident_start_date: Optional[datetime.datetime] = None,
    engagement_type: Optional[
        "capo_security_ir.types.engagement_type.EngagementType"
    ] = None,
    watchers_to_add: Optional["capo_security_ir.types.watchers.Watchers"] = None,
    watchers_to_delete: Optional["capo_security_ir.types.watchers.Watchers"] = None,
    threat_actor_ip_addresses_to_add: Optional[
        "capo_security_ir.types.threat_actor_ip_list.ThreatActorIpList"
    ] = None,
    threat_actor_ip_addresses_to_delete: Optional[
        "capo_security_ir.types.threat_actor_ip_list.ThreatActorIpList"
    ] = None,
    impacted_services_to_add: Optional[
        "capo_security_ir.types.impacted_services_list.ImpactedServicesList"
    ] = None,
    impacted_services_to_delete: Optional[
        "capo_security_ir.types.impacted_services_list.ImpactedServicesList"
    ] = None,
    impacted_aws_regions_to_add: Optional[
        "capo_security_ir.types.impacted_aws_region_list.ImpactedAwsRegionList"
    ] = None,
    impacted_aws_regions_to_delete: Optional[
        "capo_security_ir.types.impacted_aws_region_list.ImpactedAwsRegionList"
    ] = None,
    impacted_accounts_to_add: Optional[
        "capo_security_ir.types.impacted_accounts.ImpactedAccounts"
    ] = None,
    impacted_accounts_to_delete: Optional[
        "capo_security_ir.types.impacted_accounts.ImpactedAccounts"
    ] = None,
    case_metadata: Optional[
        "capo_security_ir.types.case_metadata.CaseMetadata"
    ] = None,
) -> "capo_security_ir.types.update_case_response.UpdateCaseResponse":
    """<p>Updates an existing case.</p>

    Args:
        case_id: <p>Required element for UpdateCase to identify the case ID for updates.</p>
        title: <p>Optional element for UpdateCase to provide content for the title field.</p>
        description: <p>Optional element for UpdateCase to provide content for the description field.</p>
        reported_incident_start_date: <p>Optional element for UpdateCase to provide content for the customer reported incident start date field. </p>
        actual_incident_start_date: <p>Optional element for UpdateCase to provide content for the incident start date field.</p>
        engagement_type: <p>Optional element for UpdateCase to provide content for the engagement type field. <code>Available engagement types include Security Incident | Investigation</code>. </p>
        watchers_to_add: <p>Optional element for UpdateCase to provide content to add additional watchers to a case.</p>
        watchers_to_delete: <p>Optional element for UpdateCase to provide content to remove existing watchers from a case.</p>
        threat_actor_ip_addresses_to_add: <p>Optional element for UpdateCase to provide content to add additional suspicious IP addresses related to a case. </p>
        threat_actor_ip_addresses_to_delete: <p>Optional element for UpdateCase to provide content to remove suspicious IP addresses from a case.</p>
        impacted_services_to_add: <p>Optional element for UpdateCase to provide content to add services impacted.</p>
        impacted_services_to_delete: <p>Optional element for UpdateCase to provide content to remove services impacted.</p>
        impacted_aws_regions_to_add: <p>Optional element for UpdateCase to provide content to add regions impacted.</p>
        impacted_aws_regions_to_delete: <p>Optional element for UpdateCase to provide content to remove regions impacted.</p>
        impacted_accounts_to_add: <p>Optional element for UpdateCase to provide content to add accounts impacted.</p> <note> <p> AWS account ID's may appear less than 12 characters and need to be zero-prepended. An example would be <code>123123123</code> which is nine digits, and with zero-prepend would be <code>000123123123</code>. Not zero-prepending to 12 digits could result in errors. </p> </note>
        impacted_accounts_to_delete: <p>Optional element for UpdateCase to provide content to add accounts impacted.</p> <note> <p> AWS account ID's may appear less than 12 characters and need to be zero-prepended. An example would be <code>123123123</code> which is nine digits, and with zero-prepend would be <code>000123123123</code>. Not zero-prepending to 12 digits could result in errors. </p> </note>
        case_metadata: <p>Update the case request with case metadata</p>

    Raises:
        capo_security_ir.errors.access_denied_exception.AccessDeniedException: <p/>
        capo_security_ir.errors.conflict_exception.ConflictException: <p/>
        capo_security_ir.errors.internal_server_exception.InternalServerException: <p/>
        capo_security_ir.errors.invalid_token_exception.InvalidTokenException: <p/>
        capo_security_ir.errors.resource_not_found_exception.ResourceNotFoundException: <p/>
        capo_security_ir.errors.security_incident_response_not_active_exception.SecurityIncidentResponseNotActiveException: <p/>
        capo_security_ir.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p/>
        capo_security_ir.errors.throttling_exception.ThrottlingException: <p/>
        capo_security_ir.errors.validation_exception.ValidationException: <p/>
        capo_security_ir.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        Invoke UpdateCase

        >>> client.update_case(case_id='8403556009', title='My sample case', description='Case description', reported_incident_start_date='2023-03-27T15:32:01.789Z', actual_incident_start_date='2023-03-25T15:32:01.789Z', engagement_type='Investigation', watchers_to_add=[{'email': '[email protected]', 'name': 'Same', 'jobTitle': 'CEO'}], watchers_to_delete=[{'email': '[email protected]', 'name': 'Bob', 'jobTitle': 'CFO'}], threat_actor_ip_addresses_to_add=[{'ipAddress': '190.160.190.160', 'userAgent': 'Browser'}], threat_actor_ip_addresses_to_delete=[{'ipAddress': '192.168.192.168', 'userAgent': 'Browser'}], impacted_services_to_add=['Amazon EC2'], impacted_services_to_delete=['Amazon EKS'], impacted_aws_regions_to_add=[{'region': 'ap-southeast-1'}], impacted_aws_regions_to_delete=[{'region': 'us-east-1'}], impacted_accounts_to_add=['000000000000'], impacted_accounts_to_delete=['111111111111'])
    """

    def _handler(
        req: "OperationRequest[capo_security_ir.types.update_case_request.UpdateCaseRequest]",
    ) -> OperationResponse[
        "capo_security_ir.types.update_case_response.UpdateCaseResponse"
    ]:
        import capo_security_ir._operations.security_incident_response.update_case

        output, http_response = (
            capo_security_ir._operations.security_incident_response.update_case.update_case(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_security_ir.types.update_case_request.UpdateCaseRequest",
    ) -> dict[str, Any]:
        import capo_security_ir.types.update_case_request

        return capo_security_ir.types.update_case_request.redact_sensitive(input_)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateCase", redact_input=_redact_input)
    )
    input_: capo_security_ir.types.update_case_request.UpdateCaseRequest = {
        "case_id": case_id
    }
    if title is not None:
        input_["title"] = title
    if description is not None:
        input_["description"] = description
    if reported_incident_start_date is not None:
        input_["reported_incident_start_date"] = reported_incident_start_date
    if actual_incident_start_date is not None:
        input_["actual_incident_start_date"] = actual_incident_start_date
    if engagement_type is not None:
        input_["engagement_type"] = engagement_type
    if watchers_to_add is not None:
        input_["watchers_to_add"] = watchers_to_add
    if watchers_to_delete is not None:
        input_["watchers_to_delete"] = watchers_to_delete
    if threat_actor_ip_addresses_to_add is not None:
        input_["threat_actor_ip_addresses_to_add"] = (
            threat_actor_ip_addresses_to_add
        )
    if threat_actor_ip_addresses_to_delete is not None:
        input_["threat_actor_ip_addresses_to_delete"] = (
            threat_actor_ip_addresses_to_delete
        )
    if impacted_services_to_add is not None:
        input_["impacted_services_to_add"] = impacted_services_to_add
    if impacted_services_to_delete is not None:
        input_["impacted_services_to_delete"] = impacted_services_to_delete
    if impacted_aws_regions_to_add is not None:
        input_["impacted_aws_regions_to_add"] = impacted_aws_regions_to_add
    if impacted_aws_regions_to_delete is not None:
        input_["impacted_aws_regions_to_delete"] = impacted_aws_regions_to_delete
    if impacted_accounts_to_add is not None:
        input_["impacted_accounts_to_add"] = impacted_accounts_to_add
    if impacted_accounts_to_delete is not None:
        input_["impacted_accounts_to_delete"] = impacted_accounts_to_delete
    if case_metadata is not None:
        input_["case_metadata"] = case_metadata

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