public Boolean delete(Resource resource, GccDeleteContextObject d) throws Exception {
Stack stack = stackRepository.findById(d.getStackId());
try {
GccTemplate gccTemplate = (GccTemplate) stack.getTemplate();
GccCredential gccCredential = (GccCredential) stack.getCredential();
Operation execute = d.getCompute().firewalls().delete(gccCredential.getProjectId(), resource.getResourceName()).execute();
Compute.ZoneOperations.Get zoneOperations = createZoneOperations(d.getCompute(), gccCredential, gccTemplate, execute);
Compute.GlobalOperations.Get globalOperations = createGlobalOperations(d.getCompute(), gccCredential, gccTemplate, execute);
GccRemoveReadyPollerObject gccRemoveReady =
new GccRemoveReadyPollerObject(zoneOperations, globalOperations, stack, resource.getResourceName());
gccRemoveReadyPollerObjectPollingService.pollWithTimeout(gccRemoveCheckerStatus, gccRemoveReady, POLLING_INTERVAL, MAX_POLLING_ATTEMPTS);