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.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 96ec7c7..3bb6a74 100644
--- a/troveclient/osc/v1/database_instances.py
+++ b/troveclient/osc/v1/database_instances.py
@@ -533,6 +533,29 @@ class ForceDeleteDatabaseInstance(command.Command):
raise exceptions.CommandError(msg)
+class PromoteDatabaseInstanceToReplicaSource(command.Command):
+
+ _description = _(
+ "Promotes a replica to be the new replica source of its set.")
+
+ def get_parser(self, prog_name):
+ parser = super(PromoteDatabaseInstanceToReplicaSource,
+ 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.promote_to_replica_source(instance)
+
+
class RestartDatabaseInstance(command.Command):
_description = _("Restarts an instance.")