Skip to content

add_communication_to_case async

add_communication_to_case(
    communication_body: CommunicationBody,
    *,
    config_overrides: Optional[AsyncSupportClientConfig] = None,
    case_id: Optional[CaseId] = None,
    cc_email_addresses: Optional[CcEmailAddressList] = None,
    attachment_set_id: Optional[AttachmentSetId] = None,
    upload_ids: Optional[UploadIds] = None,
    dry_run: Optional[NullableBooleanType] = None,
) -> AddCommunicationToCaseResponse

Adds additional customer communication to a Amazon Web Services Support case. Use the caseId parameter to identify the case to which to add communication. To list a set of email addresses to copy on the communication, use the ccEmailAddresses parameter. The communicationBody value contains the text of the communication.

To attach files larger than 5 MB to the communication, use the uploadIds parameter.

Amazon Web Services Support automatically redacts sensitive information from support cases to protect your data. The following information is replaced with [REDACTED_BY_Amazon Web Services] and is not stored:

  • Amazon Web Services secret keys - The complete key is replaced. Example: [REDACTED_BY_Amazon Web Services]

  • Private keys - The complete key is replaced. Example: [REDACTED_BY_Amazon Web Services]

  • Credit card numbers - The number is redacted, but the last 4 digits remain. Example: [REDACTED_BY_Amazon Web Services]-7016

This sensitive information is never required by Amazon Web Services Support.

  • You must have an Amazon Web Services Business Support+, Amazon Web Services Enterprise Support, or Amazon Web Services Unified Operations plan to use the Amazon Web Services Support API. If you're in an Amazon Web Services Region that doesn't offer one of these Amazon Web Services Support plans, or if you haven't transitioned to one of these plans, you can use the Amazon Web Services Support API with a Business, Enterprise On-Ramp, or Enterprise Support plan.

  • If you call the Amazon Web Services Support API from an account that doesn't have an Amazon Web Services Business Support+, Amazon Web Services Enterprise Support, or Amazon Web Services Unified Operations plan, the SubscriptionRequiredException error message appears. For information about changing your support plan, see Amazon Web Services Support.

Parameters:

  • case_id (Optional[CaseId], default: None ) –

    The support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-exen-2025-c4c1d2bf33c5cf47

  • communication_body (CommunicationBody) –

    The body of an email communication to add to the support case.

  • cc_email_addresses (Optional[CcEmailAddressList], default: None ) –

    The email addresses in the CC line of an email to be added to the support case.

  • attachment_set_id (Optional[AttachmentSetId], default: None ) –

    The ID of a set of one or more attachments for the communication to add to the case. Create the set by calling AddAttachmentsToSet. Each attachment in the set must be 5 MB or smaller. To attach files larger than 5 MB, use uploadIds.

  • upload_ids (Optional[UploadIds], default: None ) –

    A list of upload IDs that identify attachments to add to the case. Each uploadId is returned by the GetAttachmentUploadLinks operation. The upload must reach the attachment-ready state by calling CompleteAttachmentUpload before it can be passed here. Use uploadIds to attach files of any supported size, including files larger than 5 MB.

  • dry_run (Optional[NullableBooleanType], default: None ) –

    Specifies whether to validate the request without actually adding the communication to the case. When set to true, the request is validated but the communication isn't added, and the operation returns a DryRunOperationException. When omitted or set to false, the request runs normally.

Raises:

