Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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