override fun handleRequest()

in aws-globalaccelerator-accelerator/src/main/kotlin/software/amazon/globalaccelerator/accelerator/DeleteHandler.kt [18:34]


    override fun handleRequest(proxy: AmazonWebServicesClientProxy,
                               request: ResourceHandlerRequest<ResourceModel>,
                               callbackContext: CallbackContext?,
                               logger: Logger): ProgressEvent<ResourceModel, CallbackContext?> {
        logger.debug("Delete Accelerator Request: $request")
        val agaClient = client
        val inferredCallbackContext = callbackContext ?: CallbackContext(HandlerCommons.NUMBER_OF_STATE_POLL_RETRIES)
        val model = request.desiredResourceState
        val foundAccelerator = HandlerCommons.getAccelerator(model.acceleratorArn, proxy, agaClient, logger)
                ?: return ProgressEvent.failed(model, callbackContext, HandlerErrorCode.NotFound, "Accelerator not found.")
        if (foundAccelerator.enabled) {
            disableAccelerator(foundAccelerator.acceleratorArn, proxy, agaClient, logger)
        } else if (foundAccelerator.status == AcceleratorStatus.DEPLOYED.toString()) {
            deleteAccelerator(foundAccelerator.acceleratorArn, proxy, agaClient, logger)
        }
        return waitForDeletedStep(inferredCallbackContext, model, proxy, agaClient, logger)
    }