override fun handleRequest()

in aws-globalaccelerator-listener/src/main/kotlin/software/amazon/globalaccelerator/listener/DeleteHandler.kt [15:33]


    override fun handleRequest(
            proxy: AmazonWebServicesClientProxy,
            request: ResourceHandlerRequest<ResourceModel>,
            callbackContext: CallbackContext?,
            logger: Logger): ProgressEvent<ResourceModel, CallbackContext?> {
        logger.debug("Delete Listener Request [$request]")
        val agaClient = AcceleratorClientBuilder.client
        val inferredCallbackContext = callbackContext
                ?: CallbackContext(stabilizationRetriesRemaining = HandlerCommons.NUMBER_OF_STATE_POLL_RETRIES, pendingStabilization = false)
        val model = request.desiredResourceState

        return if (!inferredCallbackContext.pendingStabilization) {
            HandlerCommons.getListener(model.listenerArn, proxy, agaClient, logger)
                    ?: return ProgressEvent.failed(model, callbackContext, HandlerErrorCode.NotFound, "Listener not found.")
            deleteListener(model, proxy, agaClient)
        } else {
            HandlerCommons.waitForSynchronizedStep(inferredCallbackContext, model, proxy, agaClient, logger, isDelete = true)
        }
    }