from enum import Enum class BucketResourceType(Enum): NetworkLink = 'network_link' CpuResource = 'cpu_resource' class BucketResource: type: BucketResourceType = BucketResourceType.NetworkLink currentUsage: int = 0 capacity: int = 0 def reserve(self, resource: int) -> bool: if self.capacity == self.currentUsage or resource > self.capacity - self.currentUsage: return False else: return True def release(self, resource: int) -> bool: if self.currentUsage == 0 or self.currentUsage - resource < 0: return False else: return True def releaseAll(self) -> bool: self.currentUsage = 0 return True