Source code in docs_src/capo_support/_services/async_support.py
async def add_communication_to_case(
    self,
    communication_body: "capo_support.types.communication_body.CommunicationBody",
    *,
    config_overrides: Optional[AsyncSupportClientConfig] = None,
    case_id: Optional["capo_support.types.case_id.CaseId"] = None,
    cc_email_addresses: Optional[
        "capo_support.types.cc_email_address_list.CcEmailAddressList"
    ] = None,
    attachment_set_id: Optional[
        "capo_support.types.attachment_set_id.AttachmentSetId"
    ] = None,
    upload_ids: Optional["capo_support.types.upload_ids.UploadIds"] = None,
    dry_run: Optional[
        "capo_support.types.nullable_boolean_type.NullableBooleanType"
    ] = None,
) -> "capo_support.types.add_communication_to_case_response.AddCommunicationToCaseResponse":
    """<p>Adds additional customer communication to a Amazon Web Services Support case. Use the <code>caseId</code> parameter to identify the case to which to add communication. To list a set of email addresses to copy on the communication, use the <code>ccEmailAddresses</code> parameter. The <code>communicationBody</code> value contains the text of the communication.</p> <p>To attach files larger than 5 MB to the communication, use the <code>uploadIds</code> parameter.</p> <important> <p>Amazon Web Services Support automatically redacts sensitive information from support cases to protect your data. The following information is replaced with <code>[REDACTED_BY_Amazon Web Services]</code> and is not stored:</p> <ul> <li> <p>Amazon Web Services secret keys - The complete key is replaced. Example: <code>[REDACTED_BY_Amazon Web Services]</code> </p> </li> <li> <p>Private keys - The complete key is replaced. Example: <code>[REDACTED_BY_Amazon Web Services]</code> </p> </li> <li> <p>Credit card numbers - The number is redacted, but the last 4 digits remain. Example: <code>[REDACTED_BY_Amazon Web Services]-7016</code> </p> </li> </ul> <p>This sensitive information is never required by Amazon Web Services Support.</p> </important> <note> <ul> <li> <p>You must have an Amazon Web Services Business Support+, Amazon Web Services Enterprise Support, or Amazon Web Services Unified Operations plan to use the Amazon Web Services Support API. If you're in an Amazon Web Services Region that doesn't offer one of these Amazon Web Services Support plans, or if you haven't transitioned to one of these plans, you can use the Amazon Web Services Support API with a Business, Enterprise On-Ramp, or Enterprise Support plan.</p> </li> <li> <p>If you call the Amazon Web Services Support API from an account that doesn't have an Amazon Web Services Business Support+, Amazon Web Services Enterprise Support, or Amazon Web Services Unified Operations plan, the <code>SubscriptionRequiredException</code> error message appears. For information about changing your support plan, see <a href="http://aws.amazon.com/premiumsupport/">Amazon Web Services Support</a>.</p> </li> </ul> </note>

    Args:
        case_id: <p>The support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-<i>12345678910-exen-2025-c4c1d2bf33c5cf47</i> </p>
        communication_body: <p>The body of an email communication to add to the support case.</p>
        cc_email_addresses: <p>The email addresses in the CC line of an email to be added to the support case.</p>
        attachment_set_id: <p>The ID of a set of one or more attachments for the communication to add to the case. Create the set by calling <a>AddAttachmentsToSet</a>. Each attachment in the set must be 5 MB or smaller. To attach files larger than 5 MB, use <code>uploadIds</code>.</p>
        upload_ids: <p>A list of upload IDs that identify attachments to add to the case. Each <code>uploadId</code> is returned by the <a>GetAttachmentUploadLinks</a> operation. The upload must reach the <code>attachment-ready</code> state by calling <a>CompleteAttachmentUpload</a> before it can be passed here. Use <code>uploadIds</code> to attach files of any supported size, including files larger than 5 MB.</p>
        dry_run: <p>Specifies whether to validate the request without actually adding the communication to the case. When set to <code>true</code>, the request is validated but the communication isn't added, and the operation returns a <code>DryRunOperationException</code>. When omitted or set to <code>false</code>, the request runs normally.</p>

    Raises:
        capo_support.errors.attachment_set_expired.AttachmentSetExpired: <p>The expiration time of the attachment set has passed. The set expires 1 hour after it is created.</p>
        capo_support.errors.attachment_set_id_not_found.AttachmentSetIdNotFound: <p>An attachment set with the specified ID could not be found.</p>
        capo_support.errors.case_id_not_found.CaseIdNotFound: <p>The requested <code>caseId</code> couldn't be located.</p>
        capo_support.errors.dry_run_operation_exception.DryRunOperationException: <p>The request was valid, but the operation wasn't performed because <code>dryRun</code> was set to <code>true</code>.</p>
        capo_support.errors.internal_server_error.InternalServerError: <p>An internal server error occurred.</p>
        capo_support.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_support.types.add_communication_to_case_request.AddCommunicationToCaseRequest]",
    ) -> AsyncOperationResponse[
        "capo_support.types.add_communication_to_case_response.AddCommunicationToCaseResponse"
    ]:
        import capo_support._operations.aws_support_20130415.add_communication_to_case

        (
            output,
            http_response,
        ) = await capo_support._operations.aws_support_20130415.add_communication_to_case.async_add_communication_to_case(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("AddCommunicationToCase")
    )
    input_: capo_support.types.add_communication_to_case_request.AddCommunicationToCaseRequest = {
        "communication_body": communication_body
    }
    if case_id is not None:
        input_["case_id"] = case_id
    if cc_email_addresses is not None:
        input_["cc_email_addresses"] = cc_email_addresses
    if attachment_set_id is not None:
        input_["attachment_set_id"] = attachment_set_id
    if upload_ids is not None:
        input_["upload_ids"] = upload_ids
    if dry_run is not None:
        input_["dry_run"] = dry_run

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output