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)
}
}