Skip to content

put_compliance_inquiry_feedback async

put_compliance_inquiry_feedback(
    compliance_inquiry_id: InquiryId,
    rating: FeedbackRating,
    *,
    config_overrides: Optional[AsyncArtifactClientConfig] = None,
    query_identifier: Optional[int] = None,
    response_revision_id: Optional[int] = None,
    reason_codes: Optional[FeedbackReasonCodeList] = None,
    comment: Optional[FeedbackCommentAttribute] = None,
    client_token: Optional[IdempotentClientToken] = None,
) -> PutComplianceInquiryFeedbackResponse

Submits feedback on a compliance inquiry response.

Parameters:

  • compliance_inquiry_id (InquiryId) –

    The unique identifier for the compliance inquiry.

  • query_identifier (Optional[int], default: None ) –

    The sequential identifier of the query to provide feedback on.

  • rating (FeedbackRating) –

    The rating for the feedback. Valid values are THUMBS_UP and THUMBS_DOWN.

  • response_revision_id (Optional[int], default: None ) –

    The response revision ID. Use this value to prevent submitting feedback on a stale response.

  • reason_codes (Optional[FeedbackReasonCodeList], default: None ) –

    The reason codes that describe why you rated the response. Valid values are OTHER, PARTIAL_RESPONSE, and IRRELEVANT_RESPONSE.

  • comment (Optional[FeedbackCommentAttribute], default: None ) –

    An optional comment for the feedback.

  • client_token (Optional[IdempotentClientToken], default: None ) –

    A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, the service ignores the request, but does not return an error.

Raises:

Source code in docs_src/capo_artifact/_services/async_artifact.py
async def put_compliance_inquiry_feedback(
    self,
    compliance_inquiry_id: "capo_artifact.types.inquiry_id.InquiryId",
    rating: "capo_artifact.types.feedback_rating.FeedbackRating",
    *,
    config_overrides: Optional[AsyncArtifactClientConfig] = None,
    query_identifier: Optional[int] = None,
    response_revision_id: Optional[int] = None,
    reason_codes: Optional[
        "capo_artifact.types.feedback_reason_code_list.FeedbackReasonCodeList"
    ] = None,
    comment: Optional[
        "capo_artifact.types.feedback_comment_attribute.FeedbackCommentAttribute"
    ] = None,
    client_token: Optional[
        "capo_artifact.types.idempotent_client_token.IdempotentClientToken"
    ] = None,
) -> "capo_artifact.types.put_compliance_inquiry_feedback_response.PutComplianceInquiryFeedbackResponse":
    """<p>Submits feedback on a compliance inquiry response.</p>

    Args:
        compliance_inquiry_id: <p>The unique identifier for the compliance inquiry.</p>
        query_identifier: <p>The sequential identifier of the query to provide feedback on.</p>
        rating: <p>The rating for the feedback. Valid values are THUMBS_UP and THUMBS_DOWN.</p>
        response_revision_id: <p>The response revision ID. Use this value to prevent submitting feedback on a stale response.</p>
        reason_codes: <p>The reason codes that describe why you rated the response. Valid values are OTHER, PARTIAL_RESPONSE, and IRRELEVANT_RESPONSE.</p>
        comment: <p>An optional comment for the feedback.</p>
        client_token: <p>A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, the service ignores the request, but does not return an error.</p>

    Raises:
        capo_artifact.errors.access_denied_exception.AccessDeniedException: <p>User does not have sufficient access to perform this action.</p>
        capo_artifact.errors.conflict_exception.ConflictException: <p>Request to create/modify content would result in a conflict.</p>
        capo_artifact.errors.internal_server_exception.InternalServerException: <p>An unknown server exception has occurred.</p>
        capo_artifact.errors.resource_not_found_exception.ResourceNotFoundException: <p>Request references a resource which does not exist.</p>
        capo_artifact.errors.throttling_exception.ThrottlingException: <p>Request was denied due to request throttling.</p>
        capo_artifact.errors.validation_exception.ValidationException: <p>Request fails to satisfy the constraints specified by an AWS service.</p>
        capo_artifact.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_artifact.types.put_compliance_inquiry_feedback_request.PutComplianceInquiryFeedbackRequest]",
    ) -> AsyncOperationResponse[
        "capo_artifact.types.put_compliance_inquiry_feedback_response.PutComplianceInquiryFeedbackResponse"
    ]:
        import capo_artifact._operations.artifact.put_compliance_inquiry_feedback

        (
            output,
            http_response,
        ) = await capo_artifact._operations.artifact.put_compliance_inquiry_feedback.async_put_compliance_inquiry_feedback(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_artifact.types.put_compliance_inquiry_feedback_request.PutComplianceInquiryFeedbackRequest",
    ) -> dict[str, Any]:
        import capo_artifact.types.put_compliance_inquiry_feedback_request

        return capo_artifact.types.put_compliance_inquiry_feedback_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "PutComplianceInquiryFeedback", redact_input=_redact_input
        ),
    )
    input_: capo_artifact.types.put_compliance_inquiry_feedback_request.PutComplianceInquiryFeedbackRequest = {
        "compliance_inquiry_id": compliance_inquiry_id,
        "rating": rating,
    }
    if query_identifier is not None:
        input_["query_identifier"] = query_identifier
    if response_revision_id is not None:
        input_["response_revision_id"] = response_revision_id
    if reason_codes is not None:
        input_["reason_codes"] = reason_codes
    if comment is not None:
        input_["comment"] = comment
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token

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