def package_add(args, manager): if args.packagedata is not None: package_data = json.loads(args.packagedata) if isinstance(package_data, dict): if package_data.has_key('package_name'): package_name = package_data['package_name'] else: raise InputError("packagedata argument must contain key package_name") if package_data.has_key('package_arguments'): if isinstance(package_data['package_arguments'], dict): package_arguments = package_data['package_arguments'] else: package_arguments = None else: package_arguments = None else: raise InputError("Invalid format of packagedata argument.") else: raise InputError("packagedata is required argument for this action.") package_to_add = AtomiaPackage(package_name=package_name) if package_arguments is not None: properties_list = [] for proper in package_arguments: properties_list.append(AtomiaAccountProperty(key = proper, value = package_arguments[proper]).to_xml_friendly_object("arr:KeyValueOfstringstring", "KeyValueOfstringstring")) manager.add_package(args.account, [package_to_add.to_xml_friendly_object()], properties_list) else: manager.add_package(args.account, [package_to_add.to_xml_friendly_object()]) return package_list(args, manager)
def package_change(args, manager): if args.packagedata is not None: package_data = json.loads(args.packagedata) if isinstance(package_data, dict): if package_data.has_key('package_id'): package_id = package_data['package_id'] else: raise InputError("packagedata argument must contain key package_id") if package_data.has_key('package_name'): package_name = package_data['package_name'] else: raise InputError("packagedata argument must contain key package_name") if package_data.has_key('new_package_name'): new_package_name = package_data['new_package_name'] else: raise InputError("packagedata argument must contain key new_package_name") else: raise InputError("Invalid format of packagedata argument.") else: raise InputError("packagedata is required argument for this action.") current_package = AtomiaPackage(package_id=package_id, package_name=package_name) manager.change_package(account_number=args.account, package=[current_package.to_xml_friendly_object()], new_package_name=new_package_name) return True
def package_change(args, manager): if args.packagedata is not None: package_data = json.loads(args.packagedata) if isinstance(package_data, dict): if package_data.has_key('package_id'): package_id = package_data['package_id'] else: raise InputError( "packagedata argument must contain key package_id") if package_data.has_key('package_name'): package_name = package_data['package_name'] else: raise InputError( "packagedata argument must contain key package_name") if package_data.has_key('new_package_name'): new_package_name = package_data['new_package_name'] else: raise InputError( "packagedata argument must contain key new_package_name") else: raise InputError("Invalid format of packagedata argument.") else: raise InputError("packagedata is required argument for this action.") current_package = AtomiaPackage(package_id=package_id, package_name=package_name) manager.change_package(account_number=args.account, package=[current_package.to_xml_friendly_object()], new_package_name=new_package_name) return True
def package_delete(args, manager): if args.packagedata is not None: package_data = json.loads(args.packagedata) if isinstance(package_data, dict): if package_data.has_key('package_id'): package_id = package_data['package_id'] else: raise InputError( "packagedata argument must contain key package_id") if package_data.has_key('package_name'): package_name = package_data['package_name'] else: raise InputError( "packagedata argument must contain key package_name") else: raise InputError("Invalid format of packagedata argument.") else: raise InputError("packagedata is required argument for this action.") package_to_delete = AtomiaPackage(package_id=package_id, package_name=package_name) manager.delete_package(args.account, [package_to_delete.to_xml_friendly_object()]) print "Deleted package " + package_name + " for account " + args.account + " successfully." return True
def package_add(args, manager): if args.packagedata is not None: package_data = json.loads(args.packagedata) if isinstance(package_data, dict): if package_data.has_key('package_name'): package_name = package_data['package_name'] else: raise InputError( "packagedata argument must contain key package_name") if package_data.has_key('package_arguments'): if isinstance(package_data['package_arguments'], dict): package_arguments = package_data['package_arguments'] else: package_arguments = None else: package_arguments = None else: raise InputError("Invalid format of packagedata argument.") else: raise InputError("packagedata is required argument for this action.") package_to_add = AtomiaPackage(package_name=package_name) if package_arguments is not None: properties_list = [] for proper in package_arguments: properties_list.append( AtomiaAccountProperty( key=proper, value=package_arguments[proper]).to_xml_friendly_object( "arr:KeyValueOfstringstring", "KeyValueOfstringstring")) manager.add_package(args.account, [package_to_add.to_xml_friendly_object()], properties_list) else: manager.add_package(args.account, [package_to_add.to_xml_friendly_object()]) return package_list(args, manager)
def package_delete(args, manager): if args.packagedata is not None: package_data = json.loads(args.packagedata) if isinstance(package_data, dict): if package_data.has_key('package_id'): package_id = package_data['package_id'] else: raise InputError("packagedata argument must contain key package_id") if package_data.has_key('package_name'): package_name = package_data['package_name'] else: raise InputError("packagedata argument must contain key package_name") else: raise InputError("Invalid format of packagedata argument.") else: raise InputError("packagedata is required argument for this action.") package_to_delete = AtomiaPackage(package_id = package_id, package_name=package_name) manager.delete_package(args.account, [package_to_delete.to_xml_friendly_object()]) print "Deleted package " + package_name + " for account " + args.account + " successfully." return True