summaryrefslogtreecommitdiff
path: root/troveclient/osc/v1/database_instances.py
diff options
context:
space:
mode:
Diffstat (limited to 'troveclient/osc/v1/database_instances.py')
-rw-r--r--troveclient/osc/v1/database_instances.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/troveclient/osc/v1/database_instances.py b/troveclient/osc/v1/database_instances.py
index 49fee39..c94b1df 100644
--- a/troveclient/osc/v1/database_instances.py
+++ b/troveclient/osc/v1/database_instances.py
@@ -556,6 +556,28 @@ class RestartDatabaseInstance(command.Command):
db_instances.restart(instance)
+class EjectDatabaseInstanceReplicaSource(command.Command):
+
+ _description = _("Ejects a replica source from its set.")
+
+ def get_parser(self, prog_name):
+ parser = super(EjectDatabaseInstanceReplicaSource, 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.eject_replica_source(instance)
+
+
class UpdateDatabaseInstance(command.Command):
_description = _("Updates an instance: Edits name, "