in aws-globalaccelerator-endpointgroup/src/main/kotlin/software/amazon/globalaccelerator/endpointgroup/UpdateHandler.kt [18:34]
override fun handleRequest(proxy: AmazonWebServicesClientProxy,
request: ResourceHandlerRequest<ResourceModel>,
callbackContext: CallbackContext?,
logger: Logger): ProgressEvent<ResourceModel, CallbackContext?> {
logger.debug("Update EndpointGroup 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.getEndpointGroup(model.endpointGroupArn, proxy, agaClient, logger)
?: return ProgressEvent.failed(model, callbackContext, HandlerErrorCode.NotFound, "Endpoint Group not found.")
updateEndpointGroup(model, request.previousResourceState, proxy, agaClient)
} else {
HandlerCommons.waitForSynchronizedStep(inferredCallbackContext, model, proxy, agaClient, logger)
}
}