public void Dispose()
        {
            if (_disposed)
            {
                return;
            }

            BestEffortCleanup(() => StorageClient.DeleteBucket(UsageReportBucketName, new DeleteBucketOptions {
                DeleteObjects = true
            }));

            foreach (var machineName in MachinesToDelete)
            {
                // We don't poll, we delete on a best effort basis.
                BestEffortCleanup(() => InstancesClient.Delete(ProjectId, Zone, machineName));
            }
            _disposed = true;