diff --git a/lib/rapi/connector.py b/lib/rapi/connector.py
index 3ef842bac2e49702087617e309e7c88132734b6f..8a088870d857beb893c85b601dd0d89e214a889b 100644
--- a/lib/rapi/connector.py
+++ b/lib/rapi/connector.py
@@ -201,6 +201,8 @@ def GetHandlers(node_name_pattern, instance_name_pattern, job_id_pattern):
       rlib2.R_2_instances_name_shutdown,
     re.compile(r'^/2/instances/(%s)/startup$' % instance_name_pattern):
       rlib2.R_2_instances_name_startup,
+    re.compile(r'^/2/instances/(%s)/activate-disks$' % instance_name_pattern):
+      rlib2.R_2_instances_name_activate_disks,
 
     "/2/jobs": rlib2.R_2_jobs,
     re.compile(r'/2/jobs/(%s)$' % job_id_pattern):
diff --git a/lib/rapi/rlib2.py b/lib/rapi/rlib2.py
index f475277578fc7dc8dd560046b9a69b2f4e695c2f..8b97bd9ef643036d176a4cdb47964c01fbd9e650 100644
--- a/lib/rapi/rlib2.py
+++ b/lib/rapi/rlib2.py
@@ -649,6 +649,25 @@ class R_2_instances_name_replace_disks(baserlib.R_Generic):
     return baserlib.SubmitJob([op])
 
 
+class R_2_instances_name_activate_disks(baserlib.R_Generic):
+  """/2/instances/[instance_name]/activate-disks resource.
+
+  """
+  def PUT(self):
+    """Activate disks for an instance.
+
+    The URI might contain ignore_size to ignore current recorded size.
+
+    """
+    instance_name = self.items[0]
+    ignore_size = bool(self._checkIntVariable('ignore_size'))
+
+    op = opcodes.OpActivateInstanceDisks(instance_name=instance_name,
+                                         ignore_size=ignore_size)
+
+    return baserlib.SubmitJob([op])
+
+
 class _R_Tags(baserlib.R_Generic):
   """ Quasiclass for tagging resources