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