appNGizer ModuleΒΆ

The main purpose of python-appngizer is to offer an easy way to implement python applications which should administer and interact with an appNG instance via the appNGizer REST webapplication.

To do this the appngizer.elements.Element.xml attribute helds the xml representation of the entity as an lxml.etree.Element.

CRUD methods on the entity are done via the appngizer.client.XMLClient where the appngizer.elements.Element.xml attribute is added to the data of the HTTP/S request if needed (usually in a PUT/POST request).

There also container elements where appNG entities of the same entity type are held. Currently they are only usable for read operations (f.e. read all available Sites) but can be the start point for further improvements like bulk operatios.

  • Properties
  • Sites
  • Repositories
  • Applications
  • Packages
  • Subjects
  • Groups
  • Roles
  • Permissions
  • Databases

To address an appNG entity we use their appngizer.elements.Element.name attribute, the entity type name appngizer.elements.Element.TYPE and their appngizer.elements.Element.parents attribute.

Examples:

  • Site entity ‘an_appng_site’:

    Site('an_appng_site')
    
  • Site application property ‘a_site_app_property’:

    Property('a_site_app_property', parents=[ Site('an_appng_site') , Application('an_app') ] )