summaryrefslogtreecommitdiff
path: root/troveclient/osc
diff options
context:
space:
mode:
Diffstat (limited to 'troveclient/osc')
-rw-r--r--troveclient/osc/v1/database_instances.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/troveclient/osc/v1/database_instances.py b/troveclient/osc/v1/database_instances.py
index c94b1df..96ec7c7 100644
--- a/troveclient/osc/v1/database_instances.py
+++ b/troveclient/osc/v1/database_instances.py
@@ -632,3 +632,26 @@ class UpdateDatabaseInstance(command.Command):
parsed_args.name,
parsed_args.detach_replica_source,
parsed_args.remove_configuration)
+
+
+class DetachDatabaseInstanceReplica(command.Command):
+
+ _description = _("Detaches a replica instance "
+ "from its replication source.")
+
+ def get_parser(self, prog_name):
+ parser = super(DetachDatabaseInstanceReplica, self).get_parser(
+ prog_name)
+ parser.add_argument(
+ 'instance',
+ metavar='<instance>',
+ type=str,
+ help=_('ID or name of the instance.'),
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ db_instances = self.app.client_manager.database.instances
+ instance = osc_utils.find_resource(db_instances,
+ parsed_args.instance)
+ db_instances.edit(instance, detach_replica_source=True)