override fun handleRequest()

in aws-globalaccelerator-listener/src/main/kotlin/software/amazon/globalaccelerator/listener/UpdateHandler.kt [17:34]


    override fun handleRequest(
            proxy: AmazonWebServicesClientProxy,
            request: ResourceHandlerRequest<ResourceModel>,
            callbackContext: CallbackContext?,
            logger: Logger): ProgressEvent<ResourceModel, CallbackContext?> {
        logger.debug("Update 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")
            updateListenerStep(model, proxy, agaClient)
        } else {
            HandlerCommons.waitForSynchronizedStep(inferredCallbackContext, model, proxy, agaClient, logger)
        }
    }