Esempio n. 1
0
 def __vol_cmd(self, argv):
     """Implements the vol command
     """
     cmd_detach = False
     cmd_attach = False
     cmd_create = False
     cmd_delete = False
     cmd_move = False
     disp = DisplayOptions()
     selector = ResourceSelector()
     region = None
     instance_id = None
     # Volume type, when creating a new volume
     vol_type = None
     opt_list, args = getopt.getopt(argv, "aCc:Df:i:klMnO:o:q:r:SstXxz:")
     if opt_list:
         for opt in opt_list:
             if opt[0] == '-a':
                 selector.select_all = True
             elif opt[0] == '-C':
                 cmd_create = True
             elif opt[0] == '-c':
                 vol_type = opt[1]
             elif opt[0] == '-D':
                 cmd_delete = True
             elif opt[0] == '-f':
                 selector.add_filter_spec(opt[1])
             elif opt[0] == '-l':
                 disp.display = DisplayOptions.LONG
             elif opt[0] == '-i':
                 instance_id = opt[1]
                 selector.add_filter('attachment.instance-id', instance_id)
             elif opt[0] == '-k':
                 disp.display_count = True
             elif opt[0] == '-M':
                 cmd_move = True
             elif opt[0] == '-n':
                 disp.display_name = True
             elif opt[0] == '-O':
                 disp.set_output_file(opt[1])
             elif opt[0] == '-o':
                 self.__add_display_order(disp, opt[1])
             elif opt[0] == '-q':
                 selector.add_tag_filter_spec(opt[1])
             elif opt[0] == '-r':
                 region = opt[1]
             elif opt[0] == '-S':
                 cmd_attach = True
             elif opt[0] == '-s':
                 disp.display_size = True
             elif opt[0] == '-t':
                 disp.display_tags = True
             elif opt[0] == '-X':
                 cmd_detach = True
             elif opt[0] == '-x':
                 disp.display = DisplayOptions.EXTENDED
             elif opt[0] == '-z':
                 selector.add_filter('status', opt[1])
     if cmd_detach:
         selector.resource_id_list = args
         self.__vol_detach_cmd(region, instance_id, selector)
     elif cmd_attach:
         self.__vol_attach_cmd(region, args)
     elif cmd_create:
         self.__vol_create_cmd(region, vol_type, args)
     elif cmd_delete:
         selector.resource_id_list = args
         self.__vol_delete_cmd(region, selector)
     elif cmd_move:
         self.__vol_move_cmd(region, args)
     else:
         selector.resource_id_list = args
         self.__vol_list_cmd(region, selector, disp)
Esempio n. 2
0
 def __snap_cmd(self, argv):
     """Implements the snap command
     """
     cmd_create_snapshot = False
     cmd_delete_snapshot = False
     cmd_share_snapshot = False
     cmd_unshare_snapshot = False
     description = None
     disp = DisplayOptions()
     selector = ResourceSelector()
     region = None
     opt_list, args = getopt.getopt(argv, "aCDd:f:klm:nO:o:q:r:SsxtUz:")
     if opt_list:
         for opt in opt_list:
             if opt[0] == '-a':
                 selector.select_all = True
             elif opt[0] == '-C':
                 cmd_create_snapshot = True
             elif opt[0] == '-D':
                 cmd_delete_snapshot = True
             elif opt[0] == '-d':
                 description = opt[1]
             elif opt[0] == '-f':
                 selector.add_filter_spec(opt[1])
             elif opt[0] == '-k':
                 disp.display_count = True
             elif opt[0] == '-l':
                 disp.display = DisplayOptions.LONG
             elif opt[0] == '-m':
                 selector.match_pattern = opt[1]
             elif opt[0] == '-n':
                 disp.display_name = True
             elif opt[0] == '-O':
                 disp.set_output_file(opt[1])
             elif opt[0] == '-o':
                 self.__add_display_order(disp, opt[1])
             elif opt[0] == '-q':
                 selector.add_tag_filter_spec(opt[1])
             elif opt[0] == '-r':
                 region = opt[1]
             elif opt[0] == '-S':
                 cmd_share_snapshot = True
             elif opt[0] == '-s':
                 disp.display_size = True
             elif opt[0] == '-t':
                 disp.display_tags = True
             elif opt[0] == '-x':
                 disp.display = DisplayOptions.EXTENDED
             elif opt[0] == '-U':
                 cmd_unshare_snapshot = True
             elif opt[0] == '-z':
                 selector.add_filter('status', opt[1])
     if cmd_create_snapshot:
         self.__snap_create(region, description, args)
     elif cmd_delete_snapshot:
         selector.resource_id_list = args
         self.__snap_delete(region, selector)
     elif cmd_share_snapshot:
         self.__snap_share(region, True, args)
     elif cmd_unshare_snapshot:
         self.__snap_share(region, False, args)
     else:
         selector.resource_id_list = args
         self.__snap_list_cmd(region, selector, disp)