def do_group_snapshot_delete(cs, args): """Removes one or more group snapshots.""" failure_count = 0 for group_snapshot in args.group_snapshot: try: shell_utils.find_group_snapshot(cs, group_snapshot).delete() except Exception as e: failure_count += 1 print("Delete for group snapshot %s failed: %s" % (group_snapshot, e)) if failure_count == len(args.group_snapshot): raise exceptions.CommandError("Unable to delete any of the specified " "group snapshots.")
def do_group_create_from_src(cs, args): """Creates a group from a group snapshot or a source group.""" if not args.group_snapshot and not args.source_group: msg = ('Cannot create group because neither ' 'group snapshot nor source group is provided.') raise exceptions.ClientException(code=1, message=msg) if args.group_snapshot and args.source_group: msg = ('Cannot create group because both ' 'group snapshot and source group are provided.') raise exceptions.ClientException(code=1, message=msg) group_snapshot = None if args.group_snapshot: group_snapshot = shell_utils.find_group_snapshot(cs, args.group_snapshot) source_group = None if args.source_group: source_group = shell_utils.find_group(cs, args.source_group) info = cs.groups.create_from_src( group_snapshot.id if group_snapshot else None, source_group.id if source_group else None, args.name, args.description) info.pop('links', None) utils.print_dict(info)
def do_group_snapshot_show(cs, args): """Shows group snapshot details.""" info = dict() group_snapshot = shell_utils.find_group_snapshot(cs, args.group_snapshot) info.update(group_snapshot._info) info.pop('links', None) utils.print_dict(info)
def do_group_create_from_src(cs, args): """Creates a group from a group snapshot or a source group.""" if not args.group_snapshot and not args.source_group: msg = ('Cannot create group because neither ' 'group snapshot nor source group is provided.') raise exceptions.ClientException(code=1, message=msg) if args.group_snapshot and args.source_group: msg = ('Cannot create group because both ' 'group snapshot and source group are provided.') raise exceptions.ClientException(code=1, message=msg) group_snapshot = None if args.group_snapshot: group_snapshot = shell_utils.find_group_snapshot( cs, args.group_snapshot) source_group = None if args.source_group: source_group = shell_utils.find_group(cs, args.source_group) info = cs.groups.create_from_src( group_snapshot.id if group_snapshot else None, source_group.id if source_group else None, args.name, args.description) info.pop('links', None) utils.print_dict(info)