def get_parser(self, prog_name): parser = super(RestoreVolumeBackup, self).get_parser(prog_name) parser.add_argument("backup", metavar="<backup>", help=_("Backup to restore (name or ID)")) parser.add_argument("volume", metavar="<volume>", help=_("Volume to restore to (name or ID)")) return parser
def get_parser(self, prog_name): parser = super(CreateVolumeBackup, self).get_parser(prog_name) parser.add_argument("volume", metavar="<volume>", help=_("Volume to backup (name or ID)")) parser.add_argument("--name", metavar="<name>", required=True, help=_("Name of the backup")) parser.add_argument("--description", required=False, metavar="<description>", help=_("Description of the backup")) return parser
class CreateVolumeBackup(command.Command): _description = _("Create new volume backup (HuaWei custom)") def get_parser(self, prog_name): parser = super(CreateVolumeBackup, self).get_parser(prog_name) parser.add_argument("volume", metavar="<volume>", help=_("Volume to backup (name or ID)")) parser.add_argument("--name", metavar="<name>", required=True, help=_("Name of the backup")) parser.add_argument("--description", required=False, metavar="<description>", help=_("Description of the backup")) return parser def take_action(self, args): volume_client = self.app.client_manager.volume volume_id = utils.find_resource(volume_client.volumes, args.volume).id mgr = self.app.client_manager.volume_backup.backup_mgr job = mgr.create(volume_id, name=args.name, description=args.description) return 'Request Received, job id: ' + job['job_id']
def register_service_option(parser, service_type): service_env = service_type.upper().replace('-', '_') parser.add_argument('--os-{service_type}-api-version'.format( service_type=service_type), metavar='<%s-api-version>' % service_type, default=os.environ.get( 'OS_{service_type}_API_VERSION'.format( service_type=service_env), None), help=(_( 'Which version of the service API to use for' ' the {service_type} service').format( service_type=service_type))) parser.add_argument( '--os-{service_type}-endpoint-override'.format( service_type=service_type), metavar='<%s-endpoint-override>' % service_type, default=os.environ.get( 'OS_{service_type}_ENDPOINT_OVERRIDE'.format( service_type=service_env), None), help=(_('Endpoint to use for the {service_type} service' ' instead of the endpoint in the catalog').format( service_type=service_type)))
class ShowJob(command.ShowOne): _description = _("Show Job") def get_parser(self, prog_name): parser = super(ShowJob, self).get_parser(prog_name) parser.add_argument("job_id", metavar="<job-id>", help=_("job to display (ID)")) return parser def take_action(self, args): mgr = self.app.client_manager.volume_backup.job_mgr job = mgr.get(args.job_id) columns = job.get_show_column_names() formatter = job.formatter return columns, job.get_display_data(columns, formatter=formatter)
class RestoreVolumeBackup(command.Command): _description = _("Restore volume backup") def get_parser(self, prog_name): parser = super(RestoreVolumeBackup, self).get_parser(prog_name) parser.add_argument("backup", metavar="<backup>", help=_("Backup to restore (name or ID)")) parser.add_argument("volume", metavar="<volume>", help=_("Volume to restore to (name or ID)")) return parser def take_action(self, args): volume_client = self.app.client_manager.volume backup = utils.find_resource(volume_client.backups, args.backup) volume = utils.find_resource(volume_client.volumes, args.volume) mgr = self.app.client_manager.volume_backup.restore_mgr job = mgr.restore(backup.id, volume.id) return 'Request Received, job id: ' + job['job_id']
def get_parser(self, prog_name): parser = super(ShowJob, self).get_parser(prog_name) parser.add_argument("job_id", metavar="<job-id>", help=_("job to display (ID)")) return parser