GithubHelp home page GithubHelp logo

lrivallain / vro-package-diff Goto Github PK

View Code? Open in Web Editor NEW
10.0 3.0 3.0 1.64 MB

A diff tool for VMware vRealize Orchestrator packages files

License: MIT License

Python 91.88% Makefile 8.12%
vmware vrealize-orchestrator-packages vrealize-orchestrator python3 python diff vro

vro-package-diff's Introduction

vRO-package-diff tool

PyPI version shields.io PyPI pyversions GitHub actions build status Travis build status Documentation status GitHub Fossa Status

Project description

vRO-package-diff is a Python package to compare 2 VMware vRealize Orchestrator packages.

It provides a table-formated diff of two packages:

Sample of output

It is also possible to export unified diff files for each supported element:

tree -L 2 ./diff/
./diff/
├── conflict
│   ├── action
│   ├── configurationelement
│   ├── resourceelement
│   └── workflow
├── no_upgrade
│   ├── action
│   ├── configurationelement
│   └── workflow
└── upgrade
    ├── action
    ├── configurationelement
    ├── resourceelement
    └── workflow

cat ./diff/conflict/action/af7b881d-ba59-40d0-8207-be9e9b2ae34d.diff
--- tests/data/package_v1.0.package - Action: this_is_action_a (0.0.1)
+++ tests/data/package_v1.1.package - Action: this_is_action_a (0.0.1)
@@ -13,7 +13,5 @@
        // nothing, just for fun :)
 }

-Plop;
-
 System.debug("this_is_action_a stopped");]]></script>

Installing

Install and update using pip:

pip install vro-package-diff

vRO-package-diff supports Python 3.5 and newer.

Test installation

::

vro-diff -V

This should produce an output with the current installed version of vro-package-diff.

Usage example

vro-diff --legend --reference_package tests/data/package_v1.0.package tests/data/package_v1.1.package

CLI help

You can get the usage help by using the -h/--help flag:

vro-diff -h

Usage: vro-diff [OPTIONS] COMPARED_PACKAGE

Compare two vRealize Orchestrator packages.

Use the [-r/--reference_package] option to specify the reference package.

Options:
-r, --reference_package FILENAME
                                 Reference package to compare your package
                                 with.  [required]
-l, --legend                    Display the legend after the diff table
-t, --test                      Exit with `0` if package can be safely
                                 imported. Else, returns the number of errors
-a, --ascii                     Only use ASCII symbols to display results
-b, --no_color                  Do not colorized the output
-d, --diff PATH                 A folder where to generate unified diff
                                 files output
-e, --empty-config              Check for values in the configuration
                                 elements: if so, exit with failure status.
-h, --help                      Show this message and exit.

License

Fossa Status large

vro-package-diff's People

Contributors

fossabot avatar lrivallain avatar pyup-bot avatar tsugliani avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

vro-package-diff's Issues

Initial Update

The bot created this issue to inform you that pyup.io has been set up on this repo.
Once you have closed it, the bot will open pull requests for updates as soon as they are available.

Non utf-8 mode

Current output formatting (table+colors) relies a lot on UTF-8 support.

We might consider that there are some use-cases where UTF-8 is not available and it could be usefull to have, at least, a defaced version with an optional argument (ex: --no-unicode).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.