in aws-networkfirewall-firewall/src/main/java/software/amazon/networkfirewall/firewall/UpdateHandler.java [50:81]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<NetworkFirewallClient> proxyClient,
final Logger logger) {
this.logger = logger;
this.proxy = proxy;
this.handlerRequest = request;
this.callbackContext = callbackContext;
this.proxyClient = proxyClient;
this.logger = logger;
this.desiredStateModel = request.getDesiredResourceState();
this.previousStateModel = request.getPreviousResourceState();
this.subnetsToAdd = computeSubnetsToAdd(
previousStateModel.getSubnetMappings(), desiredStateModel.getSubnetMappings());
this.subnetsToRemove = computeSubnetsToRemove(
previousStateModel.getSubnetMappings(), desiredStateModel.getSubnetMappings());
return ProgressEvent.progress(desiredStateModel, callbackContext)
.then(this::verifyResourceExists)
.then(this::updateFirewallDescription)
.then(this::updateDeleteProtection)
.then(this::updateFirewallPolicyChangeProtection)
.then(this::updateSubnetChangeProtection)
.then(this::associateFirewallPolicy)
.then(this::associateSubnets)
.then(this::disassociateSubnets)
.then(this::updateTags)
.then(progress -> new ReadHandler().handleRequest(proxy, request, callbackContext, proxyClient, logger));
}