Skip to content

override_pull_request_approval_rules async

override_pull_request_approval_rules(
    pull_request_id: PullRequestId,
    revision_id: RevisionId,
    override_status: OverrideStatus,
    *,
    config_overrides: Optional[AsyncCodeCommitClientConfig] = None,
) -> None

Sets aside (overrides) all approval rule requirements for a specified pull request.

Parameters:

  • pull_request_id (PullRequestId) –

    The system-generated ID of the pull request for which you want to override all approval rule requirements. To get this information, use GetPullRequest.

  • revision_id (RevisionId) –

    The system-generated ID of the most recent revision of the pull request. You cannot override approval rules for anything but the most recent revision of a pull request. To get the revision ID, use GetPullRequest.

  • override_status (OverrideStatus) –

    Whether you want to set aside approval rule requirements for the pull request (OVERRIDE) or revoke a previous override and apply approval rule requirements (REVOKE). REVOKE status is not stored.

Raises:

Source code in docs_src/capo_codecommit/_services/async_code_commit.py
async def override_pull_request_approval_rules(
    self,
    pull_request_id: "capo_codecommit.types.pull_request_id.PullRequestId",
    revision_id: "capo_codecommit.types.revision_id.RevisionId",
    override_status: "capo_codecommit.types.override_status.OverrideStatus",
    *,
    config_overrides: Optional[AsyncCodeCommitClientConfig] = None,
) -> None:
    """<p>Sets aside (overrides) all approval rule requirements for a specified pull request.</p>

    Args:
        pull_request_id: <p>The system-generated ID of the pull request for which you want to override all approval rule requirements. To get this information, use <a>GetPullRequest</a>.</p>
        revision_id: <p>The system-generated ID of the most recent revision of the pull request. You cannot override approval rules for anything but the most recent revision of a pull request. To get the revision ID, use GetPullRequest.</p>
        override_status: <p>Whether you want to set aside approval rule requirements for the pull request (OVERRIDE) or revoke a previous override and apply approval rule requirements (REVOKE). REVOKE status is not stored.</p>

    Raises:
        capo_codecommit.errors.encryption_integrity_checks_failed_exception.EncryptionIntegrityChecksFailedException: <p>An encryption integrity check failed.</p>
        capo_codecommit.errors.encryption_key_access_denied_exception.EncryptionKeyAccessDeniedException: <p>An encryption key could not be accessed.</p>
        capo_codecommit.errors.encryption_key_disabled_exception.EncryptionKeyDisabledException: <p>The encryption key is disabled.</p>
        capo_codecommit.errors.encryption_key_not_found_exception.EncryptionKeyNotFoundException: <p>No encryption key was found.</p>
        capo_codecommit.errors.encryption_key_unavailable_exception.EncryptionKeyUnavailableException: <p>The encryption key is not available.</p>
        capo_codecommit.errors.invalid_override_status_exception.InvalidOverrideStatusException: <p>The override status is not valid. Valid statuses are OVERRIDE and REVOKE.</p>
        capo_codecommit.errors.invalid_pull_request_id_exception.InvalidPullRequestIdException: <p>The pull request ID is not valid. Make sure that you have provided the full ID and that the pull request is in the specified repository, and then try again.</p>
        capo_codecommit.errors.invalid_revision_id_exception.InvalidRevisionIdException: <p>The revision ID is not valid. Use GetPullRequest to determine the value.</p>
        capo_codecommit.errors.override_already_set_exception.OverrideAlreadySetException: <p>The pull request has already had its approval rules set to override.</p>
        capo_codecommit.errors.override_status_required_exception.OverrideStatusRequiredException: <p>An override status is required, but no value was provided. Valid values include OVERRIDE and REVOKE.</p>
        capo_codecommit.errors.pull_request_already_closed_exception.PullRequestAlreadyClosedException: <p>The pull request status cannot be updated because it is already closed.</p>
        capo_codecommit.errors.pull_request_does_not_exist_exception.PullRequestDoesNotExistException: <p>The pull request ID could not be found. Make sure that you have specified the correct repository name and pull request ID, and then try again.</p>
        capo_codecommit.errors.pull_request_id_required_exception.PullRequestIdRequiredException: <p>A pull request ID is required, but none was provided.</p>
        capo_codecommit.errors.revision_id_required_exception.RevisionIdRequiredException: <p>A revision ID is required, but was not provided.</p>
        capo_codecommit.errors.revision_not_current_exception.RevisionNotCurrentException: <p>The revision ID provided in the request does not match the current revision ID. Use GetPullRequest to retrieve the current revision ID.</p>
        capo_codecommit.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_codecommit.types.override_pull_request_approval_rules_input.OverridePullRequestApprovalRulesInput]",
    ) -> AsyncOperationResponse[None]:
        import capo_codecommit._operations.code_commit_20150413.override_pull_request_approval_rules

        (
            output,
            http_response,
        ) = await capo_codecommit._operations.code_commit_20150413.override_pull_request_approval_rules.async_override_pull_request_approval_rules(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("OverridePullRequestApprovalRules")
    )
    input_: capo_codecommit.types.override_pull_request_approval_rules_input.OverridePullRequestApprovalRulesInput = {
        "pull_request_id": pull_request_id,
        "revision_id": revision_id,
        "override_status": override_status,
    }

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