def get_num_instances(module=None, version=None): """Return the number of instances that are set for the given module version. This is only valid for fixed modules, an error will be raised for automatically-scaled modules. Support for automatically-scaled modules may be supported in the future. Args: module: String containing the name of the module to fetch this info for, if None the module of the current instance will be used. version: String containing the name of the version to fetch this info for, if None the version of the current instance will be used. If that version does not exist in the other module, then an InvalidVersionError is raised. Returns: The number of instances that are set for the given module version. Raises: InvalidVersionError on invalid input. """ def _ResultHook(rpc): mapped_errors = [ modules_service_pb2.ModulesServiceError.INVALID_VERSION ] _CheckAsyncResult(rpc, mapped_errors, {}) return rpc.response.instances request = modules_service_pb2.GetNumInstancesRequest() if module: request.module = module if version: request.version = version response = modules_service_pb2.GetNumInstancesResponse() return _MakeAsyncCall('GetNumInstances', request, response, _ResultHook).get_result()
def testGetNumInstances_AllDefaults(self): """Test we return the expected results when no args are passed.""" expected_request = modules_service_pb2.GetNumInstancesRequest() service_response = modules_service_pb2.GetNumInstancesResponse() service_response.instances = 11 self.SetSuccessExpectations('GetNumInstances', expected_request, service_response) self.assertEqual(11, modules.get_num_instances())
def testGetNumInstances_NoModule(self): """Test we return the expected results when no module is passed.""" expected_request = modules_service_pb2.GetNumInstancesRequest() expected_request.version = 'v1' service_response = modules_service_pb2.GetNumInstancesResponse() service_response.instances = 11 self.SetSuccessExpectations('GetNumInstances', expected_request, service_response) self.assertEqual(11, modules.get_num_instances(version='v1'))