Skip to content

cancel_deployment async

cancel_deployment(
    deployment_id: NonEmptyString,
    *,
    config_overrides: Optional[AsyncGreengrassV2ClientConfig] = None,
) -> CancelDeploymentResponse

Cancels a deployment. This operation cancels the deployment for devices that haven't yet received it. If a device already received the deployment, this operation doesn't change anything for that device.

Parameters:

Raises:

  • AccessDeniedException –

    You don't have permission to perform the action.

  • ConflictException –

    Your request has conflicting operations. This can occur if you're trying to perform more than one operation on the same resource at the same time.

  • InternalServerException –

    IoT Greengrass can't process your request right now. Try again later.

  • ResourceNotFoundException –

    The requested resource can't be found.

  • ThrottlingException –

    Your request exceeded a request rate quota. For example, you might have exceeded the amount of times that you can retrieve device or deployment status per second.

  • ValidationException –

    The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_greengrassv2/_services/async_greengrass_v2.py
async def cancel_deployment(
    self,
    deployment_id: "capo_greengrassv2.types.non_empty_string.NonEmptyString",
    *,
    config_overrides: Optional[AsyncGreengrassV2ClientConfig] = None,
) -> "capo_greengrassv2.types.cancel_deployment_response.CancelDeploymentResponse":
    """<p>Cancels a deployment. This operation cancels the deployment for devices that haven't yet received it. If a device already received the deployment, this operation doesn't change anything for that device.</p>

    Args:
        deployment_id: <p>The ID of the deployment.</p>

    Raises:
        capo_greengrassv2.errors.access_denied_exception.AccessDeniedException: <p>You don't have permission to perform the action.</p>
        capo_greengrassv2.errors.conflict_exception.ConflictException: <p>Your request has conflicting operations. This can occur if you're trying to perform more than one operation on the same resource at the same time.</p>
        capo_greengrassv2.errors.internal_server_exception.InternalServerException: <p>IoT Greengrass can't process your request right now. Try again later.</p>
        capo_greengrassv2.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested resource can't be found.</p>
        capo_greengrassv2.errors.throttling_exception.ThrottlingException: <p>Your request exceeded a request rate quota. For example, you might have exceeded the amount of times that you can retrieve device or deployment status per second.</p>
        capo_greengrassv2.errors.validation_exception.ValidationException: <p>The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters.</p>
        capo_greengrassv2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_greengrassv2.types.cancel_deployment_request.CancelDeploymentRequest]",
    ) -> AsyncOperationResponse[
        "capo_greengrassv2.types.cancel_deployment_response.CancelDeploymentResponse"
    ]:
        import capo_greengrassv2._operations.greengrass_v2.cancel_deployment

        (
            output,
            http_response,
        ) = await capo_greengrassv2._operations.greengrass_v2.cancel_deployment.async_cancel_deployment(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CancelDeployment")
    )
    input_: capo_greengrassv2.types.cancel_deployment_request.CancelDeploymentRequest = {
        "deployment_id": deployment_id
    }

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