#!/usr/bin/env python
# -*- coding: utf-8 -*-

#
# Generated Tue May  5 18:41:56 2020 by generateDS.py version 2.35.21.
# Python 2.7.5 (default, Apr  2 2020, 13:16:51)  [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
#
# Command line options:
#   ('-q', '')
#   ('-f', '')
#   ('-o', 'pyone/bindings/supbind.py')
#   ('-s', 'pyone/bindings/__init__.py')
#   ('--super', 'supbind')
#   ('--external-encoding', 'utf-8')
#   ('--silence', '')
#
# Command line arguments:
#   ../../../share/doc/xsd/index.xsd
#
# Command line:
#   /root/init-build-jenkins.8OkOJ8/opennebula-5.10.5/src/oca/python/bin/generateDS -q -f -o "pyone/bindings/supbind.py" -s "pyone/bindings/__init__.py" --super="supbind" --external-encoding="utf-8" --silence ../../../share/doc/xsd/index.xsd
#
# Current working directory (os.getcwd()):
#   python
#

from six.moves import zip_longest
import os
import sys
import re as re_
import base64
import datetime as datetime_
import decimal as decimal_
try:
    from lxml import etree as etree_
except ImportError:
    from xml.etree import ElementTree as etree_


Validate_simpletypes_ = True
SaveElementTreeNode = True
if sys.version_info.major == 2:
    BaseStrType_ = basestring
else:
    BaseStrType_ = str


def parsexml_(infile, parser=None, **kwargs):
    if parser is None:
        # Use the lxml ElementTree compatible parser so that, e.g.,
        #   we ignore comments.
        try:
            parser = etree_.ETCompatXMLParser()
        except AttributeError:
            # fallback to xml.etree
            parser = etree_.XMLParser()
    try:
        if isinstance(infile, os.PathLike):
            infile = os.path.join(infile)
    except AttributeError:
        pass
    doc = etree_.parse(infile, parser=parser, **kwargs)
    return doc

def parsexmlstring_(instring, parser=None, **kwargs):
    if parser is None:
        # Use the lxml ElementTree compatible parser so that, e.g.,
        #   we ignore comments.
        try:
            parser = etree_.ETCompatXMLParser()
        except AttributeError:
            # fallback to xml.etree
            parser = etree_.XMLParser()
    element = etree_.fromstring(instring, parser=parser, **kwargs)
    return element

#
# Namespace prefix definition table (and other attributes, too)
#
# The module generatedsnamespaces, if it is importable, must contain
# a dictionary named GeneratedsNamespaceDefs.  This Python dictionary
# should map element type names (strings) to XML schema namespace prefix
# definitions.  The export method for any class for which there is
# a namespace prefix definition, will export that definition in the
# XML representation of that element.  See the export method of
# any generated element type class for an example of the use of this
# table.
# A sample table is:
#
#     # File: generatedsnamespaces.py
#
#     GenerateDSNamespaceDefs = {
#         "ElementtypeA": "http://www.xxx.com/namespaceA",
#         "ElementtypeB": "http://www.xxx.com/namespaceB",
#     }
#
# Additionally, the generatedsnamespaces module can contain a python
# dictionary named GenerateDSNamespaceTypePrefixes that associates element
# types with the namespace prefixes that are to be added to the
# "xsi:type" attribute value.  See the exportAttributes method of
# any generated element type and the generation of "xsi:type" for an
# example of the use of this table.
# An example table:
#
#     # File: generatedsnamespaces.py
#
#     GenerateDSNamespaceTypePrefixes = {
#         "ElementtypeC": "aaa:",
#         "ElementtypeD": "bbb:",
#     }
#

try:
    from generatedsnamespaces import GenerateDSNamespaceDefs as GenerateDSNamespaceDefs_
except ImportError:
    GenerateDSNamespaceDefs_ = {}
try:
    from generatedsnamespaces import GenerateDSNamespaceTypePrefixes as GenerateDSNamespaceTypePrefixes_
except ImportError:
    GenerateDSNamespaceTypePrefixes_ = {}

#
# You can replace the following class definition by defining an
# importable module named "generatedscollector" containing a class
# named "GdsCollector".  See the default class definition below for
# clues about the possible content of that class.
#
try:
    from generatedscollector import GdsCollector as GdsCollector_
except ImportError:

    class GdsCollector_(object):

        def __init__(self, messages=None):
            if messages is None:
                self.messages = []
            else:
                self.messages = messages

        def add_message(self, msg):
            self.messages.append(msg)

        def get_messages(self):
            return self.messages

        def clear_messages(self):
            self.messages = []

        def print_messages(self):
            for msg in self.messages:
                print("Warning: {}".format(msg))

        def write_messages(self, outstream):
            for msg in self.messages:
                outstream.write("Warning: {}\n".format(msg))


#
# The super-class for enum types
#

try:
    from enum import Enum
except ImportError:
    Enum = object

#
# The root super-class for element type classes
#
# Calls to the methods in these classes are generated by generateDS.py.
# You can replace these methods by re-implementing the following class
#   in a module named generatedssuper.py.

try:
    from generatedssuper import GeneratedsSuper
except ImportError as exp:
    
    class GeneratedsSuper(object):
        __hash__ = object.__hash__
        tzoff_pattern = re_.compile(r'(\+|-)((0\d|1[0-3]):[0-5]\d|14:00)$')
        class _FixedOffsetTZ(datetime_.tzinfo):
            def __init__(self, offset, name):
                self.__offset = datetime_.timedelta(minutes=offset)
                self.__name = name
            def utcoffset(self, dt):
                return self.__offset
            def tzname(self, dt):
                return self.__name
            def dst(self, dt):
                return None
        def gds_format_string(self, input_data, input_name=''):
            return input_data
        def gds_parse_string(self, input_data, node=None, input_name=''):
            return input_data
        def gds_validate_string(self, input_data, node=None, input_name=''):
            if not input_data:
                return ''
            else:
                return input_data
        def gds_format_base64(self, input_data, input_name=''):
            return base64.b64encode(input_data)
        def gds_validate_base64(self, input_data, node=None, input_name=''):
            return input_data
        def gds_format_integer(self, input_data, input_name=''):
            return '%d' % input_data
        def gds_parse_integer(self, input_data, node=None, input_name=''):
            try:
                ival = int(input_data)
            except (TypeError, ValueError) as exp:
                raise_parse_error(node, 'Requires integer value: %s' % exp)
            return ival
        def gds_validate_integer(self, input_data, node=None, input_name=''):
            try:
                value = int(input_data)
            except (TypeError, ValueError):
                raise_parse_error(node, 'Requires integer value')
            return value
        def gds_format_integer_list(self, input_data, input_name=''):
            return '%s' % ' '.join(input_data)
        def gds_validate_integer_list(
                self, input_data, node=None, input_name=''):
            values = input_data.split()
            for value in values:
                try:
                    int(value)
                except (TypeError, ValueError):
                    raise_parse_error(node, 'Requires sequence of integer valuess')
            return values
        def gds_format_float(self, input_data, input_name=''):
            return ('%.15f' % input_data).rstrip('0')
        def gds_parse_float(self, input_data, node=None, input_name=''):
            try:
                fval_ = float(input_data)
            except (TypeError, ValueError) as exp:
                raise_parse_error(node, 'Requires float or double value: %s' % exp)
            return fval_
        def gds_validate_float(self, input_data, node=None, input_name=''):
            try:
                value = float(input_data)
            except (TypeError, ValueError):
                raise_parse_error(node, 'Requires float value')
            return value
        def gds_format_float_list(self, input_data, input_name=''):
            return '%s' % ' '.join(input_data)
        def gds_validate_float_list(
                self, input_data, node=None, input_name=''):
            values = input_data.split()
            for value in values:
                try:
                    float(value)
                except (TypeError, ValueError):
                    raise_parse_error(node, 'Requires sequence of float values')
            return values
        def gds_format_decimal(self, input_data, input_name=''):
            return_value = '%s' % input_data
            if '.' in return_value:
                return_value = return_value.rstrip('0')
                if return_value.endswith('.'):
                    return_value = return_value.rstrip('.')
            return return_value
        def gds_parse_decimal(self, input_data, node=None, input_name=''):
            try:
                decimal_value = decimal_.Decimal(input_data)
            except (TypeError, ValueError):
                raise_parse_error(node, 'Requires decimal value')
            return decimal_value
        def gds_validate_decimal(self, input_data, node=None, input_name=''):
            try:
                value = decimal_.Decimal(input_data)
            except (TypeError, ValueError):
                raise_parse_error(node, 'Requires decimal value')
            return value
        def gds_format_decimal_list(self, input_data, input_name=''):
            return ' '.join([self.gds_format_decimal(item) for item in input_data])
        def gds_validate_decimal_list(
                self, input_data, node=None, input_name=''):
            values = input_data.split()
            for value in values:
                try:
                    decimal_.Decimal(value)
                except (TypeError, ValueError):
                    raise_parse_error(node, 'Requires sequence of decimal values')
            return values
        def gds_format_double(self, input_data, input_name=''):
            return '%e' % input_data
        def gds_parse_double(self, input_data, node=None, input_name=''):
            try:
                fval_ = float(input_data)
            except (TypeError, ValueError) as exp:
                raise_parse_error(node, 'Requires double or float value: %s' % exp)
            return fval_
        def gds_validate_double(self, input_data, node=None, input_name=''):
            try:
                value = float(input_data)
            except (TypeError, ValueError):
                raise_parse_error(node, 'Requires double or float value')
            return value
        def gds_format_double_list(self, input_data, input_name=''):
            return '%s' % ' '.join(input_data)
        def gds_validate_double_list(
                self, input_data, node=None, input_name=''):
            values = input_data.split()
            for value in values:
                try:
                    float(value)
                except (TypeError, ValueError):
                    raise_parse_error(
                        node, 'Requires sequence of double or float values')
            return values
        def gds_format_boolean(self, input_data, input_name=''):
            return ('%s' % input_data).lower()
        def gds_parse_boolean(self, input_data, node=None, input_name=''):
            if input_data in ('true', '1'):
                bval = True
            elif input_data in ('false', '0'):
                bval = False
            else:
                raise_parse_error(node, 'Requires boolean value')
            return bval
        def gds_validate_boolean(self, input_data, node=None, input_name=''):
            if input_data not in (True, 1, False, 0, ):
                raise_parse_error(
                    node,
                    'Requires boolean value '
                    '(one of True, 1, False, 0)')
            return input_data
        def gds_format_boolean_list(self, input_data, input_name=''):
            return '%s' % ' '.join(input_data)
        def gds_validate_boolean_list(
                self, input_data, node=None, input_name=''):
            values = input_data.split()
            for value in values:
                if value not in (True, 1, False, 0, ):
                    raise_parse_error(
                        node,
                        'Requires sequence of boolean values '
                        '(one of True, 1, False, 0)')
            return values
        def gds_validate_datetime(self, input_data, node=None, input_name=''):
            return input_data
        def gds_format_datetime(self, input_data, input_name=''):
            if input_data.microsecond == 0:
                _svalue = '%04d-%02d-%02dT%02d:%02d:%02d' % (
                    input_data.year,
                    input_data.month,
                    input_data.day,
                    input_data.hour,
                    input_data.minute,
                    input_data.second,
                )
            else:
                _svalue = '%04d-%02d-%02dT%02d:%02d:%02d.%s' % (
                    input_data.year,
                    input_data.month,
                    input_data.day,
                    input_data.hour,
                    input_data.minute,
                    input_data.second,
                    ('%f' % (float(input_data.microsecond) / 1000000))[2:],
                )
            if input_data.tzinfo is not None:
                tzoff = input_data.tzinfo.utcoffset(input_data)
                if tzoff is not None:
                    total_seconds = tzoff.seconds + (86400 * tzoff.days)
                    if total_seconds == 0:
                        _svalue += 'Z'
                    else:
                        if total_seconds < 0:
                            _svalue += '-'
                            total_seconds *= -1
                        else:
                            _svalue += '+'
                        hours = total_seconds // 3600
                        minutes = (total_seconds - (hours * 3600)) // 60
                        _svalue += '{0:02d}:{1:02d}'.format(hours, minutes)
            return _svalue
        @classmethod
        def gds_parse_datetime(cls, input_data):
            tz = None
            if input_data[-1] == 'Z':
                tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC')
                input_data = input_data[:-1]
            else:
                results = GeneratedsSuper.tzoff_pattern.search(input_data)
                if results is not None:
                    tzoff_parts = results.group(2).split(':')
                    tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1])
                    if results.group(1) == '-':
                        tzoff *= -1
                    tz = GeneratedsSuper._FixedOffsetTZ(
                        tzoff, results.group(0))
                    input_data = input_data[:-6]
            time_parts = input_data.split('.')
            if len(time_parts) > 1:
                micro_seconds = int(float('0.' + time_parts[1]) * 1000000)
                input_data = '%s.%s' % (
                    time_parts[0], "{}".format(micro_seconds).rjust(6, "0"), )
                dt = datetime_.datetime.strptime(
                    input_data, '%Y-%m-%dT%H:%M:%S.%f')
            else:
                dt = datetime_.datetime.strptime(
                    input_data, '%Y-%m-%dT%H:%M:%S')
            dt = dt.replace(tzinfo=tz)
            return dt
        def gds_validate_date(self, input_data, node=None, input_name=''):
            return input_data
        def gds_format_date(self, input_data, input_name=''):
            _svalue = '%04d-%02d-%02d' % (
                input_data.year,
                input_data.month,
                input_data.day,
            )
            try:
                if input_data.tzinfo is not None:
                    tzoff = input_data.tzinfo.utcoffset(input_data)
                    if tzoff is not None:
                        total_seconds = tzoff.seconds + (86400 * tzoff.days)
                        if total_seconds == 0:
                            _svalue += 'Z'
                        else:
                            if total_seconds < 0:
                                _svalue += '-'
                                total_seconds *= -1
                            else:
                                _svalue += '+'
                            hours = total_seconds // 3600
                            minutes = (total_seconds - (hours * 3600)) // 60
                            _svalue += '{0:02d}:{1:02d}'.format(
                                hours, minutes)
            except AttributeError:
                pass
            return _svalue
        @classmethod
        def gds_parse_date(cls, input_data):
            tz = None
            if input_data[-1] == 'Z':
                tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC')
                input_data = input_data[:-1]
            else:
                results = GeneratedsSuper.tzoff_pattern.search(input_data)
                if results is not None:
                    tzoff_parts = results.group(2).split(':')
                    tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1])
                    if results.group(1) == '-':
                        tzoff *= -1
                    tz = GeneratedsSuper._FixedOffsetTZ(
                        tzoff, results.group(0))
                    input_data = input_data[:-6]
            dt = datetime_.datetime.strptime(input_data, '%Y-%m-%d')
            dt = dt.replace(tzinfo=tz)
            return dt.date()
        def gds_validate_time(self, input_data, node=None, input_name=''):
            return input_data
        def gds_format_time(self, input_data, input_name=''):
            if input_data.microsecond == 0:
                _svalue = '%02d:%02d:%02d' % (
                    input_data.hour,
                    input_data.minute,
                    input_data.second,
                )
            else:
                _svalue = '%02d:%02d:%02d.%s' % (
                    input_data.hour,
                    input_data.minute,
                    input_data.second,
                    ('%f' % (float(input_data.microsecond) / 1000000))[2:],
                )
            if input_data.tzinfo is not None:
                tzoff = input_data.tzinfo.utcoffset(input_data)
                if tzoff is not None:
                    total_seconds = tzoff.seconds + (86400 * tzoff.days)
                    if total_seconds == 0:
                        _svalue += 'Z'
                    else:
                        if total_seconds < 0:
                            _svalue += '-'
                            total_seconds *= -1
                        else:
                            _svalue += '+'
                        hours = total_seconds // 3600
                        minutes = (total_seconds - (hours * 3600)) // 60
                        _svalue += '{0:02d}:{1:02d}'.format(hours, minutes)
            return _svalue
        def gds_validate_simple_patterns(self, patterns, target):
            # pat is a list of lists of strings/patterns.
            # The target value must match at least one of the patterns
            # in order for the test to succeed.
            found1 = True
            for patterns1 in patterns:
                found2 = False
                for patterns2 in patterns1:
                    mo = re_.search(patterns2, target)
                    if mo is not None and len(mo.group(0)) == len(target):
                        found2 = True
                        break
                if not found2:
                    found1 = False
                    break
            return found1
        @classmethod
        def gds_parse_time(cls, input_data):
            tz = None
            if input_data[-1] == 'Z':
                tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC')
                input_data = input_data[:-1]
            else:
                results = GeneratedsSuper.tzoff_pattern.search(input_data)
                if results is not None:
                    tzoff_parts = results.group(2).split(':')
                    tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1])
                    if results.group(1) == '-':
                        tzoff *= -1
                    tz = GeneratedsSuper._FixedOffsetTZ(
                        tzoff, results.group(0))
                    input_data = input_data[:-6]
            if len(input_data.split('.')) > 1:
                dt = datetime_.datetime.strptime(input_data, '%H:%M:%S.%f')
            else:
                dt = datetime_.datetime.strptime(input_data, '%H:%M:%S')
            dt = dt.replace(tzinfo=tz)
            return dt.time()
        def gds_check_cardinality_(
                self, value, input_name,
                min_occurs=0, max_occurs=1, required=None):
            if value is None:
                length = 0
            elif isinstance(value, list):
                length = len(value)
            else:
                length = 1
            if required is not None :
                if required and length < 1:
                    self.gds_collector_.add_message(
                        "Required value {}{} is missing".format(
                            input_name, self.gds_get_node_lineno_()))
            if length < min_occurs:
                self.gds_collector_.add_message(
                    "Number of values for {}{} is below "
                    "the minimum allowed, "
                    "expected at least {}, found {}".format(
                        input_name, self.gds_get_node_lineno_(),
                        min_occurs, length))
            elif length > max_occurs:
                self.gds_collector_.add_message(
                    "Number of values for {}{} is above "
                    "the maximum allowed, "
                    "expected at most {}, found {}".format(
                        input_name, self.gds_get_node_lineno_(),
                        max_occurs, length))
        def gds_validate_builtin_ST_(
                self, validator, value, input_name,
                min_occurs=None, max_occurs=None, required=None):
            if value is not None:
                try:
                    validator(value, input_name=input_name)
                except GDSParseError as parse_error:
                    self.gds_collector_.add_message(str(parse_error))
        def gds_validate_defined_ST_(
                self, validator, value, input_name,
                min_occurs=None, max_occurs=None, required=None):
            if value is not None:
                try:
                    validator(value)
                except GDSParseError as parse_error:
                    self.gds_collector_.add_message(str(parse_error))
        def gds_str_lower(self, instring):
            return instring.lower()
        def get_path_(self, node):
            path_list = []
            self.get_path_list_(node, path_list)
            path_list.reverse()
            path = '/'.join(path_list)
            return path
        Tag_strip_pattern_ = re_.compile(r'\{.*\}')
        def get_path_list_(self, node, path_list):
            if node is None:
                return
            tag = GeneratedsSuper.Tag_strip_pattern_.sub('', node.tag)
            if tag:
                path_list.append(tag)
            self.get_path_list_(node.getparent(), path_list)
        def get_class_obj_(self, node, default_class=None):
            class_obj1 = default_class
            if 'xsi' in node.nsmap:
                classname = node.get('{%s}type' % node.nsmap['xsi'])
                if classname is not None:
                    names = classname.split(':')
                    if len(names) == 2:
                        classname = names[1]
                    class_obj2 = globals().get(classname)
                    if class_obj2 is not None:
                        class_obj1 = class_obj2
            return class_obj1
        def gds_build_any(self, node, type_name=None):
            # provide default value in case option --disable-xml is used.
            content = ""
            content = etree_.tostring(node, encoding="unicode")
            return content
        @classmethod
        def gds_reverse_node_mapping(cls, mapping):
            return dict(((v, k) for k, v in mapping.items()))
        @staticmethod
        def gds_encode(instring):
            if sys.version_info.major == 2:
                if ExternalEncoding:
                    encoding = ExternalEncoding
                else:
                    encoding = 'utf-8'
                return instring.encode(encoding)
            else:
                return instring
        @staticmethod
        def convert_unicode(instring):
            if isinstance(instring, str):
                result = quote_xml(instring)
            elif sys.version_info.major == 2 and isinstance(instring, unicode):
                result = quote_xml(instring).encode('utf8')
            else:
                result = GeneratedsSuper.gds_encode(str(instring))
            return result
        def __eq__(self, other):
            def excl_select_objs_(obj):
                return (obj[0] != 'parent_object_' and
                        obj[0] != 'gds_collector_')
            if type(self) != type(other):
                return False
            return all(x == y for x, y in zip_longest(
                filter(excl_select_objs_, self.__dict__.items()),
                filter(excl_select_objs_, other.__dict__.items())))
        def __ne__(self, other):
            return not self.__eq__(other)
        # Django ETL transform hooks.
        def gds_djo_etl_transform(self):
            pass
        def gds_djo_etl_transform_db_obj(self, dbobj):
            pass
        # SQLAlchemy ETL transform hooks.
        def gds_sqa_etl_transform(self):
            return 0, None
        def gds_sqa_etl_transform_db_obj(self, dbobj):
            pass
        def gds_get_node_lineno_(self):
            if (hasattr(self, "gds_elementtree_node_") and
                    self.gds_elementtree_node_ is not None):
                return ' near line {}'.format(
                    self.gds_elementtree_node_.sourceline)
            else:
                return ""
    
    
    def getSubclassFromModule_(module, class_):
        '''Get the subclass of a class from a specific module.'''
        name = class_.__name__ + 'Sub'
        if hasattr(module, name):
            return getattr(module, name)
        else:
            return None


#
# If you have installed IPython you can uncomment and use the following.
# IPython is available from http://ipython.scipy.org/.
#

## from IPython.Shell import IPShellEmbed
## args = ''
## ipshell = IPShellEmbed(args,
##     banner = 'Dropping into IPython',
##     exit_msg = 'Leaving Interpreter, back to program.')

# Then use the following line where and when you want to drop into the
# IPython shell:
#    ipshell('<some message> -- Entering ipshell.\nHit Ctrl-D to exit')

#
# Globals
#

ExternalEncoding = 'utf-8'
# Set this to false in order to deactivate during export, the use of
# name space prefixes captured from the input document.
UseCapturedNS_ = True
CapturedNsmap_ = {}
Tag_pattern_ = re_.compile(r'({.*})?(.*)')
String_cleanup_pat_ = re_.compile(r"[\n\r\s]+")
Namespace_extract_pat_ = re_.compile(r'{(.*)}(.*)')
CDATA_pattern_ = re_.compile(r"<!\[CDATA\[.*?\]\]>", re_.DOTALL)

# Change this to redirect the generated superclass module to use a
# specific subclass module.
CurrentSubclassModule_ = None

#
# Support/utility functions.
#


def showIndent(outfile, level, pretty_print=True):
    if pretty_print:
        for idx in range(level):
            outfile.write('    ')


def quote_xml(inStr):
    "Escape markup chars, but do not modify CDATA sections."
    if not inStr:
        return ''
    s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr)
    s2 = ''
    pos = 0
    matchobjects = CDATA_pattern_.finditer(s1)
    for mo in matchobjects:
        s3 = s1[pos:mo.start()]
        s2 += quote_xml_aux(s3)
        s2 += s1[mo.start():mo.end()]
        pos = mo.end()
    s3 = s1[pos:]
    s2 += quote_xml_aux(s3)
    return s2


def quote_xml_aux(inStr):
    s1 = inStr.replace('&', '&amp;')
    s1 = s1.replace('<', '&lt;')
    s1 = s1.replace('>', '&gt;')
    return s1


def quote_attrib(inStr):
    s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr)
    s1 = s1.replace('&', '&amp;')
    s1 = s1.replace('<', '&lt;')
    s1 = s1.replace('>', '&gt;')
    if '"' in s1:
        if "'" in s1:
            s1 = '"%s"' % s1.replace('"', "&quot;")
        else:
            s1 = "'%s'" % s1
    else:
        s1 = '"%s"' % s1
    return s1


def quote_python(inStr):
    s1 = inStr
    if s1.find("'") == -1:
        if s1.find('\n') == -1:
            return "'%s'" % s1
        else:
            return "'''%s'''" % s1
    else:
        if s1.find('"') != -1:
            s1 = s1.replace('"', '\\"')
        if s1.find('\n') == -1:
            return '"%s"' % s1
        else:
            return '"""%s"""' % s1


def get_all_text_(node):
    if node.text is not None:
        text = node.text
    else:
        text = ''
    for child in node:
        if child.tail is not None:
            text += child.tail
    return text


def find_attr_value_(attr_name, node):
    attrs = node.attrib
    attr_parts = attr_name.split(':')
    value = None
    if len(attr_parts) == 1:
        value = attrs.get(attr_name)
    elif len(attr_parts) == 2:
        prefix, name = attr_parts
        namespace = node.nsmap.get(prefix)
        if namespace is not None:
            value = attrs.get('{%s}%s' % (namespace, name, ))
    return value


def encode_str_2_3(instr):
    return instr


class GDSParseError(Exception):
    pass


def raise_parse_error(node, msg):
    if node is not None:
        msg = '%s (element %s/line %d)' % (msg, node.tag, node.sourceline, )
    raise GDSParseError(msg)


class MixedContainer:
    # Constants for category:
    CategoryNone = 0
    CategoryText = 1
    CategorySimple = 2
    CategoryComplex = 3
    # Constants for content_type:
    TypeNone = 0
    TypeText = 1
    TypeString = 2
    TypeInteger = 3
    TypeFloat = 4
    TypeDecimal = 5
    TypeDouble = 6
    TypeBoolean = 7
    TypeBase64 = 8
    def __init__(self, category, content_type, name, value):
        self.category = category
        self.content_type = content_type
        self.name = name
        self.value = value
    def getCategory(self):
        return self.category
    def getContenttype(self, content_type):
        return self.content_type
    def getValue(self):
        return self.value
    def getName(self):
        return self.name
    def export(self, outfile, level, name, namespace,
               pretty_print=True):
        if self.category == MixedContainer.CategoryText:
            # Prevent exporting empty content as empty lines.
            if self.value.strip():
                outfile.write(self.value)
        elif self.category == MixedContainer.CategorySimple:
            self.exportSimple(outfile, level, name)
        else:    # category == MixedContainer.CategoryComplex
            self.value.export(
                outfile, level, namespace, name_=name,
                pretty_print=pretty_print)
    def exportSimple(self, outfile, level, name):
        if self.content_type == MixedContainer.TypeString:
            outfile.write('<%s>%s</%s>' % (
                self.name, self.value, self.name))
        elif self.content_type == MixedContainer.TypeInteger or \
                self.content_type == MixedContainer.TypeBoolean:
            outfile.write('<%s>%d</%s>' % (
                self.name, self.value, self.name))
        elif self.content_type == MixedContainer.TypeFloat or \
                self.content_type == MixedContainer.TypeDecimal:
            outfile.write('<%s>%f</%s>' % (
                self.name, self.value, self.name))
        elif self.content_type == MixedContainer.TypeDouble:
            outfile.write('<%s>%g</%s>' % (
                self.name, self.value, self.name))
        elif self.content_type == MixedContainer.TypeBase64:
            outfile.write('<%s>%s</%s>' % (
                self.name,
                base64.b64encode(self.value),
                self.name))
    def to_etree(self, element, mapping_=None, nsmap_=None):
        if self.category == MixedContainer.CategoryText:
            # Prevent exporting empty content as empty lines.
            if self.value.strip():
                if len(element) > 0:
                    if element[-1].tail is None:
                        element[-1].tail = self.value
                    else:
                        element[-1].tail += self.value
                else:
                    if element.text is None:
                        element.text = self.value
                    else:
                        element.text += self.value
        elif self.category == MixedContainer.CategorySimple:
            subelement = etree_.SubElement(
                element, '%s' % self.name)
            subelement.text = self.to_etree_simple()
        else:    # category == MixedContainer.CategoryComplex
            self.value.to_etree(element)
    def to_etree_simple(self, mapping_=None, nsmap_=None):
        if self.content_type == MixedContainer.TypeString:
            text = self.value
        elif (self.content_type == MixedContainer.TypeInteger or
                self.content_type == MixedContainer.TypeBoolean):
            text = '%d' % self.value
        elif (self.content_type == MixedContainer.TypeFloat or
                self.content_type == MixedContainer.TypeDecimal):
            text = '%f' % self.value
        elif self.content_type == MixedContainer.TypeDouble:
            text = '%g' % self.value
        elif self.content_type == MixedContainer.TypeBase64:
            text = '%s' % base64.b64encode(self.value)
        return text
    def exportLiteral(self, outfile, level, name):
        if self.category == MixedContainer.CategoryText:
            showIndent(outfile, level)
            outfile.write(
                'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % (
                    self.category, self.content_type,
                    self.name, self.value))
        elif self.category == MixedContainer.CategorySimple:
            showIndent(outfile, level)
            outfile.write(
                'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % (
                    self.category, self.content_type,
                    self.name, self.value))
        else:    # category == MixedContainer.CategoryComplex
            showIndent(outfile, level)
            outfile.write(
                'model_.MixedContainer(%d, %d, "%s",\n' % (
                    self.category, self.content_type, self.name,))
            self.value.exportLiteral(outfile, level + 1)
            showIndent(outfile, level)
            outfile.write(')\n')


class MemberSpec_(object):
    def __init__(self, name='', data_type='', container=0,
            optional=0, child_attrs=None, choice=None):
        self.name = name
        self.data_type = data_type
        self.container = container
        self.child_attrs = child_attrs
        self.choice = choice
        self.optional = optional
    def set_name(self, name): self.name = name
    def get_name(self): return self.name
    def set_data_type(self, data_type): self.data_type = data_type
    def get_data_type_chain(self): return self.data_type
    def get_data_type(self):
        if isinstance(self.data_type, list):
            if len(self.data_type) > 0:
                return self.data_type[-1]
            else:
                return 'xs:string'
        else:
            return self.data_type
    def set_container(self, container): self.container = container
    def get_container(self): return self.container
    def set_child_attrs(self, child_attrs): self.child_attrs = child_attrs
    def get_child_attrs(self): return self.child_attrs
    def set_choice(self, choice): self.choice = choice
    def get_choice(self): return self.choice
    def set_optional(self, optional): self.optional = optional
    def get_optional(self): return self.optional


def _cast(typ, value):
    if typ is None or value is None:
        return value
    return typ(value)

#
# Data representation classes.
#


class HISTORY_RECORDS(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, HISTORY=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if HISTORY is None:
            self.HISTORY = []
        else:
            self.HISTORY = HISTORY
        self.HISTORY_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HISTORY_RECORDS)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HISTORY_RECORDS.subclass:
            return HISTORY_RECORDS.subclass(*args_, **kwargs_)
        else:
            return HISTORY_RECORDS(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_HISTORY(self):
        return self.HISTORY
    def set_HISTORY(self, HISTORY):
        self.HISTORY = HISTORY
    def add_HISTORY(self, value):
        self.HISTORY.append(value)
    def insert_HISTORY_at(self, index, value):
        self.HISTORY.insert(index, value)
    def replace_HISTORY_at(self, index, value):
        self.HISTORY[index] = value
    def hasContent_(self):
        if (
            self.HISTORY
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HISTORY_RECORDS', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HISTORY_RECORDS')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HISTORY_RECORDS':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HISTORY_RECORDS')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HISTORY_RECORDS', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HISTORY_RECORDS'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HISTORY_RECORDS', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for HISTORY_ in self.HISTORY:
            namespaceprefix_ = self.HISTORY_nsprefix_ + ':' if (UseCapturedNS_ and self.HISTORY_nsprefix_) else ''
            HISTORY_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HISTORY', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'HISTORY':
            obj_ = HISTORY.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HISTORY.append(obj_)
            obj_.original_tagname_ = 'HISTORY'
# end class HISTORY_RECORDS


class HISTORY(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OID=None, SEQ=None, HOSTNAME=None, HID=None, CID=None, STIME=None, ETIME=None, VM_MAD=None, TM_MAD=None, DS_ID=None, PSTIME=None, PETIME=None, RSTIME=None, RETIME=None, ESTIME=None, EETIME=None, ACTION=None, UID=None, GID=None, REQUEST_ID=None, VM=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OID = OID
        self.OID_nsprefix_ = None
        self.SEQ = SEQ
        self.SEQ_nsprefix_ = None
        self.HOSTNAME = HOSTNAME
        self.HOSTNAME_nsprefix_ = None
        self.HID = HID
        self.HID_nsprefix_ = None
        self.CID = CID
        self.CID_nsprefix_ = None
        self.STIME = STIME
        self.STIME_nsprefix_ = None
        self.ETIME = ETIME
        self.ETIME_nsprefix_ = None
        self.VM_MAD = VM_MAD
        self.VM_MAD_nsprefix_ = None
        self.TM_MAD = TM_MAD
        self.TM_MAD_nsprefix_ = None
        self.DS_ID = DS_ID
        self.DS_ID_nsprefix_ = None
        self.PSTIME = PSTIME
        self.PSTIME_nsprefix_ = None
        self.PETIME = PETIME
        self.PETIME_nsprefix_ = None
        self.RSTIME = RSTIME
        self.RSTIME_nsprefix_ = None
        self.RETIME = RETIME
        self.RETIME_nsprefix_ = None
        self.ESTIME = ESTIME
        self.ESTIME_nsprefix_ = None
        self.EETIME = EETIME
        self.EETIME_nsprefix_ = None
        self.ACTION = ACTION
        self.ACTION_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.REQUEST_ID = REQUEST_ID
        self.REQUEST_ID_nsprefix_ = None
        self.VM = VM
        self.VM_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HISTORY)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HISTORY.subclass:
            return HISTORY.subclass(*args_, **kwargs_)
        else:
            return HISTORY(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OID(self):
        return self.OID
    def set_OID(self, OID):
        self.OID = OID
    def get_SEQ(self):
        return self.SEQ
    def set_SEQ(self, SEQ):
        self.SEQ = SEQ
    def get_HOSTNAME(self):
        return self.HOSTNAME
    def set_HOSTNAME(self, HOSTNAME):
        self.HOSTNAME = HOSTNAME
    def get_HID(self):
        return self.HID
    def set_HID(self, HID):
        self.HID = HID
    def get_CID(self):
        return self.CID
    def set_CID(self, CID):
        self.CID = CID
    def get_STIME(self):
        return self.STIME
    def set_STIME(self, STIME):
        self.STIME = STIME
    def get_ETIME(self):
        return self.ETIME
    def set_ETIME(self, ETIME):
        self.ETIME = ETIME
    def get_VM_MAD(self):
        return self.VM_MAD
    def set_VM_MAD(self, VM_MAD):
        self.VM_MAD = VM_MAD
    def get_TM_MAD(self):
        return self.TM_MAD
    def set_TM_MAD(self, TM_MAD):
        self.TM_MAD = TM_MAD
    def get_DS_ID(self):
        return self.DS_ID
    def set_DS_ID(self, DS_ID):
        self.DS_ID = DS_ID
    def get_PSTIME(self):
        return self.PSTIME
    def set_PSTIME(self, PSTIME):
        self.PSTIME = PSTIME
    def get_PETIME(self):
        return self.PETIME
    def set_PETIME(self, PETIME):
        self.PETIME = PETIME
    def get_RSTIME(self):
        return self.RSTIME
    def set_RSTIME(self, RSTIME):
        self.RSTIME = RSTIME
    def get_RETIME(self):
        return self.RETIME
    def set_RETIME(self, RETIME):
        self.RETIME = RETIME
    def get_ESTIME(self):
        return self.ESTIME
    def set_ESTIME(self, ESTIME):
        self.ESTIME = ESTIME
    def get_EETIME(self):
        return self.EETIME
    def set_EETIME(self, EETIME):
        self.EETIME = EETIME
    def get_ACTION(self):
        return self.ACTION
    def set_ACTION(self, ACTION):
        self.ACTION = ACTION
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_REQUEST_ID(self):
        return self.REQUEST_ID
    def set_REQUEST_ID(self, REQUEST_ID):
        self.REQUEST_ID = REQUEST_ID
    def get_VM(self):
        return self.VM
    def set_VM(self, VM):
        self.VM = VM
    def hasContent_(self):
        if (
            self.OID is not None or
            self.SEQ is not None or
            self.HOSTNAME is not None or
            self.HID is not None or
            self.CID is not None or
            self.STIME is not None or
            self.ETIME is not None or
            self.VM_MAD is not None or
            self.TM_MAD is not None or
            self.DS_ID is not None or
            self.PSTIME is not None or
            self.PETIME is not None or
            self.RSTIME is not None or
            self.RETIME is not None or
            self.ESTIME is not None or
            self.EETIME is not None or
            self.ACTION is not None or
            self.UID is not None or
            self.GID is not None or
            self.REQUEST_ID is not None or
            self.VM is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HISTORY', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HISTORY')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HISTORY':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HISTORY')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HISTORY', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HISTORY'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HISTORY', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OID is not None:
            namespaceprefix_ = self.OID_nsprefix_ + ':' if (UseCapturedNS_ and self.OID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOID>%s</%sOID>%s' % (namespaceprefix_ , self.gds_format_integer(self.OID, input_name='OID'), namespaceprefix_ , eol_))
        if self.SEQ is not None:
            namespaceprefix_ = self.SEQ_nsprefix_ + ':' if (UseCapturedNS_ and self.SEQ_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSEQ>%s</%sSEQ>%s' % (namespaceprefix_ , self.gds_format_integer(self.SEQ, input_name='SEQ'), namespaceprefix_ , eol_))
        if self.HOSTNAME is not None:
            namespaceprefix_ = self.HOSTNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.HOSTNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sHOSTNAME>%s</%sHOSTNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.HOSTNAME), input_name='HOSTNAME')), namespaceprefix_ , eol_))
        if self.HID is not None:
            namespaceprefix_ = self.HID_nsprefix_ + ':' if (UseCapturedNS_ and self.HID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sHID>%s</%sHID>%s' % (namespaceprefix_ , self.gds_format_integer(self.HID, input_name='HID'), namespaceprefix_ , eol_))
        if self.CID is not None:
            namespaceprefix_ = self.CID_nsprefix_ + ':' if (UseCapturedNS_ and self.CID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCID>%s</%sCID>%s' % (namespaceprefix_ , self.gds_format_integer(self.CID, input_name='CID'), namespaceprefix_ , eol_))
        if self.STIME is not None:
            namespaceprefix_ = self.STIME_nsprefix_ + ':' if (UseCapturedNS_ and self.STIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTIME>%s</%sSTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.STIME, input_name='STIME'), namespaceprefix_ , eol_))
        if self.ETIME is not None:
            namespaceprefix_ = self.ETIME_nsprefix_ + ':' if (UseCapturedNS_ and self.ETIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sETIME>%s</%sETIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.ETIME, input_name='ETIME'), namespaceprefix_ , eol_))
        if self.VM_MAD is not None:
            namespaceprefix_ = self.VM_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVM_MAD>%s</%sVM_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VM_MAD), input_name='VM_MAD')), namespaceprefix_ , eol_))
        if self.TM_MAD is not None:
            namespaceprefix_ = self.TM_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.TM_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTM_MAD>%s</%sTM_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TM_MAD), input_name='TM_MAD')), namespaceprefix_ , eol_))
        if self.DS_ID is not None:
            namespaceprefix_ = self.DS_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.DS_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDS_ID>%s</%sDS_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.DS_ID, input_name='DS_ID'), namespaceprefix_ , eol_))
        if self.PSTIME is not None:
            namespaceprefix_ = self.PSTIME_nsprefix_ + ':' if (UseCapturedNS_ and self.PSTIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPSTIME>%s</%sPSTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.PSTIME, input_name='PSTIME'), namespaceprefix_ , eol_))
        if self.PETIME is not None:
            namespaceprefix_ = self.PETIME_nsprefix_ + ':' if (UseCapturedNS_ and self.PETIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPETIME>%s</%sPETIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.PETIME, input_name='PETIME'), namespaceprefix_ , eol_))
        if self.RSTIME is not None:
            namespaceprefix_ = self.RSTIME_nsprefix_ + ':' if (UseCapturedNS_ and self.RSTIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRSTIME>%s</%sRSTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.RSTIME, input_name='RSTIME'), namespaceprefix_ , eol_))
        if self.RETIME is not None:
            namespaceprefix_ = self.RETIME_nsprefix_ + ':' if (UseCapturedNS_ and self.RETIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRETIME>%s</%sRETIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.RETIME, input_name='RETIME'), namespaceprefix_ , eol_))
        if self.ESTIME is not None:
            namespaceprefix_ = self.ESTIME_nsprefix_ + ':' if (UseCapturedNS_ and self.ESTIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sESTIME>%s</%sESTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.ESTIME, input_name='ESTIME'), namespaceprefix_ , eol_))
        if self.EETIME is not None:
            namespaceprefix_ = self.EETIME_nsprefix_ + ':' if (UseCapturedNS_ and self.EETIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sEETIME>%s</%sEETIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.EETIME, input_name='EETIME'), namespaceprefix_ , eol_))
        if self.ACTION is not None:
            namespaceprefix_ = self.ACTION_nsprefix_ + ':' if (UseCapturedNS_ and self.ACTION_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sACTION>%s</%sACTION>%s' % (namespaceprefix_ , self.gds_format_integer(self.ACTION, input_name='ACTION'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.REQUEST_ID is not None:
            namespaceprefix_ = self.REQUEST_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.REQUEST_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREQUEST_ID>%s</%sREQUEST_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.REQUEST_ID), input_name='REQUEST_ID')), namespaceprefix_ , eol_))
        if self.VM is not None:
            namespaceprefix_ = self.VM_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_nsprefix_) else ''
            self.VM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OID')
            ival_ = self.gds_validate_integer(ival_, node, 'OID')
            self.OID = ival_
            self.OID_nsprefix_ = child_.prefix
        elif nodeName_ == 'SEQ' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SEQ')
            ival_ = self.gds_validate_integer(ival_, node, 'SEQ')
            self.SEQ = ival_
            self.SEQ_nsprefix_ = child_.prefix
        elif nodeName_ == 'HOSTNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'HOSTNAME')
            value_ = self.gds_validate_string(value_, node, 'HOSTNAME')
            self.HOSTNAME = value_
            self.HOSTNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'HID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'HID')
            ival_ = self.gds_validate_integer(ival_, node, 'HID')
            self.HID = ival_
            self.HID_nsprefix_ = child_.prefix
        elif nodeName_ == 'CID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'CID')
            ival_ = self.gds_validate_integer(ival_, node, 'CID')
            self.CID = ival_
            self.CID_nsprefix_ = child_.prefix
        elif nodeName_ == 'STIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STIME')
            ival_ = self.gds_validate_integer(ival_, node, 'STIME')
            self.STIME = ival_
            self.STIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'ETIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ETIME')
            ival_ = self.gds_validate_integer(ival_, node, 'ETIME')
            self.ETIME = ival_
            self.ETIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'VM_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VM_MAD')
            value_ = self.gds_validate_string(value_, node, 'VM_MAD')
            self.VM_MAD = value_
            self.VM_MAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'TM_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TM_MAD')
            value_ = self.gds_validate_string(value_, node, 'TM_MAD')
            self.TM_MAD = value_
            self.TM_MAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'DS_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DS_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'DS_ID')
            self.DS_ID = ival_
            self.DS_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'PSTIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PSTIME')
            ival_ = self.gds_validate_integer(ival_, node, 'PSTIME')
            self.PSTIME = ival_
            self.PSTIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PETIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PETIME')
            ival_ = self.gds_validate_integer(ival_, node, 'PETIME')
            self.PETIME = ival_
            self.PETIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'RSTIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RSTIME')
            ival_ = self.gds_validate_integer(ival_, node, 'RSTIME')
            self.RSTIME = ival_
            self.RSTIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'RETIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RETIME')
            ival_ = self.gds_validate_integer(ival_, node, 'RETIME')
            self.RETIME = ival_
            self.RETIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'ESTIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ESTIME')
            ival_ = self.gds_validate_integer(ival_, node, 'ESTIME')
            self.ESTIME = ival_
            self.ESTIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'EETIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'EETIME')
            ival_ = self.gds_validate_integer(ival_, node, 'EETIME')
            self.EETIME = ival_
            self.EETIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'ACTION' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ACTION')
            ival_ = self.gds_validate_integer(ival_, node, 'ACTION')
            self.ACTION = ival_
            self.ACTION_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'REQUEST_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'REQUEST_ID')
            value_ = self.gds_validate_string(value_, node, 'REQUEST_ID')
            self.REQUEST_ID = value_
            self.REQUEST_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VM':
            obj_ = VMType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM = obj_
            obj_.original_tagname_ = 'VM'
# end class HISTORY


class ACL_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ACL=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ACL is None:
            self.ACL = []
        else:
            self.ACL = ACL
        self.ACL_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, ACL_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if ACL_POOL.subclass:
            return ACL_POOL.subclass(*args_, **kwargs_)
        else:
            return ACL_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ACL(self):
        return self.ACL
    def set_ACL(self, ACL):
        self.ACL = ACL
    def add_ACL(self, value):
        self.ACL.append(value)
    def insert_ACL_at(self, index, value):
        self.ACL.insert(index, value)
    def replace_ACL_at(self, index, value):
        self.ACL[index] = value
    def hasContent_(self):
        if (
            self.ACL
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ACL_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('ACL_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'ACL_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ACL_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ACL_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ACL_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ACL_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ACL_ in self.ACL:
            namespaceprefix_ = self.ACL_nsprefix_ + ':' if (UseCapturedNS_ and self.ACL_nsprefix_) else ''
            ACL_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ACL', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ACL':
            obj_ = ACLType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.ACL.append(obj_)
            obj_.original_tagname_ = 'ACL'
# end class ACL_POOL


class CLUSTER_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CLUSTER=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if CLUSTER is None:
            self.CLUSTER = []
        else:
            self.CLUSTER = CLUSTER
        self.CLUSTER_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, CLUSTER_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if CLUSTER_POOL.subclass:
            return CLUSTER_POOL.subclass(*args_, **kwargs_)
        else:
            return CLUSTER_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CLUSTER(self):
        return self.CLUSTER
    def set_CLUSTER(self, CLUSTER):
        self.CLUSTER = CLUSTER
    def add_CLUSTER(self, value):
        self.CLUSTER.append(value)
    def insert_CLUSTER_at(self, index, value):
        self.CLUSTER.insert(index, value)
    def replace_CLUSTER_at(self, index, value):
        self.CLUSTER[index] = value
    def hasContent_(self):
        if (
            self.CLUSTER
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTER_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLUSTER_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'CLUSTER_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLUSTER_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLUSTER_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CLUSTER_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTER_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for CLUSTER_ in self.CLUSTER:
            namespaceprefix_ = self.CLUSTER_nsprefix_ + ':' if (UseCapturedNS_ and self.CLUSTER_nsprefix_) else ''
            CLUSTER_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CLUSTER', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CLUSTER':
            obj_ = CLUSTER.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.CLUSTER.append(obj_)
            obj_.original_tagname_ = 'CLUSTER'
# end class CLUSTER_POOL


class CLUSTER(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, NAME=None, HOSTS=None, DATASTORES=None, VNETS=None, TEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.HOSTS = HOSTS
        self.HOSTS_nsprefix_ = None
        self.DATASTORES = DATASTORES
        self.DATASTORES_nsprefix_ = None
        self.VNETS = VNETS
        self.VNETS_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, CLUSTER)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if CLUSTER.subclass:
            return CLUSTER.subclass(*args_, **kwargs_)
        else:
            return CLUSTER(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_HOSTS(self):
        return self.HOSTS
    def set_HOSTS(self, HOSTS):
        self.HOSTS = HOSTS
    def get_DATASTORES(self):
        return self.DATASTORES
    def set_DATASTORES(self, DATASTORES):
        self.DATASTORES = DATASTORES
    def get_VNETS(self):
        return self.VNETS
    def set_VNETS(self, VNETS):
        self.VNETS = VNETS
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def hasContent_(self):
        if (
            self.ID is not None or
            self.NAME is not None or
            self.HOSTS is not None or
            self.DATASTORES is not None or
            self.VNETS is not None or
            self.TEMPLATE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTER', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLUSTER')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'CLUSTER':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLUSTER')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLUSTER', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CLUSTER'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTER', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.HOSTS is not None:
            namespaceprefix_ = self.HOSTS_nsprefix_ + ':' if (UseCapturedNS_ and self.HOSTS_nsprefix_) else ''
            self.HOSTS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HOSTS', pretty_print=pretty_print)
        if self.DATASTORES is not None:
            namespaceprefix_ = self.DATASTORES_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORES_nsprefix_) else ''
            self.DATASTORES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORES', pretty_print=pretty_print)
        if self.VNETS is not None:
            namespaceprefix_ = self.VNETS_nsprefix_ + ':' if (UseCapturedNS_ and self.VNETS_nsprefix_) else ''
            self.VNETS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VNETS', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTEMPLATE>%s</%sTEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TEMPLATE), input_name='TEMPLATE')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'HOSTS':
            obj_ = HOSTSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HOSTS = obj_
            obj_.original_tagname_ = 'HOSTS'
        elif nodeName_ == 'DATASTORES':
            obj_ = DATASTORESType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORES = obj_
            obj_.original_tagname_ = 'DATASTORES'
        elif nodeName_ == 'VNETS':
            obj_ = VNETSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VNETS = obj_
            obj_.original_tagname_ = 'VNETS'
        elif nodeName_ == 'TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'TEMPLATE')
            self.TEMPLATE = value_
            self.TEMPLATE_nsprefix_ = child_.prefix
# end class CLUSTER


class DATASTORE_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DATASTORE is None:
            self.DATASTORE = []
        else:
            self.DATASTORE = DATASTORE
        self.DATASTORE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORE_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORE_POOL.subclass:
            return DATASTORE_POOL.subclass(*args_, **kwargs_)
        else:
            return DATASTORE_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE(self):
        return self.DATASTORE
    def set_DATASTORE(self, DATASTORE):
        self.DATASTORE = DATASTORE
    def add_DATASTORE(self, value):
        self.DATASTORE.append(value)
    def insert_DATASTORE_at(self, index, value):
        self.DATASTORE.insert(index, value)
    def replace_DATASTORE_at(self, index, value):
        self.DATASTORE[index] = value
    def hasContent_(self):
        if (
            self.DATASTORE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORE_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORE_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORE_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORE_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORE_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DATASTORE_ in self.DATASTORE:
            namespaceprefix_ = self.DATASTORE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_nsprefix_) else ''
            DATASTORE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE':
            obj_ = DATASTORE.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE.append(obj_)
            obj_.original_tagname_ = 'DATASTORE'
# end class DATASTORE_POOL


class DATASTORE(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, PERMISSIONS=None, DS_MAD=None, TM_MAD=None, BASE_PATH=None, TYPE=None, DISK_TYPE=None, STATE=None, CLUSTERS=None, TOTAL_MB=None, FREE_MB=None, USED_MB=None, IMAGES=None, TEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.DS_MAD = DS_MAD
        self.DS_MAD_nsprefix_ = None
        self.TM_MAD = TM_MAD
        self.TM_MAD_nsprefix_ = None
        self.BASE_PATH = BASE_PATH
        self.BASE_PATH_nsprefix_ = None
        self.TYPE = TYPE
        self.TYPE_nsprefix_ = None
        self.DISK_TYPE = DISK_TYPE
        self.DISK_TYPE_nsprefix_ = None
        self.STATE = STATE
        self.STATE_nsprefix_ = None
        self.CLUSTERS = CLUSTERS
        self.CLUSTERS_nsprefix_ = None
        self.TOTAL_MB = TOTAL_MB
        self.TOTAL_MB_nsprefix_ = None
        self.FREE_MB = FREE_MB
        self.FREE_MB_nsprefix_ = None
        self.USED_MB = USED_MB
        self.USED_MB_nsprefix_ = None
        self.IMAGES = IMAGES
        self.IMAGES_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORE)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORE.subclass:
            return DATASTORE.subclass(*args_, **kwargs_)
        else:
            return DATASTORE(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_PERMISSIONS(self):
        return self.PERMISSIONS
    def set_PERMISSIONS(self, PERMISSIONS):
        self.PERMISSIONS = PERMISSIONS
    def get_DS_MAD(self):
        return self.DS_MAD
    def set_DS_MAD(self, DS_MAD):
        self.DS_MAD = DS_MAD
    def get_TM_MAD(self):
        return self.TM_MAD
    def set_TM_MAD(self, TM_MAD):
        self.TM_MAD = TM_MAD
    def get_BASE_PATH(self):
        return self.BASE_PATH
    def set_BASE_PATH(self, BASE_PATH):
        self.BASE_PATH = BASE_PATH
    def get_TYPE(self):
        return self.TYPE
    def set_TYPE(self, TYPE):
        self.TYPE = TYPE
    def get_DISK_TYPE(self):
        return self.DISK_TYPE
    def set_DISK_TYPE(self, DISK_TYPE):
        self.DISK_TYPE = DISK_TYPE
    def get_STATE(self):
        return self.STATE
    def set_STATE(self, STATE):
        self.STATE = STATE
    def get_CLUSTERS(self):
        return self.CLUSTERS
    def set_CLUSTERS(self, CLUSTERS):
        self.CLUSTERS = CLUSTERS
    def get_TOTAL_MB(self):
        return self.TOTAL_MB
    def set_TOTAL_MB(self, TOTAL_MB):
        self.TOTAL_MB = TOTAL_MB
    def get_FREE_MB(self):
        return self.FREE_MB
    def set_FREE_MB(self, FREE_MB):
        self.FREE_MB = FREE_MB
    def get_USED_MB(self):
        return self.USED_MB
    def set_USED_MB(self, USED_MB):
        self.USED_MB = USED_MB
    def get_IMAGES(self):
        return self.IMAGES
    def set_IMAGES(self, IMAGES):
        self.IMAGES = IMAGES
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.PERMISSIONS is not None or
            self.DS_MAD is not None or
            self.TM_MAD is not None or
            self.BASE_PATH is not None or
            self.TYPE is not None or
            self.DISK_TYPE is not None or
            self.STATE is not None or
            self.CLUSTERS is not None or
            self.TOTAL_MB is not None or
            self.FREE_MB is not None or
            self.USED_MB is not None or
            self.IMAGES is not None or
            self.TEMPLATE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORE')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORE':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORE')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORE', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORE'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.PERMISSIONS is not None:
            namespaceprefix_ = self.PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.PERMISSIONS_nsprefix_) else ''
            self.PERMISSIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PERMISSIONS', pretty_print=pretty_print)
        if self.DS_MAD is not None:
            namespaceprefix_ = self.DS_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.DS_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDS_MAD>%s</%sDS_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.DS_MAD), input_name='DS_MAD')), namespaceprefix_ , eol_))
        if self.TM_MAD is not None:
            namespaceprefix_ = self.TM_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.TM_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTM_MAD>%s</%sTM_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TM_MAD), input_name='TM_MAD')), namespaceprefix_ , eol_))
        if self.BASE_PATH is not None:
            namespaceprefix_ = self.BASE_PATH_nsprefix_ + ':' if (UseCapturedNS_ and self.BASE_PATH_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sBASE_PATH>%s</%sBASE_PATH>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BASE_PATH), input_name='BASE_PATH')), namespaceprefix_ , eol_))
        if self.TYPE is not None:
            namespaceprefix_ = self.TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTYPE>%s</%sTYPE>%s' % (namespaceprefix_ , self.gds_format_integer(self.TYPE, input_name='TYPE'), namespaceprefix_ , eol_))
        if self.DISK_TYPE is not None:
            namespaceprefix_ = self.DISK_TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.DISK_TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDISK_TYPE>%s</%sDISK_TYPE>%s' % (namespaceprefix_ , self.gds_format_integer(self.DISK_TYPE, input_name='DISK_TYPE'), namespaceprefix_ , eol_))
        if self.STATE is not None:
            namespaceprefix_ = self.STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTATE>%s</%sSTATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.STATE, input_name='STATE'), namespaceprefix_ , eol_))
        if self.CLUSTERS is not None:
            namespaceprefix_ = self.CLUSTERS_nsprefix_ + ':' if (UseCapturedNS_ and self.CLUSTERS_nsprefix_) else ''
            self.CLUSTERS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CLUSTERS', pretty_print=pretty_print)
        if self.TOTAL_MB is not None:
            namespaceprefix_ = self.TOTAL_MB_nsprefix_ + ':' if (UseCapturedNS_ and self.TOTAL_MB_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTOTAL_MB>%s</%sTOTAL_MB>%s' % (namespaceprefix_ , self.gds_format_integer(self.TOTAL_MB, input_name='TOTAL_MB'), namespaceprefix_ , eol_))
        if self.FREE_MB is not None:
            namespaceprefix_ = self.FREE_MB_nsprefix_ + ':' if (UseCapturedNS_ and self.FREE_MB_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFREE_MB>%s</%sFREE_MB>%s' % (namespaceprefix_ , self.gds_format_integer(self.FREE_MB, input_name='FREE_MB'), namespaceprefix_ , eol_))
        if self.USED_MB is not None:
            namespaceprefix_ = self.USED_MB_nsprefix_ + ':' if (UseCapturedNS_ and self.USED_MB_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSED_MB>%s</%sUSED_MB>%s' % (namespaceprefix_ , self.gds_format_integer(self.USED_MB, input_name='USED_MB'), namespaceprefix_ , eol_))
        if self.IMAGES is not None:
            namespaceprefix_ = self.IMAGES_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_nsprefix_) else ''
            self.IMAGES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGES', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            self.TEMPLATE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TEMPLATE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType1.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'DS_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DS_MAD')
            value_ = self.gds_validate_string(value_, node, 'DS_MAD')
            self.DS_MAD = value_
            self.DS_MAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'TM_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TM_MAD')
            value_ = self.gds_validate_string(value_, node, 'TM_MAD')
            self.TM_MAD = value_
            self.TM_MAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'BASE_PATH':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'BASE_PATH')
            value_ = self.gds_validate_string(value_, node, 'BASE_PATH')
            self.BASE_PATH = value_
            self.BASE_PATH_nsprefix_ = child_.prefix
        elif nodeName_ == 'TYPE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TYPE')
            ival_ = self.gds_validate_integer(ival_, node, 'TYPE')
            self.TYPE = ival_
            self.TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'DISK_TYPE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DISK_TYPE')
            ival_ = self.gds_validate_integer(ival_, node, 'DISK_TYPE')
            self.DISK_TYPE = ival_
            self.DISK_TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'STATE')
            self.STATE = ival_
            self.STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'CLUSTERS':
            obj_ = CLUSTERSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.CLUSTERS = obj_
            obj_.original_tagname_ = 'CLUSTERS'
        elif nodeName_ == 'TOTAL_MB' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TOTAL_MB')
            ival_ = self.gds_validate_integer(ival_, node, 'TOTAL_MB')
            self.TOTAL_MB = ival_
            self.TOTAL_MB_nsprefix_ = child_.prefix
        elif nodeName_ == 'FREE_MB' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'FREE_MB')
            ival_ = self.gds_validate_integer(ival_, node, 'FREE_MB')
            self.FREE_MB = ival_
            self.FREE_MB_nsprefix_ = child_.prefix
        elif nodeName_ == 'USED_MB' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'USED_MB')
            ival_ = self.gds_validate_integer(ival_, node, 'USED_MB')
            self.USED_MB = ival_
            self.USED_MB_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES':
            obj_ = IMAGESType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGES = obj_
            obj_.original_tagname_ = 'IMAGES'
        elif nodeName_ == 'TEMPLATE':
            obj_ = TEMPLATEType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
# end class DATASTORE


class GROUP_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, GROUP=None, QUOTAS=None, DEFAULT_GROUP_QUOTAS=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if GROUP is None:
            self.GROUP = []
        else:
            self.GROUP = GROUP
        self.GROUP_nsprefix_ = None
        if QUOTAS is None:
            self.QUOTAS = []
        else:
            self.QUOTAS = QUOTAS
        self.QUOTAS_nsprefix_ = None
        self.DEFAULT_GROUP_QUOTAS = DEFAULT_GROUP_QUOTAS
        self.DEFAULT_GROUP_QUOTAS_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, GROUP_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if GROUP_POOL.subclass:
            return GROUP_POOL.subclass(*args_, **kwargs_)
        else:
            return GROUP_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_GROUP(self):
        return self.GROUP
    def set_GROUP(self, GROUP):
        self.GROUP = GROUP
    def add_GROUP(self, value):
        self.GROUP.append(value)
    def insert_GROUP_at(self, index, value):
        self.GROUP.insert(index, value)
    def replace_GROUP_at(self, index, value):
        self.GROUP[index] = value
    def get_QUOTAS(self):
        return self.QUOTAS
    def set_QUOTAS(self, QUOTAS):
        self.QUOTAS = QUOTAS
    def add_QUOTAS(self, value):
        self.QUOTAS.append(value)
    def insert_QUOTAS_at(self, index, value):
        self.QUOTAS.insert(index, value)
    def replace_QUOTAS_at(self, index, value):
        self.QUOTAS[index] = value
    def get_DEFAULT_GROUP_QUOTAS(self):
        return self.DEFAULT_GROUP_QUOTAS
    def set_DEFAULT_GROUP_QUOTAS(self, DEFAULT_GROUP_QUOTAS):
        self.DEFAULT_GROUP_QUOTAS = DEFAULT_GROUP_QUOTAS
    def hasContent_(self):
        if (
            self.GROUP or
            self.QUOTAS or
            self.DEFAULT_GROUP_QUOTAS is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='GROUP_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('GROUP_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'GROUP_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GROUP_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GROUP_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GROUP_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='GROUP_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for GROUP_ in self.GROUP:
            namespaceprefix_ = self.GROUP_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_nsprefix_) else ''
            GROUP_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GROUP', pretty_print=pretty_print)
        for QUOTAS_ in self.QUOTAS:
            namespaceprefix_ = self.QUOTAS_nsprefix_ + ':' if (UseCapturedNS_ and self.QUOTAS_nsprefix_) else ''
            QUOTAS_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='QUOTAS', pretty_print=pretty_print)
        if self.DEFAULT_GROUP_QUOTAS is not None:
            namespaceprefix_ = self.DEFAULT_GROUP_QUOTAS_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_GROUP_QUOTAS_nsprefix_) else ''
            self.DEFAULT_GROUP_QUOTAS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DEFAULT_GROUP_QUOTAS', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'GROUP':
            obj_ = GROUPType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.GROUP.append(obj_)
            obj_.original_tagname_ = 'GROUP'
        elif nodeName_ == 'QUOTAS':
            obj_ = QUOTASType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.QUOTAS.append(obj_)
            obj_.original_tagname_ = 'QUOTAS'
        elif nodeName_ == 'DEFAULT_GROUP_QUOTAS':
            obj_ = DEFAULT_GROUP_QUOTASType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DEFAULT_GROUP_QUOTAS = obj_
            obj_.original_tagname_ = 'DEFAULT_GROUP_QUOTAS'
# end class GROUP_POOL


class GROUP(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, NAME=None, TEMPLATE=None, USERS=None, ADMINS=None, DATASTORE_QUOTA=None, NETWORK_QUOTA=None, VM_QUOTA=None, IMAGE_QUOTA=None, DEFAULT_GROUP_QUOTAS=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
        self.USERS = USERS
        self.USERS_nsprefix_ = None
        self.ADMINS = ADMINS
        self.ADMINS_nsprefix_ = None
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
        self.DATASTORE_QUOTA_nsprefix_ = None
        self.NETWORK_QUOTA = NETWORK_QUOTA
        self.NETWORK_QUOTA_nsprefix_ = None
        self.VM_QUOTA = VM_QUOTA
        self.VM_QUOTA_nsprefix_ = None
        self.IMAGE_QUOTA = IMAGE_QUOTA
        self.IMAGE_QUOTA_nsprefix_ = None
        self.DEFAULT_GROUP_QUOTAS = DEFAULT_GROUP_QUOTAS
        self.DEFAULT_GROUP_QUOTAS_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, GROUP)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if GROUP.subclass:
            return GROUP.subclass(*args_, **kwargs_)
        else:
            return GROUP(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def get_USERS(self):
        return self.USERS
    def set_USERS(self, USERS):
        self.USERS = USERS
    def get_ADMINS(self):
        return self.ADMINS
    def set_ADMINS(self, ADMINS):
        self.ADMINS = ADMINS
    def get_DATASTORE_QUOTA(self):
        return self.DATASTORE_QUOTA
    def set_DATASTORE_QUOTA(self, DATASTORE_QUOTA):
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
    def get_NETWORK_QUOTA(self):
        return self.NETWORK_QUOTA
    def set_NETWORK_QUOTA(self, NETWORK_QUOTA):
        self.NETWORK_QUOTA = NETWORK_QUOTA
    def get_VM_QUOTA(self):
        return self.VM_QUOTA
    def set_VM_QUOTA(self, VM_QUOTA):
        self.VM_QUOTA = VM_QUOTA
    def get_IMAGE_QUOTA(self):
        return self.IMAGE_QUOTA
    def set_IMAGE_QUOTA(self, IMAGE_QUOTA):
        self.IMAGE_QUOTA = IMAGE_QUOTA
    def get_DEFAULT_GROUP_QUOTAS(self):
        return self.DEFAULT_GROUP_QUOTAS
    def set_DEFAULT_GROUP_QUOTAS(self, DEFAULT_GROUP_QUOTAS):
        self.DEFAULT_GROUP_QUOTAS = DEFAULT_GROUP_QUOTAS
    def hasContent_(self):
        if (
            self.ID is not None or
            self.NAME is not None or
            self.TEMPLATE is not None or
            self.USERS is not None or
            self.ADMINS is not None or
            self.DATASTORE_QUOTA is not None or
            self.NETWORK_QUOTA is not None or
            self.VM_QUOTA is not None or
            self.IMAGE_QUOTA is not None or
            self.DEFAULT_GROUP_QUOTAS is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='GROUP', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('GROUP')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'GROUP':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GROUP')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GROUP', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GROUP'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='GROUP', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTEMPLATE>%s</%sTEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TEMPLATE), input_name='TEMPLATE')), namespaceprefix_ , eol_))
        if self.USERS is not None:
            namespaceprefix_ = self.USERS_nsprefix_ + ':' if (UseCapturedNS_ and self.USERS_nsprefix_) else ''
            self.USERS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='USERS', pretty_print=pretty_print)
        if self.ADMINS is not None:
            namespaceprefix_ = self.ADMINS_nsprefix_ + ':' if (UseCapturedNS_ and self.ADMINS_nsprefix_) else ''
            self.ADMINS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ADMINS', pretty_print=pretty_print)
        if self.DATASTORE_QUOTA is not None:
            namespaceprefix_ = self.DATASTORE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_QUOTA_nsprefix_) else ''
            self.DATASTORE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE_QUOTA', pretty_print=pretty_print)
        if self.NETWORK_QUOTA is not None:
            namespaceprefix_ = self.NETWORK_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_QUOTA_nsprefix_) else ''
            self.NETWORK_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK_QUOTA', pretty_print=pretty_print)
        if self.VM_QUOTA is not None:
            namespaceprefix_ = self.VM_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_QUOTA_nsprefix_) else ''
            self.VM_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM_QUOTA', pretty_print=pretty_print)
        if self.IMAGE_QUOTA is not None:
            namespaceprefix_ = self.IMAGE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_QUOTA_nsprefix_) else ''
            self.IMAGE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE_QUOTA', pretty_print=pretty_print)
        if self.DEFAULT_GROUP_QUOTAS is not None:
            namespaceprefix_ = self.DEFAULT_GROUP_QUOTAS_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_GROUP_QUOTAS_nsprefix_) else ''
            self.DEFAULT_GROUP_QUOTAS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DEFAULT_GROUP_QUOTAS', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'TEMPLATE')
            self.TEMPLATE = value_
            self.TEMPLATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'USERS':
            obj_ = USERSType11.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.USERS = obj_
            obj_.original_tagname_ = 'USERS'
        elif nodeName_ == 'ADMINS':
            obj_ = ADMINSType12.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.ADMINS = obj_
            obj_.original_tagname_ = 'ADMINS'
        elif nodeName_ == 'DATASTORE_QUOTA':
            obj_ = DATASTORE_QUOTAType13.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE_QUOTA = obj_
            obj_.original_tagname_ = 'DATASTORE_QUOTA'
        elif nodeName_ == 'NETWORK_QUOTA':
            obj_ = NETWORK_QUOTAType15.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK_QUOTA = obj_
            obj_.original_tagname_ = 'NETWORK_QUOTA'
        elif nodeName_ == 'VM_QUOTA':
            obj_ = VM_QUOTAType17.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM_QUOTA = obj_
            obj_.original_tagname_ = 'VM_QUOTA'
        elif nodeName_ == 'IMAGE_QUOTA':
            obj_ = IMAGE_QUOTAType19.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE_QUOTA = obj_
            obj_.original_tagname_ = 'IMAGE_QUOTA'
        elif nodeName_ == 'DEFAULT_GROUP_QUOTAS':
            obj_ = DEFAULT_GROUP_QUOTASType21.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DEFAULT_GROUP_QUOTAS = obj_
            obj_.original_tagname_ = 'DEFAULT_GROUP_QUOTAS'
# end class GROUP


class HOST_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, HOST=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if HOST is None:
            self.HOST = []
        else:
            self.HOST = HOST
        self.HOST_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HOST_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HOST_POOL.subclass:
            return HOST_POOL.subclass(*args_, **kwargs_)
        else:
            return HOST_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_HOST(self):
        return self.HOST
    def set_HOST(self, HOST):
        self.HOST = HOST
    def add_HOST(self, value):
        self.HOST.append(value)
    def insert_HOST_at(self, index, value):
        self.HOST.insert(index, value)
    def replace_HOST_at(self, index, value):
        self.HOST[index] = value
    def hasContent_(self):
        if (
            self.HOST
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOST_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HOST_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HOST_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HOST_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HOST_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HOST_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOST_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for HOST_ in self.HOST:
            namespaceprefix_ = self.HOST_nsprefix_ + ':' if (UseCapturedNS_ and self.HOST_nsprefix_) else ''
            HOST_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HOST', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'HOST':
            obj_ = HOST.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HOST.append(obj_)
            obj_.original_tagname_ = 'HOST'
# end class HOST_POOL


class HOST(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, NAME=None, STATE=None, PREV_STATE=None, IM_MAD=None, VM_MAD=None, LAST_MON_TIME=None, CLUSTER_ID=None, CLUSTER=None, HOST_SHARE=None, VMS=None, TEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.STATE = STATE
        self.STATE_nsprefix_ = None
        self.PREV_STATE = PREV_STATE
        self.PREV_STATE_nsprefix_ = None
        self.IM_MAD = IM_MAD
        self.IM_MAD_nsprefix_ = None
        self.VM_MAD = VM_MAD
        self.VM_MAD_nsprefix_ = None
        self.LAST_MON_TIME = LAST_MON_TIME
        self.LAST_MON_TIME_nsprefix_ = None
        self.CLUSTER_ID = CLUSTER_ID
        self.CLUSTER_ID_nsprefix_ = None
        self.CLUSTER = CLUSTER
        self.CLUSTER_nsprefix_ = None
        self.HOST_SHARE = HOST_SHARE
        self.HOST_SHARE_nsprefix_ = None
        self.VMS = VMS
        self.VMS_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HOST)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HOST.subclass:
            return HOST.subclass(*args_, **kwargs_)
        else:
            return HOST(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_STATE(self):
        return self.STATE
    def set_STATE(self, STATE):
        self.STATE = STATE
    def get_PREV_STATE(self):
        return self.PREV_STATE
    def set_PREV_STATE(self, PREV_STATE):
        self.PREV_STATE = PREV_STATE
    def get_IM_MAD(self):
        return self.IM_MAD
    def set_IM_MAD(self, IM_MAD):
        self.IM_MAD = IM_MAD
    def get_VM_MAD(self):
        return self.VM_MAD
    def set_VM_MAD(self, VM_MAD):
        self.VM_MAD = VM_MAD
    def get_LAST_MON_TIME(self):
        return self.LAST_MON_TIME
    def set_LAST_MON_TIME(self, LAST_MON_TIME):
        self.LAST_MON_TIME = LAST_MON_TIME
    def get_CLUSTER_ID(self):
        return self.CLUSTER_ID
    def set_CLUSTER_ID(self, CLUSTER_ID):
        self.CLUSTER_ID = CLUSTER_ID
    def get_CLUSTER(self):
        return self.CLUSTER
    def set_CLUSTER(self, CLUSTER):
        self.CLUSTER = CLUSTER
    def get_HOST_SHARE(self):
        return self.HOST_SHARE
    def set_HOST_SHARE(self, HOST_SHARE):
        self.HOST_SHARE = HOST_SHARE
    def get_VMS(self):
        return self.VMS
    def set_VMS(self, VMS):
        self.VMS = VMS
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def hasContent_(self):
        if (
            self.ID is not None or
            self.NAME is not None or
            self.STATE is not None or
            self.PREV_STATE is not None or
            self.IM_MAD is not None or
            self.VM_MAD is not None or
            self.LAST_MON_TIME is not None or
            self.CLUSTER_ID is not None or
            self.CLUSTER is not None or
            self.HOST_SHARE is not None or
            self.VMS is not None or
            self.TEMPLATE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOST', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HOST')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HOST':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HOST')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HOST', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HOST'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOST', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.STATE is not None:
            namespaceprefix_ = self.STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTATE>%s</%sSTATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.STATE, input_name='STATE'), namespaceprefix_ , eol_))
        if self.PREV_STATE is not None:
            namespaceprefix_ = self.PREV_STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.PREV_STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPREV_STATE>%s</%sPREV_STATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.PREV_STATE, input_name='PREV_STATE'), namespaceprefix_ , eol_))
        if self.IM_MAD is not None:
            namespaceprefix_ = self.IM_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.IM_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIM_MAD>%s</%sIM_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IM_MAD), input_name='IM_MAD')), namespaceprefix_ , eol_))
        if self.VM_MAD is not None:
            namespaceprefix_ = self.VM_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVM_MAD>%s</%sVM_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VM_MAD), input_name='VM_MAD')), namespaceprefix_ , eol_))
        if self.LAST_MON_TIME is not None:
            namespaceprefix_ = self.LAST_MON_TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.LAST_MON_TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLAST_MON_TIME>%s</%sLAST_MON_TIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.LAST_MON_TIME, input_name='LAST_MON_TIME'), namespaceprefix_ , eol_))
        if self.CLUSTER_ID is not None:
            namespaceprefix_ = self.CLUSTER_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.CLUSTER_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCLUSTER_ID>%s</%sCLUSTER_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.CLUSTER_ID, input_name='CLUSTER_ID'), namespaceprefix_ , eol_))
        if self.CLUSTER is not None:
            namespaceprefix_ = self.CLUSTER_nsprefix_ + ':' if (UseCapturedNS_ and self.CLUSTER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCLUSTER>%s</%sCLUSTER>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CLUSTER), input_name='CLUSTER')), namespaceprefix_ , eol_))
        if self.HOST_SHARE is not None:
            namespaceprefix_ = self.HOST_SHARE_nsprefix_ + ':' if (UseCapturedNS_ and self.HOST_SHARE_nsprefix_) else ''
            self.HOST_SHARE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HOST_SHARE', pretty_print=pretty_print)
        if self.VMS is not None:
            namespaceprefix_ = self.VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_nsprefix_) else ''
            self.VMS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VMS', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            self.TEMPLATE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TEMPLATE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'STATE')
            self.STATE = ival_
            self.STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'PREV_STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PREV_STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'PREV_STATE')
            self.PREV_STATE = ival_
            self.PREV_STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'IM_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IM_MAD')
            value_ = self.gds_validate_string(value_, node, 'IM_MAD')
            self.IM_MAD = value_
            self.IM_MAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'VM_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VM_MAD')
            value_ = self.gds_validate_string(value_, node, 'VM_MAD')
            self.VM_MAD = value_
            self.VM_MAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'LAST_MON_TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LAST_MON_TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'LAST_MON_TIME')
            self.LAST_MON_TIME = ival_
            self.LAST_MON_TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'CLUSTER_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'CLUSTER_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'CLUSTER_ID')
            self.CLUSTER_ID = ival_
            self.CLUSTER_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'CLUSTER':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CLUSTER')
            value_ = self.gds_validate_string(value_, node, 'CLUSTER')
            self.CLUSTER = value_
            self.CLUSTER_nsprefix_ = child_.prefix
        elif nodeName_ == 'HOST_SHARE':
            obj_ = HOST_SHAREType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HOST_SHARE = obj_
            obj_.original_tagname_ = 'HOST_SHARE'
        elif nodeName_ == 'VMS':
            obj_ = VMSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VMS = obj_
            obj_.original_tagname_ = 'VMS'
        elif nodeName_ == 'TEMPLATE':
            obj_ = TEMPLATEType31.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
# end class HOST


class IMAGE_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, IMAGE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if IMAGE is None:
            self.IMAGE = []
        else:
            self.IMAGE = IMAGE
        self.IMAGE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGE_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGE_POOL.subclass:
            return IMAGE_POOL.subclass(*args_, **kwargs_)
        else:
            return IMAGE_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_IMAGE(self):
        return self.IMAGE
    def set_IMAGE(self, IMAGE):
        self.IMAGE = IMAGE
    def add_IMAGE(self, value):
        self.IMAGE.append(value)
    def insert_IMAGE_at(self, index, value):
        self.IMAGE.insert(index, value)
    def replace_IMAGE_at(self, index, value):
        self.IMAGE[index] = value
    def hasContent_(self):
        if (
            self.IMAGE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGE_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGE_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGE_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGE_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGE_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for IMAGE_ in self.IMAGE:
            namespaceprefix_ = self.IMAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_nsprefix_) else ''
            IMAGE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'IMAGE':
            obj_ = IMAGE.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE.append(obj_)
            obj_.original_tagname_ = 'IMAGE'
# end class IMAGE_POOL


class IMAGE(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, LOCK=None, PERMISSIONS=None, TYPE=None, DISK_TYPE=None, PERSISTENT=None, REGTIME=None, SOURCE=None, PATH=None, FSTYPE=None, SIZE=None, STATE=None, RUNNING_VMS=None, CLONING_OPS=None, CLONING_ID=None, TARGET_SNAPSHOT=None, DATASTORE_ID=None, DATASTORE=None, VMS=None, CLONES=None, APP_CLONES=None, TEMPLATE=None, SNAPSHOTS=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.LOCK = LOCK
        self.LOCK_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.TYPE = TYPE
        self.TYPE_nsprefix_ = None
        self.DISK_TYPE = DISK_TYPE
        self.DISK_TYPE_nsprefix_ = None
        self.PERSISTENT = PERSISTENT
        self.PERSISTENT_nsprefix_ = None
        self.REGTIME = REGTIME
        self.REGTIME_nsprefix_ = None
        self.SOURCE = SOURCE
        self.SOURCE_nsprefix_ = None
        self.PATH = PATH
        self.PATH_nsprefix_ = None
        self.FSTYPE = FSTYPE
        self.FSTYPE_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.STATE = STATE
        self.STATE_nsprefix_ = None
        self.RUNNING_VMS = RUNNING_VMS
        self.RUNNING_VMS_nsprefix_ = None
        self.CLONING_OPS = CLONING_OPS
        self.CLONING_OPS_nsprefix_ = None
        self.CLONING_ID = CLONING_ID
        self.CLONING_ID_nsprefix_ = None
        self.TARGET_SNAPSHOT = TARGET_SNAPSHOT
        self.TARGET_SNAPSHOT_nsprefix_ = None
        self.DATASTORE_ID = DATASTORE_ID
        self.DATASTORE_ID_nsprefix_ = None
        self.DATASTORE = DATASTORE
        self.DATASTORE_nsprefix_ = None
        self.VMS = VMS
        self.VMS_nsprefix_ = None
        self.CLONES = CLONES
        self.CLONES_nsprefix_ = None
        self.APP_CLONES = APP_CLONES
        self.APP_CLONES_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
        self.SNAPSHOTS = SNAPSHOTS
        self.SNAPSHOTS_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGE)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGE.subclass:
            return IMAGE.subclass(*args_, **kwargs_)
        else:
            return IMAGE(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_LOCK(self):
        return self.LOCK
    def set_LOCK(self, LOCK):
        self.LOCK = LOCK
    def get_PERMISSIONS(self):
        return self.PERMISSIONS
    def set_PERMISSIONS(self, PERMISSIONS):
        self.PERMISSIONS = PERMISSIONS
    def get_TYPE(self):
        return self.TYPE
    def set_TYPE(self, TYPE):
        self.TYPE = TYPE
    def get_DISK_TYPE(self):
        return self.DISK_TYPE
    def set_DISK_TYPE(self, DISK_TYPE):
        self.DISK_TYPE = DISK_TYPE
    def get_PERSISTENT(self):
        return self.PERSISTENT
    def set_PERSISTENT(self, PERSISTENT):
        self.PERSISTENT = PERSISTENT
    def get_REGTIME(self):
        return self.REGTIME
    def set_REGTIME(self, REGTIME):
        self.REGTIME = REGTIME
    def get_SOURCE(self):
        return self.SOURCE
    def set_SOURCE(self, SOURCE):
        self.SOURCE = SOURCE
    def get_PATH(self):
        return self.PATH
    def set_PATH(self, PATH):
        self.PATH = PATH
    def get_FSTYPE(self):
        return self.FSTYPE
    def set_FSTYPE(self, FSTYPE):
        self.FSTYPE = FSTYPE
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_STATE(self):
        return self.STATE
    def set_STATE(self, STATE):
        self.STATE = STATE
    def get_RUNNING_VMS(self):
        return self.RUNNING_VMS
    def set_RUNNING_VMS(self, RUNNING_VMS):
        self.RUNNING_VMS = RUNNING_VMS
    def get_CLONING_OPS(self):
        return self.CLONING_OPS
    def set_CLONING_OPS(self, CLONING_OPS):
        self.CLONING_OPS = CLONING_OPS
    def get_CLONING_ID(self):
        return self.CLONING_ID
    def set_CLONING_ID(self, CLONING_ID):
        self.CLONING_ID = CLONING_ID
    def get_TARGET_SNAPSHOT(self):
        return self.TARGET_SNAPSHOT
    def set_TARGET_SNAPSHOT(self, TARGET_SNAPSHOT):
        self.TARGET_SNAPSHOT = TARGET_SNAPSHOT
    def get_DATASTORE_ID(self):
        return self.DATASTORE_ID
    def set_DATASTORE_ID(self, DATASTORE_ID):
        self.DATASTORE_ID = DATASTORE_ID
    def get_DATASTORE(self):
        return self.DATASTORE
    def set_DATASTORE(self, DATASTORE):
        self.DATASTORE = DATASTORE
    def get_VMS(self):
        return self.VMS
    def set_VMS(self, VMS):
        self.VMS = VMS
    def get_CLONES(self):
        return self.CLONES
    def set_CLONES(self, CLONES):
        self.CLONES = CLONES
    def get_APP_CLONES(self):
        return self.APP_CLONES
    def set_APP_CLONES(self, APP_CLONES):
        self.APP_CLONES = APP_CLONES
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def get_SNAPSHOTS(self):
        return self.SNAPSHOTS
    def set_SNAPSHOTS(self, SNAPSHOTS):
        self.SNAPSHOTS = SNAPSHOTS
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.LOCK is not None or
            self.PERMISSIONS is not None or
            self.TYPE is not None or
            self.DISK_TYPE is not None or
            self.PERSISTENT is not None or
            self.REGTIME is not None or
            self.SOURCE is not None or
            self.PATH is not None or
            self.FSTYPE is not None or
            self.SIZE is not None or
            self.STATE is not None or
            self.RUNNING_VMS is not None or
            self.CLONING_OPS is not None or
            self.CLONING_ID is not None or
            self.TARGET_SNAPSHOT is not None or
            self.DATASTORE_ID is not None or
            self.DATASTORE is not None or
            self.VMS is not None or
            self.CLONES is not None or
            self.APP_CLONES is not None or
            self.TEMPLATE is not None or
            self.SNAPSHOTS is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGE')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGE':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGE')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGE', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGE'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.LOCK is not None:
            namespaceprefix_ = self.LOCK_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCK_nsprefix_) else ''
            self.LOCK.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LOCK', pretty_print=pretty_print)
        if self.PERMISSIONS is not None:
            namespaceprefix_ = self.PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.PERMISSIONS_nsprefix_) else ''
            self.PERMISSIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PERMISSIONS', pretty_print=pretty_print)
        if self.TYPE is not None:
            namespaceprefix_ = self.TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTYPE>%s</%sTYPE>%s' % (namespaceprefix_ , self.gds_format_integer(self.TYPE, input_name='TYPE'), namespaceprefix_ , eol_))
        if self.DISK_TYPE is not None:
            namespaceprefix_ = self.DISK_TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.DISK_TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDISK_TYPE>%s</%sDISK_TYPE>%s' % (namespaceprefix_ , self.gds_format_integer(self.DISK_TYPE, input_name='DISK_TYPE'), namespaceprefix_ , eol_))
        if self.PERSISTENT is not None:
            namespaceprefix_ = self.PERSISTENT_nsprefix_ + ':' if (UseCapturedNS_ and self.PERSISTENT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPERSISTENT>%s</%sPERSISTENT>%s' % (namespaceprefix_ , self.gds_format_integer(self.PERSISTENT, input_name='PERSISTENT'), namespaceprefix_ , eol_))
        if self.REGTIME is not None:
            namespaceprefix_ = self.REGTIME_nsprefix_ + ':' if (UseCapturedNS_ and self.REGTIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREGTIME>%s</%sREGTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.REGTIME, input_name='REGTIME'), namespaceprefix_ , eol_))
        if self.SOURCE is not None:
            namespaceprefix_ = self.SOURCE_nsprefix_ + ':' if (UseCapturedNS_ and self.SOURCE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSOURCE>%s</%sSOURCE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SOURCE), input_name='SOURCE')), namespaceprefix_ , eol_))
        if self.PATH is not None:
            namespaceprefix_ = self.PATH_nsprefix_ + ':' if (UseCapturedNS_ and self.PATH_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPATH>%s</%sPATH>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PATH), input_name='PATH')), namespaceprefix_ , eol_))
        if self.FSTYPE is not None:
            namespaceprefix_ = self.FSTYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.FSTYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFSTYPE>%s</%sFSTYPE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.FSTYPE), input_name='FSTYPE')), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.SIZE, input_name='SIZE'), namespaceprefix_ , eol_))
        if self.STATE is not None:
            namespaceprefix_ = self.STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTATE>%s</%sSTATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.STATE, input_name='STATE'), namespaceprefix_ , eol_))
        if self.RUNNING_VMS is not None:
            namespaceprefix_ = self.RUNNING_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS>%s</%sRUNNING_VMS>%s' % (namespaceprefix_ , self.gds_format_integer(self.RUNNING_VMS, input_name='RUNNING_VMS'), namespaceprefix_ , eol_))
        if self.CLONING_OPS is not None:
            namespaceprefix_ = self.CLONING_OPS_nsprefix_ + ':' if (UseCapturedNS_ and self.CLONING_OPS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCLONING_OPS>%s</%sCLONING_OPS>%s' % (namespaceprefix_ , self.gds_format_integer(self.CLONING_OPS, input_name='CLONING_OPS'), namespaceprefix_ , eol_))
        if self.CLONING_ID is not None:
            namespaceprefix_ = self.CLONING_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.CLONING_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCLONING_ID>%s</%sCLONING_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.CLONING_ID, input_name='CLONING_ID'), namespaceprefix_ , eol_))
        if self.TARGET_SNAPSHOT is not None:
            namespaceprefix_ = self.TARGET_SNAPSHOT_nsprefix_ + ':' if (UseCapturedNS_ and self.TARGET_SNAPSHOT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTARGET_SNAPSHOT>%s</%sTARGET_SNAPSHOT>%s' % (namespaceprefix_ , self.gds_format_integer(self.TARGET_SNAPSHOT, input_name='TARGET_SNAPSHOT'), namespaceprefix_ , eol_))
        if self.DATASTORE_ID is not None:
            namespaceprefix_ = self.DATASTORE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDATASTORE_ID>%s</%sDATASTORE_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.DATASTORE_ID, input_name='DATASTORE_ID'), namespaceprefix_ , eol_))
        if self.DATASTORE is not None:
            namespaceprefix_ = self.DATASTORE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDATASTORE>%s</%sDATASTORE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.DATASTORE), input_name='DATASTORE')), namespaceprefix_ , eol_))
        if self.VMS is not None:
            namespaceprefix_ = self.VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_nsprefix_) else ''
            self.VMS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VMS', pretty_print=pretty_print)
        if self.CLONES is not None:
            namespaceprefix_ = self.CLONES_nsprefix_ + ':' if (UseCapturedNS_ and self.CLONES_nsprefix_) else ''
            self.CLONES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CLONES', pretty_print=pretty_print)
        if self.APP_CLONES is not None:
            namespaceprefix_ = self.APP_CLONES_nsprefix_ + ':' if (UseCapturedNS_ and self.APP_CLONES_nsprefix_) else ''
            self.APP_CLONES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='APP_CLONES', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            self.TEMPLATE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TEMPLATE', pretty_print=pretty_print)
        if self.SNAPSHOTS is not None:
            namespaceprefix_ = self.SNAPSHOTS_nsprefix_ + ':' if (UseCapturedNS_ and self.SNAPSHOTS_nsprefix_) else ''
            self.SNAPSHOTS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SNAPSHOTS', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'LOCK':
            obj_ = LOCKType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOCK = obj_
            obj_.original_tagname_ = 'LOCK'
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType32.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'TYPE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TYPE')
            ival_ = self.gds_validate_integer(ival_, node, 'TYPE')
            self.TYPE = ival_
            self.TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'DISK_TYPE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DISK_TYPE')
            ival_ = self.gds_validate_integer(ival_, node, 'DISK_TYPE')
            self.DISK_TYPE = ival_
            self.DISK_TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'PERSISTENT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PERSISTENT')
            ival_ = self.gds_validate_integer(ival_, node, 'PERSISTENT')
            self.PERSISTENT = ival_
            self.PERSISTENT_nsprefix_ = child_.prefix
        elif nodeName_ == 'REGTIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REGTIME')
            ival_ = self.gds_validate_integer(ival_, node, 'REGTIME')
            self.REGTIME = ival_
            self.REGTIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'SOURCE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SOURCE')
            value_ = self.gds_validate_string(value_, node, 'SOURCE')
            self.SOURCE = value_
            self.SOURCE_nsprefix_ = child_.prefix
        elif nodeName_ == 'PATH':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PATH')
            value_ = self.gds_validate_string(value_, node, 'PATH')
            self.PATH = value_
            self.PATH_nsprefix_ = child_.prefix
        elif nodeName_ == 'FSTYPE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'FSTYPE')
            value_ = self.gds_validate_string(value_, node, 'FSTYPE')
            self.FSTYPE = value_
            self.FSTYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'SIZE')
            self.SIZE = ival_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'STATE')
            self.STATE = ival_
            self.STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RUNNING_VMS')
            ival_ = self.gds_validate_integer(ival_, node, 'RUNNING_VMS')
            self.RUNNING_VMS = ival_
            self.RUNNING_VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'CLONING_OPS' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'CLONING_OPS')
            ival_ = self.gds_validate_integer(ival_, node, 'CLONING_OPS')
            self.CLONING_OPS = ival_
            self.CLONING_OPS_nsprefix_ = child_.prefix
        elif nodeName_ == 'CLONING_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'CLONING_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'CLONING_ID')
            self.CLONING_ID = ival_
            self.CLONING_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'TARGET_SNAPSHOT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TARGET_SNAPSHOT')
            ival_ = self.gds_validate_integer(ival_, node, 'TARGET_SNAPSHOT')
            self.TARGET_SNAPSHOT = ival_
            self.TARGET_SNAPSHOT_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATASTORE_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DATASTORE_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'DATASTORE_ID')
            self.DATASTORE_ID = ival_
            self.DATASTORE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATASTORE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DATASTORE')
            value_ = self.gds_validate_string(value_, node, 'DATASTORE')
            self.DATASTORE = value_
            self.DATASTORE_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS':
            obj_ = VMSType33.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VMS = obj_
            obj_.original_tagname_ = 'VMS'
        elif nodeName_ == 'CLONES':
            obj_ = CLONESType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.CLONES = obj_
            obj_.original_tagname_ = 'CLONES'
        elif nodeName_ == 'APP_CLONES':
            obj_ = APP_CLONESType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.APP_CLONES = obj_
            obj_.original_tagname_ = 'APP_CLONES'
        elif nodeName_ == 'TEMPLATE':
            obj_ = TEMPLATEType34.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
        elif nodeName_ == 'SNAPSHOTS':
            obj_ = SNAPSHOTSType35.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SNAPSHOTS = obj_
            obj_.original_tagname_ = 'SNAPSHOTS'
# end class IMAGE


class MARKETPLACEAPP_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, MARKETPLACEAPP=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if MARKETPLACEAPP is None:
            self.MARKETPLACEAPP = []
        else:
            self.MARKETPLACEAPP = MARKETPLACEAPP
        self.MARKETPLACEAPP_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, MARKETPLACEAPP_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if MARKETPLACEAPP_POOL.subclass:
            return MARKETPLACEAPP_POOL.subclass(*args_, **kwargs_)
        else:
            return MARKETPLACEAPP_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_MARKETPLACEAPP(self):
        return self.MARKETPLACEAPP
    def set_MARKETPLACEAPP(self, MARKETPLACEAPP):
        self.MARKETPLACEAPP = MARKETPLACEAPP
    def add_MARKETPLACEAPP(self, value):
        self.MARKETPLACEAPP.append(value)
    def insert_MARKETPLACEAPP_at(self, index, value):
        self.MARKETPLACEAPP.insert(index, value)
    def replace_MARKETPLACEAPP_at(self, index, value):
        self.MARKETPLACEAPP[index] = value
    def hasContent_(self):
        if (
            self.MARKETPLACEAPP
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MARKETPLACEAPP_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('MARKETPLACEAPP_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'MARKETPLACEAPP_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MARKETPLACEAPP_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MARKETPLACEAPP_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MARKETPLACEAPP_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MARKETPLACEAPP_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for MARKETPLACEAPP_ in self.MARKETPLACEAPP:
            namespaceprefix_ = self.MARKETPLACEAPP_nsprefix_ + ':' if (UseCapturedNS_ and self.MARKETPLACEAPP_nsprefix_) else ''
            MARKETPLACEAPP_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MARKETPLACEAPP', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'MARKETPLACEAPP':
            obj_ = MARKETPLACEAPP.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.MARKETPLACEAPP.append(obj_)
            obj_.original_tagname_ = 'MARKETPLACEAPP'
# end class MARKETPLACEAPP_POOL


class MARKETPLACEAPP(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, LOCK=None, REGTIME=None, NAME=None, ZONE_ID=None, ORIGIN_ID=None, SOURCE=None, MD5=None, SIZE=None, DESCRIPTION=None, VERSION=None, FORMAT=None, APPTEMPLATE64=None, MARKETPLACE_ID=None, MARKETPLACE=None, STATE=None, TYPE=None, PERMISSIONS=None, TEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.LOCK = LOCK
        self.LOCK_nsprefix_ = None
        self.REGTIME = REGTIME
        self.REGTIME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.ZONE_ID = ZONE_ID
        self.ZONE_ID_nsprefix_ = None
        self.ORIGIN_ID = ORIGIN_ID
        self.ORIGIN_ID_nsprefix_ = None
        self.SOURCE = SOURCE
        self.SOURCE_nsprefix_ = None
        self.MD5 = MD5
        self.MD5_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.DESCRIPTION = DESCRIPTION
        self.DESCRIPTION_nsprefix_ = None
        self.VERSION = VERSION
        self.VERSION_nsprefix_ = None
        self.FORMAT = FORMAT
        self.FORMAT_nsprefix_ = None
        self.APPTEMPLATE64 = APPTEMPLATE64
        self.APPTEMPLATE64_nsprefix_ = None
        self.MARKETPLACE_ID = MARKETPLACE_ID
        self.MARKETPLACE_ID_nsprefix_ = None
        self.MARKETPLACE = MARKETPLACE
        self.MARKETPLACE_nsprefix_ = None
        self.STATE = STATE
        self.STATE_nsprefix_ = None
        self.TYPE = TYPE
        self.TYPE_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, MARKETPLACEAPP)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if MARKETPLACEAPP.subclass:
            return MARKETPLACEAPP.subclass(*args_, **kwargs_)
        else:
            return MARKETPLACEAPP(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_LOCK(self):
        return self.LOCK
    def set_LOCK(self, LOCK):
        self.LOCK = LOCK
    def get_REGTIME(self):
        return self.REGTIME
    def set_REGTIME(self, REGTIME):
        self.REGTIME = REGTIME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_ZONE_ID(self):
        return self.ZONE_ID
    def set_ZONE_ID(self, ZONE_ID):
        self.ZONE_ID = ZONE_ID
    def get_ORIGIN_ID(self):
        return self.ORIGIN_ID
    def set_ORIGIN_ID(self, ORIGIN_ID):
        self.ORIGIN_ID = ORIGIN_ID
    def get_SOURCE(self):
        return self.SOURCE
    def set_SOURCE(self, SOURCE):
        self.SOURCE = SOURCE
    def get_MD5(self):
        return self.MD5
    def set_MD5(self, MD5):
        self.MD5 = MD5
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_DESCRIPTION(self):
        return self.DESCRIPTION
    def set_DESCRIPTION(self, DESCRIPTION):
        self.DESCRIPTION = DESCRIPTION
    def get_VERSION(self):
        return self.VERSION
    def set_VERSION(self, VERSION):
        self.VERSION = VERSION
    def get_FORMAT(self):
        return self.FORMAT
    def set_FORMAT(self, FORMAT):
        self.FORMAT = FORMAT
    def get_APPTEMPLATE64(self):
        return self.APPTEMPLATE64
    def set_APPTEMPLATE64(self, APPTEMPLATE64):
        self.APPTEMPLATE64 = APPTEMPLATE64
    def get_MARKETPLACE_ID(self):
        return self.MARKETPLACE_ID
    def set_MARKETPLACE_ID(self, MARKETPLACE_ID):
        self.MARKETPLACE_ID = MARKETPLACE_ID
    def get_MARKETPLACE(self):
        return self.MARKETPLACE
    def set_MARKETPLACE(self, MARKETPLACE):
        self.MARKETPLACE = MARKETPLACE
    def get_STATE(self):
        return self.STATE
    def set_STATE(self, STATE):
        self.STATE = STATE
    def get_TYPE(self):
        return self.TYPE
    def set_TYPE(self, TYPE):
        self.TYPE = TYPE
    def get_PERMISSIONS(self):
        return self.PERMISSIONS
    def set_PERMISSIONS(self, PERMISSIONS):
        self.PERMISSIONS = PERMISSIONS
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.LOCK is not None or
            self.REGTIME is not None or
            self.NAME is not None or
            self.ZONE_ID is not None or
            self.ORIGIN_ID is not None or
            self.SOURCE is not None or
            self.MD5 is not None or
            self.SIZE is not None or
            self.DESCRIPTION is not None or
            self.VERSION is not None or
            self.FORMAT is not None or
            self.APPTEMPLATE64 is not None or
            self.MARKETPLACE_ID is not None or
            self.MARKETPLACE is not None or
            self.STATE is not None or
            self.TYPE is not None or
            self.PERMISSIONS is not None or
            self.TEMPLATE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MARKETPLACEAPP', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('MARKETPLACEAPP')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'MARKETPLACEAPP':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MARKETPLACEAPP')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MARKETPLACEAPP', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MARKETPLACEAPP'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MARKETPLACEAPP', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.LOCK is not None:
            namespaceprefix_ = self.LOCK_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCK_nsprefix_) else ''
            self.LOCK.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LOCK', pretty_print=pretty_print)
        if self.REGTIME is not None:
            namespaceprefix_ = self.REGTIME_nsprefix_ + ':' if (UseCapturedNS_ and self.REGTIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREGTIME>%s</%sREGTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.REGTIME, input_name='REGTIME'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.ZONE_ID is not None:
            namespaceprefix_ = self.ZONE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ZONE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sZONE_ID>%s</%sZONE_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ZONE_ID), input_name='ZONE_ID')), namespaceprefix_ , eol_))
        if self.ORIGIN_ID is not None:
            namespaceprefix_ = self.ORIGIN_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ORIGIN_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sORIGIN_ID>%s</%sORIGIN_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ORIGIN_ID), input_name='ORIGIN_ID')), namespaceprefix_ , eol_))
        if self.SOURCE is not None:
            namespaceprefix_ = self.SOURCE_nsprefix_ + ':' if (UseCapturedNS_ and self.SOURCE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSOURCE>%s</%sSOURCE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SOURCE), input_name='SOURCE')), namespaceprefix_ , eol_))
        if self.MD5 is not None:
            namespaceprefix_ = self.MD5_nsprefix_ + ':' if (UseCapturedNS_ and self.MD5_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMD5>%s</%sMD5>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MD5), input_name='MD5')), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.SIZE, input_name='SIZE'), namespaceprefix_ , eol_))
        if self.DESCRIPTION is not None:
            namespaceprefix_ = self.DESCRIPTION_nsprefix_ + ':' if (UseCapturedNS_ and self.DESCRIPTION_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDESCRIPTION>%s</%sDESCRIPTION>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.DESCRIPTION), input_name='DESCRIPTION')), namespaceprefix_ , eol_))
        if self.VERSION is not None:
            namespaceprefix_ = self.VERSION_nsprefix_ + ':' if (UseCapturedNS_ and self.VERSION_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVERSION>%s</%sVERSION>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VERSION), input_name='VERSION')), namespaceprefix_ , eol_))
        if self.FORMAT is not None:
            namespaceprefix_ = self.FORMAT_nsprefix_ + ':' if (UseCapturedNS_ and self.FORMAT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFORMAT>%s</%sFORMAT>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.FORMAT), input_name='FORMAT')), namespaceprefix_ , eol_))
        if self.APPTEMPLATE64 is not None:
            namespaceprefix_ = self.APPTEMPLATE64_nsprefix_ + ':' if (UseCapturedNS_ and self.APPTEMPLATE64_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sAPPTEMPLATE64>%s</%sAPPTEMPLATE64>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.APPTEMPLATE64), input_name='APPTEMPLATE64')), namespaceprefix_ , eol_))
        if self.MARKETPLACE_ID is not None:
            namespaceprefix_ = self.MARKETPLACE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.MARKETPLACE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMARKETPLACE_ID>%s</%sMARKETPLACE_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.MARKETPLACE_ID, input_name='MARKETPLACE_ID'), namespaceprefix_ , eol_))
        if self.MARKETPLACE is not None:
            namespaceprefix_ = self.MARKETPLACE_nsprefix_ + ':' if (UseCapturedNS_ and self.MARKETPLACE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMARKETPLACE>%s</%sMARKETPLACE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MARKETPLACE), input_name='MARKETPLACE')), namespaceprefix_ , eol_))
        if self.STATE is not None:
            namespaceprefix_ = self.STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTATE>%s</%sSTATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.STATE, input_name='STATE'), namespaceprefix_ , eol_))
        if self.TYPE is not None:
            namespaceprefix_ = self.TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTYPE>%s</%sTYPE>%s' % (namespaceprefix_ , self.gds_format_integer(self.TYPE, input_name='TYPE'), namespaceprefix_ , eol_))
        if self.PERMISSIONS is not None:
            namespaceprefix_ = self.PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.PERMISSIONS_nsprefix_) else ''
            self.PERMISSIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PERMISSIONS', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTEMPLATE>%s</%sTEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TEMPLATE), input_name='TEMPLATE')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'LOCK':
            obj_ = LOCKType37.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOCK = obj_
            obj_.original_tagname_ = 'LOCK'
        elif nodeName_ == 'REGTIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REGTIME')
            ival_ = self.gds_validate_integer(ival_, node, 'REGTIME')
            self.REGTIME = ival_
            self.REGTIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'ZONE_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ZONE_ID')
            value_ = self.gds_validate_string(value_, node, 'ZONE_ID')
            self.ZONE_ID = value_
            self.ZONE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'ORIGIN_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ORIGIN_ID')
            value_ = self.gds_validate_string(value_, node, 'ORIGIN_ID')
            self.ORIGIN_ID = value_
            self.ORIGIN_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'SOURCE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SOURCE')
            value_ = self.gds_validate_string(value_, node, 'SOURCE')
            self.SOURCE = value_
            self.SOURCE_nsprefix_ = child_.prefix
        elif nodeName_ == 'MD5':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MD5')
            value_ = self.gds_validate_string(value_, node, 'MD5')
            self.MD5 = value_
            self.MD5_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'SIZE')
            self.SIZE = ival_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'DESCRIPTION':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DESCRIPTION')
            value_ = self.gds_validate_string(value_, node, 'DESCRIPTION')
            self.DESCRIPTION = value_
            self.DESCRIPTION_nsprefix_ = child_.prefix
        elif nodeName_ == 'VERSION':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VERSION')
            value_ = self.gds_validate_string(value_, node, 'VERSION')
            self.VERSION = value_
            self.VERSION_nsprefix_ = child_.prefix
        elif nodeName_ == 'FORMAT':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'FORMAT')
            value_ = self.gds_validate_string(value_, node, 'FORMAT')
            self.FORMAT = value_
            self.FORMAT_nsprefix_ = child_.prefix
        elif nodeName_ == 'APPTEMPLATE64':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'APPTEMPLATE64')
            value_ = self.gds_validate_string(value_, node, 'APPTEMPLATE64')
            self.APPTEMPLATE64 = value_
            self.APPTEMPLATE64_nsprefix_ = child_.prefix
        elif nodeName_ == 'MARKETPLACE_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MARKETPLACE_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'MARKETPLACE_ID')
            self.MARKETPLACE_ID = ival_
            self.MARKETPLACE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'MARKETPLACE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MARKETPLACE')
            value_ = self.gds_validate_string(value_, node, 'MARKETPLACE')
            self.MARKETPLACE = value_
            self.MARKETPLACE_nsprefix_ = child_.prefix
        elif nodeName_ == 'STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'STATE')
            self.STATE = ival_
            self.STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'TYPE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TYPE')
            ival_ = self.gds_validate_integer(ival_, node, 'TYPE')
            self.TYPE = ival_
            self.TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType38.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'TEMPLATE')
            self.TEMPLATE = value_
            self.TEMPLATE_nsprefix_ = child_.prefix
# end class MARKETPLACEAPP


class MARKETPLACE_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, MARKETPLACE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if MARKETPLACE is None:
            self.MARKETPLACE = []
        else:
            self.MARKETPLACE = MARKETPLACE
        self.MARKETPLACE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, MARKETPLACE_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if MARKETPLACE_POOL.subclass:
            return MARKETPLACE_POOL.subclass(*args_, **kwargs_)
        else:
            return MARKETPLACE_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_MARKETPLACE(self):
        return self.MARKETPLACE
    def set_MARKETPLACE(self, MARKETPLACE):
        self.MARKETPLACE = MARKETPLACE
    def add_MARKETPLACE(self, value):
        self.MARKETPLACE.append(value)
    def insert_MARKETPLACE_at(self, index, value):
        self.MARKETPLACE.insert(index, value)
    def replace_MARKETPLACE_at(self, index, value):
        self.MARKETPLACE[index] = value
    def hasContent_(self):
        if (
            self.MARKETPLACE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MARKETPLACE_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('MARKETPLACE_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'MARKETPLACE_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MARKETPLACE_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MARKETPLACE_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MARKETPLACE_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MARKETPLACE_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for MARKETPLACE_ in self.MARKETPLACE:
            namespaceprefix_ = self.MARKETPLACE_nsprefix_ + ':' if (UseCapturedNS_ and self.MARKETPLACE_nsprefix_) else ''
            MARKETPLACE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MARKETPLACE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'MARKETPLACE':
            obj_ = MARKETPLACE.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.MARKETPLACE.append(obj_)
            obj_.original_tagname_ = 'MARKETPLACE'
# end class MARKETPLACE_POOL


class MARKETPLACE(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, MARKET_MAD=None, ZONE_ID=None, TOTAL_MB=None, FREE_MB=None, USED_MB=None, MARKETPLACEAPPS=None, PERMISSIONS=None, TEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.MARKET_MAD = MARKET_MAD
        self.MARKET_MAD_nsprefix_ = None
        self.ZONE_ID = ZONE_ID
        self.ZONE_ID_nsprefix_ = None
        self.TOTAL_MB = TOTAL_MB
        self.TOTAL_MB_nsprefix_ = None
        self.FREE_MB = FREE_MB
        self.FREE_MB_nsprefix_ = None
        self.USED_MB = USED_MB
        self.USED_MB_nsprefix_ = None
        self.MARKETPLACEAPPS = MARKETPLACEAPPS
        self.MARKETPLACEAPPS_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, MARKETPLACE)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if MARKETPLACE.subclass:
            return MARKETPLACE.subclass(*args_, **kwargs_)
        else:
            return MARKETPLACE(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_MARKET_MAD(self):
        return self.MARKET_MAD
    def set_MARKET_MAD(self, MARKET_MAD):
        self.MARKET_MAD = MARKET_MAD
    def get_ZONE_ID(self):
        return self.ZONE_ID
    def set_ZONE_ID(self, ZONE_ID):
        self.ZONE_ID = ZONE_ID
    def get_TOTAL_MB(self):
        return self.TOTAL_MB
    def set_TOTAL_MB(self, TOTAL_MB):
        self.TOTAL_MB = TOTAL_MB
    def get_FREE_MB(self):
        return self.FREE_MB
    def set_FREE_MB(self, FREE_MB):
        self.FREE_MB = FREE_MB
    def get_USED_MB(self):
        return self.USED_MB
    def set_USED_MB(self, USED_MB):
        self.USED_MB = USED_MB
    def get_MARKETPLACEAPPS(self):
        return self.MARKETPLACEAPPS
    def set_MARKETPLACEAPPS(self, MARKETPLACEAPPS):
        self.MARKETPLACEAPPS = MARKETPLACEAPPS
    def get_PERMISSIONS(self):
        return self.PERMISSIONS
    def set_PERMISSIONS(self, PERMISSIONS):
        self.PERMISSIONS = PERMISSIONS
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.MARKET_MAD is not None or
            self.ZONE_ID is not None or
            self.TOTAL_MB is not None or
            self.FREE_MB is not None or
            self.USED_MB is not None or
            self.MARKETPLACEAPPS is not None or
            self.PERMISSIONS is not None or
            self.TEMPLATE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MARKETPLACE', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('MARKETPLACE')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'MARKETPLACE':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MARKETPLACE')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MARKETPLACE', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MARKETPLACE'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MARKETPLACE', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.MARKET_MAD is not None:
            namespaceprefix_ = self.MARKET_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.MARKET_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMARKET_MAD>%s</%sMARKET_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MARKET_MAD), input_name='MARKET_MAD')), namespaceprefix_ , eol_))
        if self.ZONE_ID is not None:
            namespaceprefix_ = self.ZONE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ZONE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sZONE_ID>%s</%sZONE_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ZONE_ID), input_name='ZONE_ID')), namespaceprefix_ , eol_))
        if self.TOTAL_MB is not None:
            namespaceprefix_ = self.TOTAL_MB_nsprefix_ + ':' if (UseCapturedNS_ and self.TOTAL_MB_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTOTAL_MB>%s</%sTOTAL_MB>%s' % (namespaceprefix_ , self.gds_format_integer(self.TOTAL_MB, input_name='TOTAL_MB'), namespaceprefix_ , eol_))
        if self.FREE_MB is not None:
            namespaceprefix_ = self.FREE_MB_nsprefix_ + ':' if (UseCapturedNS_ and self.FREE_MB_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFREE_MB>%s</%sFREE_MB>%s' % (namespaceprefix_ , self.gds_format_integer(self.FREE_MB, input_name='FREE_MB'), namespaceprefix_ , eol_))
        if self.USED_MB is not None:
            namespaceprefix_ = self.USED_MB_nsprefix_ + ':' if (UseCapturedNS_ and self.USED_MB_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSED_MB>%s</%sUSED_MB>%s' % (namespaceprefix_ , self.gds_format_integer(self.USED_MB, input_name='USED_MB'), namespaceprefix_ , eol_))
        if self.MARKETPLACEAPPS is not None:
            namespaceprefix_ = self.MARKETPLACEAPPS_nsprefix_ + ':' if (UseCapturedNS_ and self.MARKETPLACEAPPS_nsprefix_) else ''
            self.MARKETPLACEAPPS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MARKETPLACEAPPS', pretty_print=pretty_print)
        if self.PERMISSIONS is not None:
            namespaceprefix_ = self.PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.PERMISSIONS_nsprefix_) else ''
            self.PERMISSIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PERMISSIONS', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTEMPLATE>%s</%sTEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TEMPLATE), input_name='TEMPLATE')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'MARKET_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MARKET_MAD')
            value_ = self.gds_validate_string(value_, node, 'MARKET_MAD')
            self.MARKET_MAD = value_
            self.MARKET_MAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'ZONE_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ZONE_ID')
            value_ = self.gds_validate_string(value_, node, 'ZONE_ID')
            self.ZONE_ID = value_
            self.ZONE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'TOTAL_MB' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TOTAL_MB')
            ival_ = self.gds_validate_integer(ival_, node, 'TOTAL_MB')
            self.TOTAL_MB = ival_
            self.TOTAL_MB_nsprefix_ = child_.prefix
        elif nodeName_ == 'FREE_MB' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'FREE_MB')
            ival_ = self.gds_validate_integer(ival_, node, 'FREE_MB')
            self.FREE_MB = ival_
            self.FREE_MB_nsprefix_ = child_.prefix
        elif nodeName_ == 'USED_MB' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'USED_MB')
            ival_ = self.gds_validate_integer(ival_, node, 'USED_MB')
            self.USED_MB = ival_
            self.USED_MB_nsprefix_ = child_.prefix
        elif nodeName_ == 'MARKETPLACEAPPS':
            obj_ = MARKETPLACEAPPSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.MARKETPLACEAPPS = obj_
            obj_.original_tagname_ = 'MARKETPLACEAPPS'
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType39.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'TEMPLATE')
            self.TEMPLATE = value_
            self.TEMPLATE_nsprefix_ = child_.prefix
# end class MARKETPLACE


class USER_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, USER=None, QUOTAS=None, DEFAULT_USER_QUOTAS=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if USER is None:
            self.USER = []
        else:
            self.USER = USER
        self.USER_nsprefix_ = None
        if QUOTAS is None:
            self.QUOTAS = []
        else:
            self.QUOTAS = QUOTAS
        self.QUOTAS_nsprefix_ = None
        self.DEFAULT_USER_QUOTAS = DEFAULT_USER_QUOTAS
        self.DEFAULT_USER_QUOTAS_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, USER_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if USER_POOL.subclass:
            return USER_POOL.subclass(*args_, **kwargs_)
        else:
            return USER_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_USER(self):
        return self.USER
    def set_USER(self, USER):
        self.USER = USER
    def add_USER(self, value):
        self.USER.append(value)
    def insert_USER_at(self, index, value):
        self.USER.insert(index, value)
    def replace_USER_at(self, index, value):
        self.USER[index] = value
    def get_QUOTAS(self):
        return self.QUOTAS
    def set_QUOTAS(self, QUOTAS):
        self.QUOTAS = QUOTAS
    def add_QUOTAS(self, value):
        self.QUOTAS.append(value)
    def insert_QUOTAS_at(self, index, value):
        self.QUOTAS.insert(index, value)
    def replace_QUOTAS_at(self, index, value):
        self.QUOTAS[index] = value
    def get_DEFAULT_USER_QUOTAS(self):
        return self.DEFAULT_USER_QUOTAS
    def set_DEFAULT_USER_QUOTAS(self, DEFAULT_USER_QUOTAS):
        self.DEFAULT_USER_QUOTAS = DEFAULT_USER_QUOTAS
    def hasContent_(self):
        if (
            self.USER or
            self.QUOTAS or
            self.DEFAULT_USER_QUOTAS is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USER_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('USER_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'USER_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='USER_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='USER_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='USER_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USER_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for USER_ in self.USER:
            namespaceprefix_ = self.USER_nsprefix_ + ':' if (UseCapturedNS_ and self.USER_nsprefix_) else ''
            USER_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='USER', pretty_print=pretty_print)
        for QUOTAS_ in self.QUOTAS:
            namespaceprefix_ = self.QUOTAS_nsprefix_ + ':' if (UseCapturedNS_ and self.QUOTAS_nsprefix_) else ''
            QUOTAS_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='QUOTAS', pretty_print=pretty_print)
        if self.DEFAULT_USER_QUOTAS is not None:
            namespaceprefix_ = self.DEFAULT_USER_QUOTAS_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_USER_QUOTAS_nsprefix_) else ''
            self.DEFAULT_USER_QUOTAS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DEFAULT_USER_QUOTAS', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'USER':
            obj_ = USERType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.USER.append(obj_)
            obj_.original_tagname_ = 'USER'
        elif nodeName_ == 'QUOTAS':
            obj_ = QUOTASType40.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.QUOTAS.append(obj_)
            obj_.original_tagname_ = 'QUOTAS'
        elif nodeName_ == 'DEFAULT_USER_QUOTAS':
            obj_ = DEFAULT_USER_QUOTASType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DEFAULT_USER_QUOTAS = obj_
            obj_.original_tagname_ = 'DEFAULT_USER_QUOTAS'
# end class USER_POOL


class USER(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, GID=None, GROUPS=None, GNAME=None, NAME=None, PASSWORD=None, AUTH_DRIVER=None, ENABLED=None, LOGIN_TOKEN=None, TEMPLATE=None, DATASTORE_QUOTA=None, NETWORK_QUOTA=None, VM_QUOTA=None, IMAGE_QUOTA=None, DEFAULT_USER_QUOTAS=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.GROUPS = GROUPS
        self.GROUPS_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.PASSWORD = PASSWORD
        self.PASSWORD_nsprefix_ = None
        self.AUTH_DRIVER = AUTH_DRIVER
        self.AUTH_DRIVER_nsprefix_ = None
        self.ENABLED = ENABLED
        self.ENABLED_nsprefix_ = None
        if LOGIN_TOKEN is None:
            self.LOGIN_TOKEN = []
        else:
            self.LOGIN_TOKEN = LOGIN_TOKEN
        self.LOGIN_TOKEN_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
        self.DATASTORE_QUOTA_nsprefix_ = None
        self.NETWORK_QUOTA = NETWORK_QUOTA
        self.NETWORK_QUOTA_nsprefix_ = None
        self.VM_QUOTA = VM_QUOTA
        self.VM_QUOTA_nsprefix_ = None
        self.IMAGE_QUOTA = IMAGE_QUOTA
        self.IMAGE_QUOTA_nsprefix_ = None
        self.DEFAULT_USER_QUOTAS = DEFAULT_USER_QUOTAS
        self.DEFAULT_USER_QUOTAS_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, USER)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if USER.subclass:
            return USER.subclass(*args_, **kwargs_)
        else:
            return USER(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_GROUPS(self):
        return self.GROUPS
    def set_GROUPS(self, GROUPS):
        self.GROUPS = GROUPS
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_PASSWORD(self):
        return self.PASSWORD
    def set_PASSWORD(self, PASSWORD):
        self.PASSWORD = PASSWORD
    def get_AUTH_DRIVER(self):
        return self.AUTH_DRIVER
    def set_AUTH_DRIVER(self, AUTH_DRIVER):
        self.AUTH_DRIVER = AUTH_DRIVER
    def get_ENABLED(self):
        return self.ENABLED
    def set_ENABLED(self, ENABLED):
        self.ENABLED = ENABLED
    def get_LOGIN_TOKEN(self):
        return self.LOGIN_TOKEN
    def set_LOGIN_TOKEN(self, LOGIN_TOKEN):
        self.LOGIN_TOKEN = LOGIN_TOKEN
    def add_LOGIN_TOKEN(self, value):
        self.LOGIN_TOKEN.append(value)
    def insert_LOGIN_TOKEN_at(self, index, value):
        self.LOGIN_TOKEN.insert(index, value)
    def replace_LOGIN_TOKEN_at(self, index, value):
        self.LOGIN_TOKEN[index] = value
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def get_DATASTORE_QUOTA(self):
        return self.DATASTORE_QUOTA
    def set_DATASTORE_QUOTA(self, DATASTORE_QUOTA):
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
    def get_NETWORK_QUOTA(self):
        return self.NETWORK_QUOTA
    def set_NETWORK_QUOTA(self, NETWORK_QUOTA):
        self.NETWORK_QUOTA = NETWORK_QUOTA
    def get_VM_QUOTA(self):
        return self.VM_QUOTA
    def set_VM_QUOTA(self, VM_QUOTA):
        self.VM_QUOTA = VM_QUOTA
    def get_IMAGE_QUOTA(self):
        return self.IMAGE_QUOTA
    def set_IMAGE_QUOTA(self, IMAGE_QUOTA):
        self.IMAGE_QUOTA = IMAGE_QUOTA
    def get_DEFAULT_USER_QUOTAS(self):
        return self.DEFAULT_USER_QUOTAS
    def set_DEFAULT_USER_QUOTAS(self, DEFAULT_USER_QUOTAS):
        self.DEFAULT_USER_QUOTAS = DEFAULT_USER_QUOTAS
    def hasContent_(self):
        if (
            self.ID is not None or
            self.GID is not None or
            self.GROUPS is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.PASSWORD is not None or
            self.AUTH_DRIVER is not None or
            self.ENABLED is not None or
            self.LOGIN_TOKEN or
            self.TEMPLATE is not None or
            self.DATASTORE_QUOTA is not None or
            self.NETWORK_QUOTA is not None or
            self.VM_QUOTA is not None or
            self.IMAGE_QUOTA is not None or
            self.DEFAULT_USER_QUOTAS is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USER', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('USER')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'USER':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='USER')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='USER', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='USER'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USER', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.GROUPS is not None:
            namespaceprefix_ = self.GROUPS_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUPS_nsprefix_) else ''
            self.GROUPS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GROUPS', pretty_print=pretty_print)
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.PASSWORD is not None:
            namespaceprefix_ = self.PASSWORD_nsprefix_ + ':' if (UseCapturedNS_ and self.PASSWORD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPASSWORD>%s</%sPASSWORD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PASSWORD), input_name='PASSWORD')), namespaceprefix_ , eol_))
        if self.AUTH_DRIVER is not None:
            namespaceprefix_ = self.AUTH_DRIVER_nsprefix_ + ':' if (UseCapturedNS_ and self.AUTH_DRIVER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sAUTH_DRIVER>%s</%sAUTH_DRIVER>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AUTH_DRIVER), input_name='AUTH_DRIVER')), namespaceprefix_ , eol_))
        if self.ENABLED is not None:
            namespaceprefix_ = self.ENABLED_nsprefix_ + ':' if (UseCapturedNS_ and self.ENABLED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sENABLED>%s</%sENABLED>%s' % (namespaceprefix_ , self.gds_format_integer(self.ENABLED, input_name='ENABLED'), namespaceprefix_ , eol_))
        for LOGIN_TOKEN_ in self.LOGIN_TOKEN:
            namespaceprefix_ = self.LOGIN_TOKEN_nsprefix_ + ':' if (UseCapturedNS_ and self.LOGIN_TOKEN_nsprefix_) else ''
            LOGIN_TOKEN_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LOGIN_TOKEN', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTEMPLATE>%s</%sTEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TEMPLATE), input_name='TEMPLATE')), namespaceprefix_ , eol_))
        if self.DATASTORE_QUOTA is not None:
            namespaceprefix_ = self.DATASTORE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_QUOTA_nsprefix_) else ''
            self.DATASTORE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE_QUOTA', pretty_print=pretty_print)
        if self.NETWORK_QUOTA is not None:
            namespaceprefix_ = self.NETWORK_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_QUOTA_nsprefix_) else ''
            self.NETWORK_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK_QUOTA', pretty_print=pretty_print)
        if self.VM_QUOTA is not None:
            namespaceprefix_ = self.VM_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_QUOTA_nsprefix_) else ''
            self.VM_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM_QUOTA', pretty_print=pretty_print)
        if self.IMAGE_QUOTA is not None:
            namespaceprefix_ = self.IMAGE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_QUOTA_nsprefix_) else ''
            self.IMAGE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE_QUOTA', pretty_print=pretty_print)
        if self.DEFAULT_USER_QUOTAS is not None:
            namespaceprefix_ = self.DEFAULT_USER_QUOTAS_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_USER_QUOTAS_nsprefix_) else ''
            self.DEFAULT_USER_QUOTAS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DEFAULT_USER_QUOTAS', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUPS':
            obj_ = GROUPSType57.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.GROUPS = obj_
            obj_.original_tagname_ = 'GROUPS'
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PASSWORD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PASSWORD')
            value_ = self.gds_validate_string(value_, node, 'PASSWORD')
            self.PASSWORD = value_
            self.PASSWORD_nsprefix_ = child_.prefix
        elif nodeName_ == 'AUTH_DRIVER':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'AUTH_DRIVER')
            value_ = self.gds_validate_string(value_, node, 'AUTH_DRIVER')
            self.AUTH_DRIVER = value_
            self.AUTH_DRIVER_nsprefix_ = child_.prefix
        elif nodeName_ == 'ENABLED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ENABLED')
            ival_ = self.gds_validate_integer(ival_, node, 'ENABLED')
            self.ENABLED = ival_
            self.ENABLED_nsprefix_ = child_.prefix
        elif nodeName_ == 'LOGIN_TOKEN':
            obj_ = LOGIN_TOKENType58.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOGIN_TOKEN.append(obj_)
            obj_.original_tagname_ = 'LOGIN_TOKEN'
        elif nodeName_ == 'TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'TEMPLATE')
            self.TEMPLATE = value_
            self.TEMPLATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATASTORE_QUOTA':
            obj_ = DATASTORE_QUOTAType59.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE_QUOTA = obj_
            obj_.original_tagname_ = 'DATASTORE_QUOTA'
        elif nodeName_ == 'NETWORK_QUOTA':
            obj_ = NETWORK_QUOTAType61.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK_QUOTA = obj_
            obj_.original_tagname_ = 'NETWORK_QUOTA'
        elif nodeName_ == 'VM_QUOTA':
            obj_ = VM_QUOTAType63.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM_QUOTA = obj_
            obj_.original_tagname_ = 'VM_QUOTA'
        elif nodeName_ == 'IMAGE_QUOTA':
            obj_ = IMAGE_QUOTAType65.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE_QUOTA = obj_
            obj_.original_tagname_ = 'IMAGE_QUOTA'
        elif nodeName_ == 'DEFAULT_USER_QUOTAS':
            obj_ = DEFAULT_USER_QUOTASType67.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DEFAULT_USER_QUOTAS = obj_
            obj_.original_tagname_ = 'DEFAULT_USER_QUOTAS'
# end class USER


class VDC_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VDC=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if VDC is None:
            self.VDC = []
        else:
            self.VDC = VDC
        self.VDC_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VDC_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VDC_POOL.subclass:
            return VDC_POOL.subclass(*args_, **kwargs_)
        else:
            return VDC_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VDC(self):
        return self.VDC
    def set_VDC(self, VDC):
        self.VDC = VDC
    def add_VDC(self, value):
        self.VDC.append(value)
    def insert_VDC_at(self, index, value):
        self.VDC.insert(index, value)
    def replace_VDC_at(self, index, value):
        self.VDC[index] = value
    def hasContent_(self):
        if (
            self.VDC
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VDC_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VDC_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VDC_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VDC_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VDC_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VDC_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VDC_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for VDC_ in self.VDC:
            namespaceprefix_ = self.VDC_nsprefix_ + ':' if (UseCapturedNS_ and self.VDC_nsprefix_) else ''
            VDC_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VDC', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VDC':
            obj_ = VDC.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VDC.append(obj_)
            obj_.original_tagname_ = 'VDC'
# end class VDC_POOL


class VDC(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, NAME=None, GROUPS=None, CLUSTERS=None, HOSTS=None, DATASTORES=None, VNETS=None, TEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.GROUPS = GROUPS
        self.GROUPS_nsprefix_ = None
        self.CLUSTERS = CLUSTERS
        self.CLUSTERS_nsprefix_ = None
        self.HOSTS = HOSTS
        self.HOSTS_nsprefix_ = None
        self.DATASTORES = DATASTORES
        self.DATASTORES_nsprefix_ = None
        self.VNETS = VNETS
        self.VNETS_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VDC)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VDC.subclass:
            return VDC.subclass(*args_, **kwargs_)
        else:
            return VDC(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_GROUPS(self):
        return self.GROUPS
    def set_GROUPS(self, GROUPS):
        self.GROUPS = GROUPS
    def get_CLUSTERS(self):
        return self.CLUSTERS
    def set_CLUSTERS(self, CLUSTERS):
        self.CLUSTERS = CLUSTERS
    def get_HOSTS(self):
        return self.HOSTS
    def set_HOSTS(self, HOSTS):
        self.HOSTS = HOSTS
    def get_DATASTORES(self):
        return self.DATASTORES
    def set_DATASTORES(self, DATASTORES):
        self.DATASTORES = DATASTORES
    def get_VNETS(self):
        return self.VNETS
    def set_VNETS(self, VNETS):
        self.VNETS = VNETS
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def hasContent_(self):
        if (
            self.ID is not None or
            self.NAME is not None or
            self.GROUPS is not None or
            self.CLUSTERS is not None or
            self.HOSTS is not None or
            self.DATASTORES is not None or
            self.VNETS is not None or
            self.TEMPLATE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VDC', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VDC')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VDC':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VDC')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VDC', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VDC'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VDC', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.GROUPS is not None:
            namespaceprefix_ = self.GROUPS_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUPS_nsprefix_) else ''
            self.GROUPS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GROUPS', pretty_print=pretty_print)
        if self.CLUSTERS is not None:
            namespaceprefix_ = self.CLUSTERS_nsprefix_ + ':' if (UseCapturedNS_ and self.CLUSTERS_nsprefix_) else ''
            self.CLUSTERS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CLUSTERS', pretty_print=pretty_print)
        if self.HOSTS is not None:
            namespaceprefix_ = self.HOSTS_nsprefix_ + ':' if (UseCapturedNS_ and self.HOSTS_nsprefix_) else ''
            self.HOSTS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HOSTS', pretty_print=pretty_print)
        if self.DATASTORES is not None:
            namespaceprefix_ = self.DATASTORES_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORES_nsprefix_) else ''
            self.DATASTORES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORES', pretty_print=pretty_print)
        if self.VNETS is not None:
            namespaceprefix_ = self.VNETS_nsprefix_ + ':' if (UseCapturedNS_ and self.VNETS_nsprefix_) else ''
            self.VNETS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VNETS', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTEMPLATE>%s</%sTEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TEMPLATE), input_name='TEMPLATE')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUPS':
            obj_ = GROUPSType76.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.GROUPS = obj_
            obj_.original_tagname_ = 'GROUPS'
        elif nodeName_ == 'CLUSTERS':
            obj_ = CLUSTERSType77.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.CLUSTERS = obj_
            obj_.original_tagname_ = 'CLUSTERS'
        elif nodeName_ == 'HOSTS':
            obj_ = HOSTSType78.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HOSTS = obj_
            obj_.original_tagname_ = 'HOSTS'
        elif nodeName_ == 'DATASTORES':
            obj_ = DATASTORESType79.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORES = obj_
            obj_.original_tagname_ = 'DATASTORES'
        elif nodeName_ == 'VNETS':
            obj_ = VNETSType81.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VNETS = obj_
            obj_.original_tagname_ = 'VNETS'
        elif nodeName_ == 'TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'TEMPLATE')
            self.TEMPLATE = value_
            self.TEMPLATE_nsprefix_ = child_.prefix
# end class VDC


class VM_GROUP_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VM_GROUP=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if VM_GROUP is None:
            self.VM_GROUP = []
        else:
            self.VM_GROUP = VM_GROUP
        self.VM_GROUP_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VM_GROUP_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VM_GROUP_POOL.subclass:
            return VM_GROUP_POOL.subclass(*args_, **kwargs_)
        else:
            return VM_GROUP_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VM_GROUP(self):
        return self.VM_GROUP
    def set_VM_GROUP(self, VM_GROUP):
        self.VM_GROUP = VM_GROUP
    def add_VM_GROUP(self, value):
        self.VM_GROUP.append(value)
    def insert_VM_GROUP_at(self, index, value):
        self.VM_GROUP.insert(index, value)
    def replace_VM_GROUP_at(self, index, value):
        self.VM_GROUP[index] = value
    def hasContent_(self):
        if (
            self.VM_GROUP
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_GROUP_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VM_GROUP_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VM_GROUP_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VM_GROUP_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VM_GROUP_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VM_GROUP_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_GROUP_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for VM_GROUP_ in self.VM_GROUP:
            namespaceprefix_ = self.VM_GROUP_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_GROUP_nsprefix_) else ''
            VM_GROUP_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM_GROUP', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VM_GROUP':
            obj_ = VM_GROUP.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM_GROUP.append(obj_)
            obj_.original_tagname_ = 'VM_GROUP'
# end class VM_GROUP_POOL


class VM_GROUP(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, PERMISSIONS=None, LOCK=None, ROLES=None, TEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.LOCK = LOCK
        self.LOCK_nsprefix_ = None
        self.ROLES = ROLES
        self.ROLES_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VM_GROUP)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VM_GROUP.subclass:
            return VM_GROUP.subclass(*args_, **kwargs_)
        else:
            return VM_GROUP(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_PERMISSIONS(self):
        return self.PERMISSIONS
    def set_PERMISSIONS(self, PERMISSIONS):
        self.PERMISSIONS = PERMISSIONS
    def get_LOCK(self):
        return self.LOCK
    def set_LOCK(self, LOCK):
        self.LOCK = LOCK
    def get_ROLES(self):
        return self.ROLES
    def set_ROLES(self, ROLES):
        self.ROLES = ROLES
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.PERMISSIONS is not None or
            self.LOCK is not None or
            self.ROLES is not None or
            self.TEMPLATE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_GROUP', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VM_GROUP')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VM_GROUP':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VM_GROUP')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VM_GROUP', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VM_GROUP'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_GROUP', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.PERMISSIONS is not None:
            namespaceprefix_ = self.PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.PERMISSIONS_nsprefix_) else ''
            self.PERMISSIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PERMISSIONS', pretty_print=pretty_print)
        if self.LOCK is not None:
            namespaceprefix_ = self.LOCK_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCK_nsprefix_) else ''
            self.LOCK.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LOCK', pretty_print=pretty_print)
        if self.ROLES is not None:
            namespaceprefix_ = self.ROLES_nsprefix_ + ':' if (UseCapturedNS_ and self.ROLES_nsprefix_) else ''
            self.ROLES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ROLES', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTEMPLATE>%s</%sTEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TEMPLATE), input_name='TEMPLATE')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType82.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'LOCK':
            obj_ = LOCKType83.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOCK = obj_
            obj_.original_tagname_ = 'LOCK'
        elif nodeName_ == 'ROLES':
            obj_ = ROLESType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.ROLES = obj_
            obj_.original_tagname_ = 'ROLES'
        elif nodeName_ == 'TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'TEMPLATE')
            self.TEMPLATE = value_
            self.TEMPLATE_nsprefix_ = child_.prefix
# end class VM_GROUP


class VM_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VM=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if VM is None:
            self.VM = []
        else:
            self.VM = VM
        self.VM_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VM_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VM_POOL.subclass:
            return VM_POOL.subclass(*args_, **kwargs_)
        else:
            return VM_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VM(self):
        return self.VM
    def set_VM(self, VM):
        self.VM = VM
    def add_VM(self, value):
        self.VM.append(value)
    def insert_VM_at(self, index, value):
        self.VM.insert(index, value)
    def replace_VM_at(self, index, value):
        self.VM[index] = value
    def hasContent_(self):
        if (
            self.VM
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VM_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VM_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VM_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VM_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VM_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for VM_ in self.VM:
            namespaceprefix_ = self.VM_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_nsprefix_) else ''
            VM_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VM':
            obj_ = VMType84.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM.append(obj_)
            obj_.original_tagname_ = 'VM'
# end class VM_POOL


class VMTEMPLATE_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VMTEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if VMTEMPLATE is None:
            self.VMTEMPLATE = []
        else:
            self.VMTEMPLATE = VMTEMPLATE
        self.VMTEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMTEMPLATE_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMTEMPLATE_POOL.subclass:
            return VMTEMPLATE_POOL.subclass(*args_, **kwargs_)
        else:
            return VMTEMPLATE_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VMTEMPLATE(self):
        return self.VMTEMPLATE
    def set_VMTEMPLATE(self, VMTEMPLATE):
        self.VMTEMPLATE = VMTEMPLATE
    def add_VMTEMPLATE(self, value):
        self.VMTEMPLATE.append(value)
    def insert_VMTEMPLATE_at(self, index, value):
        self.VMTEMPLATE.insert(index, value)
    def replace_VMTEMPLATE_at(self, index, value):
        self.VMTEMPLATE[index] = value
    def hasContent_(self):
        if (
            self.VMTEMPLATE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMTEMPLATE_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMTEMPLATE_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMTEMPLATE_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMTEMPLATE_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMTEMPLATE_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMTEMPLATE_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMTEMPLATE_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for VMTEMPLATE_ in self.VMTEMPLATE:
            namespaceprefix_ = self.VMTEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.VMTEMPLATE_nsprefix_) else ''
            VMTEMPLATE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VMTEMPLATE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VMTEMPLATE':
            obj_ = VMTEMPLATE.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VMTEMPLATE.append(obj_)
            obj_.original_tagname_ = 'VMTEMPLATE'
# end class VMTEMPLATE_POOL


class VMTEMPLATE(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, LOCK=None, PERMISSIONS=None, REGTIME=None, TEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.LOCK = LOCK
        self.LOCK_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.REGTIME = REGTIME
        self.REGTIME_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMTEMPLATE)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMTEMPLATE.subclass:
            return VMTEMPLATE.subclass(*args_, **kwargs_)
        else:
            return VMTEMPLATE(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_LOCK(self):
        return self.LOCK
    def set_LOCK(self, LOCK):
        self.LOCK = LOCK
    def get_PERMISSIONS(self):
        return self.PERMISSIONS
    def set_PERMISSIONS(self, PERMISSIONS):
        self.PERMISSIONS = PERMISSIONS
    def get_REGTIME(self):
        return self.REGTIME
    def set_REGTIME(self, REGTIME):
        self.REGTIME = REGTIME
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.LOCK is not None or
            self.PERMISSIONS is not None or
            self.REGTIME is not None or
            self.TEMPLATE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMTEMPLATE', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMTEMPLATE')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMTEMPLATE':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMTEMPLATE')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMTEMPLATE', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMTEMPLATE'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMTEMPLATE', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.LOCK is not None:
            namespaceprefix_ = self.LOCK_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCK_nsprefix_) else ''
            self.LOCK.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LOCK', pretty_print=pretty_print)
        if self.PERMISSIONS is not None:
            namespaceprefix_ = self.PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.PERMISSIONS_nsprefix_) else ''
            self.PERMISSIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PERMISSIONS', pretty_print=pretty_print)
        if self.REGTIME is not None:
            namespaceprefix_ = self.REGTIME_nsprefix_ + ':' if (UseCapturedNS_ and self.REGTIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREGTIME>%s</%sREGTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.REGTIME, input_name='REGTIME'), namespaceprefix_ , eol_))
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            self.TEMPLATE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TEMPLATE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'LOCK':
            obj_ = LOCKType88.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOCK = obj_
            obj_.original_tagname_ = 'LOCK'
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType89.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'REGTIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REGTIME')
            ival_ = self.gds_validate_integer(ival_, node, 'REGTIME')
            self.REGTIME = ival_
            self.REGTIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'TEMPLATE':
            obj_ = TEMPLATEType90.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
# end class VMTEMPLATE


class VM(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, PERMISSIONS=None, LAST_POLL=None, STATE=None, LCM_STATE=None, PREV_STATE=None, PREV_LCM_STATE=None, RESCHED=None, STIME=None, ETIME=None, DEPLOY_ID=None, LOCK=None, MONITORING=None, TEMPLATE=None, USER_TEMPLATE=None, HISTORY_RECORDS=None, SNAPSHOTS=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.LAST_POLL = LAST_POLL
        self.LAST_POLL_nsprefix_ = None
        self.STATE = STATE
        self.STATE_nsprefix_ = None
        self.LCM_STATE = LCM_STATE
        self.LCM_STATE_nsprefix_ = None
        self.PREV_STATE = PREV_STATE
        self.PREV_STATE_nsprefix_ = None
        self.PREV_LCM_STATE = PREV_LCM_STATE
        self.PREV_LCM_STATE_nsprefix_ = None
        self.RESCHED = RESCHED
        self.RESCHED_nsprefix_ = None
        self.STIME = STIME
        self.STIME_nsprefix_ = None
        self.ETIME = ETIME
        self.ETIME_nsprefix_ = None
        self.DEPLOY_ID = DEPLOY_ID
        self.DEPLOY_ID_nsprefix_ = None
        self.LOCK = LOCK
        self.LOCK_nsprefix_ = None
        self.MONITORING = MONITORING
        self.MONITORING_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
        self.USER_TEMPLATE = USER_TEMPLATE
        self.USER_TEMPLATE_nsprefix_ = None
        self.HISTORY_RECORDS = HISTORY_RECORDS
        self.HISTORY_RECORDS_nsprefix_ = None
        if SNAPSHOTS is None:
            self.SNAPSHOTS = []
        else:
            self.SNAPSHOTS = SNAPSHOTS
        self.SNAPSHOTS_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VM)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VM.subclass:
            return VM.subclass(*args_, **kwargs_)
        else:
            return VM(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_PERMISSIONS(self):
        return self.PERMISSIONS
    def set_PERMISSIONS(self, PERMISSIONS):
        self.PERMISSIONS = PERMISSIONS
    def get_LAST_POLL(self):
        return self.LAST_POLL
    def set_LAST_POLL(self, LAST_POLL):
        self.LAST_POLL = LAST_POLL
    def get_STATE(self):
        return self.STATE
    def set_STATE(self, STATE):
        self.STATE = STATE
    def get_LCM_STATE(self):
        return self.LCM_STATE
    def set_LCM_STATE(self, LCM_STATE):
        self.LCM_STATE = LCM_STATE
    def get_PREV_STATE(self):
        return self.PREV_STATE
    def set_PREV_STATE(self, PREV_STATE):
        self.PREV_STATE = PREV_STATE
    def get_PREV_LCM_STATE(self):
        return self.PREV_LCM_STATE
    def set_PREV_LCM_STATE(self, PREV_LCM_STATE):
        self.PREV_LCM_STATE = PREV_LCM_STATE
    def get_RESCHED(self):
        return self.RESCHED
    def set_RESCHED(self, RESCHED):
        self.RESCHED = RESCHED
    def get_STIME(self):
        return self.STIME
    def set_STIME(self, STIME):
        self.STIME = STIME
    def get_ETIME(self):
        return self.ETIME
    def set_ETIME(self, ETIME):
        self.ETIME = ETIME
    def get_DEPLOY_ID(self):
        return self.DEPLOY_ID
    def set_DEPLOY_ID(self, DEPLOY_ID):
        self.DEPLOY_ID = DEPLOY_ID
    def get_LOCK(self):
        return self.LOCK
    def set_LOCK(self, LOCK):
        self.LOCK = LOCK
    def get_MONITORING(self):
        return self.MONITORING
    def set_MONITORING(self, MONITORING):
        self.MONITORING = MONITORING
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def get_USER_TEMPLATE(self):
        return self.USER_TEMPLATE
    def set_USER_TEMPLATE(self, USER_TEMPLATE):
        self.USER_TEMPLATE = USER_TEMPLATE
    def get_HISTORY_RECORDS(self):
        return self.HISTORY_RECORDS
    def set_HISTORY_RECORDS(self, HISTORY_RECORDS):
        self.HISTORY_RECORDS = HISTORY_RECORDS
    def get_SNAPSHOTS(self):
        return self.SNAPSHOTS
    def set_SNAPSHOTS(self, SNAPSHOTS):
        self.SNAPSHOTS = SNAPSHOTS
    def add_SNAPSHOTS(self, value):
        self.SNAPSHOTS.append(value)
    def insert_SNAPSHOTS_at(self, index, value):
        self.SNAPSHOTS.insert(index, value)
    def replace_SNAPSHOTS_at(self, index, value):
        self.SNAPSHOTS[index] = value
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.PERMISSIONS is not None or
            self.LAST_POLL is not None or
            self.STATE is not None or
            self.LCM_STATE is not None or
            self.PREV_STATE is not None or
            self.PREV_LCM_STATE is not None or
            self.RESCHED is not None or
            self.STIME is not None or
            self.ETIME is not None or
            self.DEPLOY_ID is not None or
            self.LOCK is not None or
            self.MONITORING is not None or
            self.TEMPLATE is not None or
            self.USER_TEMPLATE is not None or
            self.HISTORY_RECORDS is not None or
            self.SNAPSHOTS
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VM')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VM':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VM')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VM', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VM'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.PERMISSIONS is not None:
            namespaceprefix_ = self.PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.PERMISSIONS_nsprefix_) else ''
            self.PERMISSIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PERMISSIONS', pretty_print=pretty_print)
        if self.LAST_POLL is not None:
            namespaceprefix_ = self.LAST_POLL_nsprefix_ + ':' if (UseCapturedNS_ and self.LAST_POLL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLAST_POLL>%s</%sLAST_POLL>%s' % (namespaceprefix_ , self.gds_format_integer(self.LAST_POLL, input_name='LAST_POLL'), namespaceprefix_ , eol_))
        if self.STATE is not None:
            namespaceprefix_ = self.STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTATE>%s</%sSTATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.STATE, input_name='STATE'), namespaceprefix_ , eol_))
        if self.LCM_STATE is not None:
            namespaceprefix_ = self.LCM_STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.LCM_STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLCM_STATE>%s</%sLCM_STATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.LCM_STATE, input_name='LCM_STATE'), namespaceprefix_ , eol_))
        if self.PREV_STATE is not None:
            namespaceprefix_ = self.PREV_STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.PREV_STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPREV_STATE>%s</%sPREV_STATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.PREV_STATE, input_name='PREV_STATE'), namespaceprefix_ , eol_))
        if self.PREV_LCM_STATE is not None:
            namespaceprefix_ = self.PREV_LCM_STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.PREV_LCM_STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPREV_LCM_STATE>%s</%sPREV_LCM_STATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.PREV_LCM_STATE, input_name='PREV_LCM_STATE'), namespaceprefix_ , eol_))
        if self.RESCHED is not None:
            namespaceprefix_ = self.RESCHED_nsprefix_ + ':' if (UseCapturedNS_ and self.RESCHED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRESCHED>%s</%sRESCHED>%s' % (namespaceprefix_ , self.gds_format_integer(self.RESCHED, input_name='RESCHED'), namespaceprefix_ , eol_))
        if self.STIME is not None:
            namespaceprefix_ = self.STIME_nsprefix_ + ':' if (UseCapturedNS_ and self.STIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTIME>%s</%sSTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.STIME, input_name='STIME'), namespaceprefix_ , eol_))
        if self.ETIME is not None:
            namespaceprefix_ = self.ETIME_nsprefix_ + ':' if (UseCapturedNS_ and self.ETIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sETIME>%s</%sETIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.ETIME, input_name='ETIME'), namespaceprefix_ , eol_))
        if self.DEPLOY_ID is not None:
            namespaceprefix_ = self.DEPLOY_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.DEPLOY_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEPLOY_ID>%s</%sDEPLOY_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.DEPLOY_ID), input_name='DEPLOY_ID')), namespaceprefix_ , eol_))
        if self.LOCK is not None:
            namespaceprefix_ = self.LOCK_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCK_nsprefix_) else ''
            self.LOCK.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LOCK', pretty_print=pretty_print)
        if self.MONITORING is not None:
            namespaceprefix_ = self.MONITORING_nsprefix_ + ':' if (UseCapturedNS_ and self.MONITORING_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMONITORING>%s</%sMONITORING>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MONITORING), input_name='MONITORING')), namespaceprefix_ , eol_))
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            self.TEMPLATE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TEMPLATE', pretty_print=pretty_print)
        if self.USER_TEMPLATE is not None:
            namespaceprefix_ = self.USER_TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.USER_TEMPLATE_nsprefix_) else ''
            self.USER_TEMPLATE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='USER_TEMPLATE', pretty_print=pretty_print)
        if self.HISTORY_RECORDS is not None:
            namespaceprefix_ = self.HISTORY_RECORDS_nsprefix_ + ':' if (UseCapturedNS_ and self.HISTORY_RECORDS_nsprefix_) else ''
            self.HISTORY_RECORDS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HISTORY_RECORDS', pretty_print=pretty_print)
        for SNAPSHOTS_ in self.SNAPSHOTS:
            namespaceprefix_ = self.SNAPSHOTS_nsprefix_ + ':' if (UseCapturedNS_ and self.SNAPSHOTS_nsprefix_) else ''
            SNAPSHOTS_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SNAPSHOTS', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType91.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'LAST_POLL' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LAST_POLL')
            ival_ = self.gds_validate_integer(ival_, node, 'LAST_POLL')
            self.LAST_POLL = ival_
            self.LAST_POLL_nsprefix_ = child_.prefix
        elif nodeName_ == 'STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'STATE')
            self.STATE = ival_
            self.STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'LCM_STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LCM_STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'LCM_STATE')
            self.LCM_STATE = ival_
            self.LCM_STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'PREV_STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PREV_STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'PREV_STATE')
            self.PREV_STATE = ival_
            self.PREV_STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'PREV_LCM_STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PREV_LCM_STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'PREV_LCM_STATE')
            self.PREV_LCM_STATE = ival_
            self.PREV_LCM_STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'RESCHED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RESCHED')
            ival_ = self.gds_validate_integer(ival_, node, 'RESCHED')
            self.RESCHED = ival_
            self.RESCHED_nsprefix_ = child_.prefix
        elif nodeName_ == 'STIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STIME')
            ival_ = self.gds_validate_integer(ival_, node, 'STIME')
            self.STIME = ival_
            self.STIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'ETIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ETIME')
            ival_ = self.gds_validate_integer(ival_, node, 'ETIME')
            self.ETIME = ival_
            self.ETIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEPLOY_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEPLOY_ID')
            value_ = self.gds_validate_string(value_, node, 'DEPLOY_ID')
            self.DEPLOY_ID = value_
            self.DEPLOY_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'LOCK':
            obj_ = LOCKType92.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOCK = obj_
            obj_.original_tagname_ = 'LOCK'
        elif nodeName_ == 'MONITORING':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MONITORING')
            value_ = self.gds_validate_string(value_, node, 'MONITORING')
            self.MONITORING = value_
            self.MONITORING_nsprefix_ = child_.prefix
        elif nodeName_ == 'TEMPLATE':
            obj_ = TEMPLATEType93.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
        elif nodeName_ == 'USER_TEMPLATE':
            obj_ = USER_TEMPLATEType96.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.USER_TEMPLATE = obj_
            obj_.original_tagname_ = 'USER_TEMPLATE'
        elif nodeName_ == 'HISTORY_RECORDS':
            obj_ = HISTORY_RECORDSType97.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HISTORY_RECORDS = obj_
            obj_.original_tagname_ = 'HISTORY_RECORDS'
        elif nodeName_ == 'SNAPSHOTS':
            obj_ = SNAPSHOTSType99.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SNAPSHOTS.append(obj_)
            obj_.original_tagname_ = 'SNAPSHOTS'
# end class VM


class MONITORING(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, MONITORING)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if MONITORING.subclass:
            return MONITORING.subclass(*args_, **kwargs_)
        else:
            return MONITORING(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def hasContent_(self):
        if (

        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MONITORING', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('MONITORING')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'MONITORING':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MONITORING')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MONITORING', pretty_print=pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MONITORING'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='MONITORING', fromsubclass_=False, pretty_print=True):
        pass
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        pass
# end class MONITORING


class VNET_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VNET=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if VNET is None:
            self.VNET = []
        else:
            self.VNET = VNET
        self.VNET_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VNET_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VNET_POOL.subclass:
            return VNET_POOL.subclass(*args_, **kwargs_)
        else:
            return VNET_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VNET(self):
        return self.VNET
    def set_VNET(self, VNET):
        self.VNET = VNET
    def add_VNET(self, value):
        self.VNET.append(value)
    def insert_VNET_at(self, index, value):
        self.VNET.insert(index, value)
    def replace_VNET_at(self, index, value):
        self.VNET[index] = value
    def hasContent_(self):
        if (
            self.VNET
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNET_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VNET_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VNET_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VNET_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VNET_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VNET_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNET_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for VNET_ in self.VNET:
            namespaceprefix_ = self.VNET_nsprefix_ + ':' if (UseCapturedNS_ and self.VNET_nsprefix_) else ''
            VNET_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VNET', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VNET':
            obj_ = VNETType101.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VNET.append(obj_)
            obj_.original_tagname_ = 'VNET'
# end class VNET_POOL


class VNET(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, LOCK=None, PERMISSIONS=None, CLUSTERS=None, BRIDGE=None, BRIDGE_TYPE=None, PARENT_NETWORK_ID=None, VN_MAD=None, PHYDEV=None, VLAN_ID=None, OUTER_VLAN_ID=None, VLAN_ID_AUTOMATIC=None, OUTER_VLAN_ID_AUTOMATIC=None, USED_LEASES=None, VROUTERS=None, TEMPLATE=None, AR_POOL=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.LOCK = LOCK
        self.LOCK_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.CLUSTERS = CLUSTERS
        self.CLUSTERS_nsprefix_ = None
        self.BRIDGE = BRIDGE
        self.BRIDGE_nsprefix_ = None
        self.BRIDGE_TYPE = BRIDGE_TYPE
        self.BRIDGE_TYPE_nsprefix_ = None
        self.PARENT_NETWORK_ID = PARENT_NETWORK_ID
        self.PARENT_NETWORK_ID_nsprefix_ = None
        self.VN_MAD = VN_MAD
        self.VN_MAD_nsprefix_ = None
        self.PHYDEV = PHYDEV
        self.PHYDEV_nsprefix_ = None
        self.VLAN_ID = VLAN_ID
        self.VLAN_ID_nsprefix_ = None
        self.OUTER_VLAN_ID = OUTER_VLAN_ID
        self.OUTER_VLAN_ID_nsprefix_ = None
        self.VLAN_ID_AUTOMATIC = VLAN_ID_AUTOMATIC
        self.VLAN_ID_AUTOMATIC_nsprefix_ = None
        self.OUTER_VLAN_ID_AUTOMATIC = OUTER_VLAN_ID_AUTOMATIC
        self.OUTER_VLAN_ID_AUTOMATIC_nsprefix_ = None
        self.USED_LEASES = USED_LEASES
        self.USED_LEASES_nsprefix_ = None
        self.VROUTERS = VROUTERS
        self.VROUTERS_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
        self.AR_POOL = AR_POOL
        self.AR_POOL_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VNET)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VNET.subclass:
            return VNET.subclass(*args_, **kwargs_)
        else:
            return VNET(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_LOCK(self):
        return self.LOCK
    def set_LOCK(self, LOCK):
        self.LOCK = LOCK
    def get_PERMISSIONS(self):
        return self.PERMISSIONS
    def set_PERMISSIONS(self, PERMISSIONS):
        self.PERMISSIONS = PERMISSIONS
    def get_CLUSTERS(self):
        return self.CLUSTERS
    def set_CLUSTERS(self, CLUSTERS):
        self.CLUSTERS = CLUSTERS
    def get_BRIDGE(self):
        return self.BRIDGE
    def set_BRIDGE(self, BRIDGE):
        self.BRIDGE = BRIDGE
    def get_BRIDGE_TYPE(self):
        return self.BRIDGE_TYPE
    def set_BRIDGE_TYPE(self, BRIDGE_TYPE):
        self.BRIDGE_TYPE = BRIDGE_TYPE
    def get_PARENT_NETWORK_ID(self):
        return self.PARENT_NETWORK_ID
    def set_PARENT_NETWORK_ID(self, PARENT_NETWORK_ID):
        self.PARENT_NETWORK_ID = PARENT_NETWORK_ID
    def get_VN_MAD(self):
        return self.VN_MAD
    def set_VN_MAD(self, VN_MAD):
        self.VN_MAD = VN_MAD
    def get_PHYDEV(self):
        return self.PHYDEV
    def set_PHYDEV(self, PHYDEV):
        self.PHYDEV = PHYDEV
    def get_VLAN_ID(self):
        return self.VLAN_ID
    def set_VLAN_ID(self, VLAN_ID):
        self.VLAN_ID = VLAN_ID
    def get_OUTER_VLAN_ID(self):
        return self.OUTER_VLAN_ID
    def set_OUTER_VLAN_ID(self, OUTER_VLAN_ID):
        self.OUTER_VLAN_ID = OUTER_VLAN_ID
    def get_VLAN_ID_AUTOMATIC(self):
        return self.VLAN_ID_AUTOMATIC
    def set_VLAN_ID_AUTOMATIC(self, VLAN_ID_AUTOMATIC):
        self.VLAN_ID_AUTOMATIC = VLAN_ID_AUTOMATIC
    def get_OUTER_VLAN_ID_AUTOMATIC(self):
        return self.OUTER_VLAN_ID_AUTOMATIC
    def set_OUTER_VLAN_ID_AUTOMATIC(self, OUTER_VLAN_ID_AUTOMATIC):
        self.OUTER_VLAN_ID_AUTOMATIC = OUTER_VLAN_ID_AUTOMATIC
    def get_USED_LEASES(self):
        return self.USED_LEASES
    def set_USED_LEASES(self, USED_LEASES):
        self.USED_LEASES = USED_LEASES
    def get_VROUTERS(self):
        return self.VROUTERS
    def set_VROUTERS(self, VROUTERS):
        self.VROUTERS = VROUTERS
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def get_AR_POOL(self):
        return self.AR_POOL
    def set_AR_POOL(self, AR_POOL):
        self.AR_POOL = AR_POOL
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.LOCK is not None or
            self.PERMISSIONS is not None or
            self.CLUSTERS is not None or
            self.BRIDGE is not None or
            self.BRIDGE_TYPE is not None or
            self.PARENT_NETWORK_ID is not None or
            self.VN_MAD is not None or
            self.PHYDEV is not None or
            self.VLAN_ID is not None or
            self.OUTER_VLAN_ID is not None or
            self.VLAN_ID_AUTOMATIC is not None or
            self.OUTER_VLAN_ID_AUTOMATIC is not None or
            self.USED_LEASES is not None or
            self.VROUTERS is not None or
            self.TEMPLATE is not None or
            self.AR_POOL is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNET', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VNET')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VNET':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VNET')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VNET', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VNET'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNET', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.LOCK is not None:
            namespaceprefix_ = self.LOCK_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCK_nsprefix_) else ''
            self.LOCK.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LOCK', pretty_print=pretty_print)
        if self.PERMISSIONS is not None:
            namespaceprefix_ = self.PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.PERMISSIONS_nsprefix_) else ''
            self.PERMISSIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PERMISSIONS', pretty_print=pretty_print)
        if self.CLUSTERS is not None:
            namespaceprefix_ = self.CLUSTERS_nsprefix_ + ':' if (UseCapturedNS_ and self.CLUSTERS_nsprefix_) else ''
            self.CLUSTERS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CLUSTERS', pretty_print=pretty_print)
        if self.BRIDGE is not None:
            namespaceprefix_ = self.BRIDGE_nsprefix_ + ':' if (UseCapturedNS_ and self.BRIDGE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sBRIDGE>%s</%sBRIDGE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BRIDGE), input_name='BRIDGE')), namespaceprefix_ , eol_))
        if self.BRIDGE_TYPE is not None:
            namespaceprefix_ = self.BRIDGE_TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.BRIDGE_TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sBRIDGE_TYPE>%s</%sBRIDGE_TYPE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BRIDGE_TYPE), input_name='BRIDGE_TYPE')), namespaceprefix_ , eol_))
        if self.PARENT_NETWORK_ID is not None:
            namespaceprefix_ = self.PARENT_NETWORK_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.PARENT_NETWORK_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPARENT_NETWORK_ID>%s</%sPARENT_NETWORK_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PARENT_NETWORK_ID), input_name='PARENT_NETWORK_ID')), namespaceprefix_ , eol_))
        if self.VN_MAD is not None:
            namespaceprefix_ = self.VN_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.VN_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVN_MAD>%s</%sVN_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VN_MAD), input_name='VN_MAD')), namespaceprefix_ , eol_))
        if self.PHYDEV is not None:
            namespaceprefix_ = self.PHYDEV_nsprefix_ + ':' if (UseCapturedNS_ and self.PHYDEV_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPHYDEV>%s</%sPHYDEV>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PHYDEV), input_name='PHYDEV')), namespaceprefix_ , eol_))
        if self.VLAN_ID is not None:
            namespaceprefix_ = self.VLAN_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VLAN_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVLAN_ID>%s</%sVLAN_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VLAN_ID), input_name='VLAN_ID')), namespaceprefix_ , eol_))
        if self.OUTER_VLAN_ID is not None:
            namespaceprefix_ = self.OUTER_VLAN_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.OUTER_VLAN_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOUTER_VLAN_ID>%s</%sOUTER_VLAN_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.OUTER_VLAN_ID), input_name='OUTER_VLAN_ID')), namespaceprefix_ , eol_))
        if self.VLAN_ID_AUTOMATIC is not None:
            namespaceprefix_ = self.VLAN_ID_AUTOMATIC_nsprefix_ + ':' if (UseCapturedNS_ and self.VLAN_ID_AUTOMATIC_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVLAN_ID_AUTOMATIC>%s</%sVLAN_ID_AUTOMATIC>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VLAN_ID_AUTOMATIC), input_name='VLAN_ID_AUTOMATIC')), namespaceprefix_ , eol_))
        if self.OUTER_VLAN_ID_AUTOMATIC is not None:
            namespaceprefix_ = self.OUTER_VLAN_ID_AUTOMATIC_nsprefix_ + ':' if (UseCapturedNS_ and self.OUTER_VLAN_ID_AUTOMATIC_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOUTER_VLAN_ID_AUTOMATIC>%s</%sOUTER_VLAN_ID_AUTOMATIC>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.OUTER_VLAN_ID_AUTOMATIC), input_name='OUTER_VLAN_ID_AUTOMATIC')), namespaceprefix_ , eol_))
        if self.USED_LEASES is not None:
            namespaceprefix_ = self.USED_LEASES_nsprefix_ + ':' if (UseCapturedNS_ and self.USED_LEASES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSED_LEASES>%s</%sUSED_LEASES>%s' % (namespaceprefix_ , self.gds_format_integer(self.USED_LEASES, input_name='USED_LEASES'), namespaceprefix_ , eol_))
        if self.VROUTERS is not None:
            namespaceprefix_ = self.VROUTERS_nsprefix_ + ':' if (UseCapturedNS_ and self.VROUTERS_nsprefix_) else ''
            self.VROUTERS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VROUTERS', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            self.TEMPLATE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TEMPLATE', pretty_print=pretty_print)
        if self.AR_POOL is not None:
            namespaceprefix_ = self.AR_POOL_nsprefix_ + ':' if (UseCapturedNS_ and self.AR_POOL_nsprefix_) else ''
            self.AR_POOL.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AR_POOL', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'LOCK':
            obj_ = LOCKType104.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOCK = obj_
            obj_.original_tagname_ = 'LOCK'
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType105.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'CLUSTERS':
            obj_ = CLUSTERSType106.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.CLUSTERS = obj_
            obj_.original_tagname_ = 'CLUSTERS'
        elif nodeName_ == 'BRIDGE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'BRIDGE')
            value_ = self.gds_validate_string(value_, node, 'BRIDGE')
            self.BRIDGE = value_
            self.BRIDGE_nsprefix_ = child_.prefix
        elif nodeName_ == 'BRIDGE_TYPE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'BRIDGE_TYPE')
            value_ = self.gds_validate_string(value_, node, 'BRIDGE_TYPE')
            self.BRIDGE_TYPE = value_
            self.BRIDGE_TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'PARENT_NETWORK_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PARENT_NETWORK_ID')
            value_ = self.gds_validate_string(value_, node, 'PARENT_NETWORK_ID')
            self.PARENT_NETWORK_ID = value_
            self.PARENT_NETWORK_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VN_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VN_MAD')
            value_ = self.gds_validate_string(value_, node, 'VN_MAD')
            self.VN_MAD = value_
            self.VN_MAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'PHYDEV':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PHYDEV')
            value_ = self.gds_validate_string(value_, node, 'PHYDEV')
            self.PHYDEV = value_
            self.PHYDEV_nsprefix_ = child_.prefix
        elif nodeName_ == 'VLAN_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VLAN_ID')
            value_ = self.gds_validate_string(value_, node, 'VLAN_ID')
            self.VLAN_ID = value_
            self.VLAN_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'OUTER_VLAN_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'OUTER_VLAN_ID')
            value_ = self.gds_validate_string(value_, node, 'OUTER_VLAN_ID')
            self.OUTER_VLAN_ID = value_
            self.OUTER_VLAN_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VLAN_ID_AUTOMATIC':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VLAN_ID_AUTOMATIC')
            value_ = self.gds_validate_string(value_, node, 'VLAN_ID_AUTOMATIC')
            self.VLAN_ID_AUTOMATIC = value_
            self.VLAN_ID_AUTOMATIC_nsprefix_ = child_.prefix
        elif nodeName_ == 'OUTER_VLAN_ID_AUTOMATIC':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'OUTER_VLAN_ID_AUTOMATIC')
            value_ = self.gds_validate_string(value_, node, 'OUTER_VLAN_ID_AUTOMATIC')
            self.OUTER_VLAN_ID_AUTOMATIC = value_
            self.OUTER_VLAN_ID_AUTOMATIC_nsprefix_ = child_.prefix
        elif nodeName_ == 'USED_LEASES' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'USED_LEASES')
            ival_ = self.gds_validate_integer(ival_, node, 'USED_LEASES')
            self.USED_LEASES = ival_
            self.USED_LEASES_nsprefix_ = child_.prefix
        elif nodeName_ == 'VROUTERS':
            obj_ = VROUTERSType107.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VROUTERS = obj_
            obj_.original_tagname_ = 'VROUTERS'
        elif nodeName_ == 'TEMPLATE':
            obj_ = TEMPLATEType108.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
        elif nodeName_ == 'AR_POOL':
            obj_ = AR_POOLType109.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.AR_POOL = obj_
            obj_.original_tagname_ = 'AR_POOL'
# end class VNET


class VNTEMPLATE_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VNTEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if VNTEMPLATE is None:
            self.VNTEMPLATE = []
        else:
            self.VNTEMPLATE = VNTEMPLATE
        self.VNTEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VNTEMPLATE_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VNTEMPLATE_POOL.subclass:
            return VNTEMPLATE_POOL.subclass(*args_, **kwargs_)
        else:
            return VNTEMPLATE_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VNTEMPLATE(self):
        return self.VNTEMPLATE
    def set_VNTEMPLATE(self, VNTEMPLATE):
        self.VNTEMPLATE = VNTEMPLATE
    def add_VNTEMPLATE(self, value):
        self.VNTEMPLATE.append(value)
    def insert_VNTEMPLATE_at(self, index, value):
        self.VNTEMPLATE.insert(index, value)
    def replace_VNTEMPLATE_at(self, index, value):
        self.VNTEMPLATE[index] = value
    def hasContent_(self):
        if (
            self.VNTEMPLATE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNTEMPLATE_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VNTEMPLATE_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VNTEMPLATE_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VNTEMPLATE_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VNTEMPLATE_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VNTEMPLATE_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNTEMPLATE_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for VNTEMPLATE_ in self.VNTEMPLATE:
            namespaceprefix_ = self.VNTEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.VNTEMPLATE_nsprefix_) else ''
            VNTEMPLATE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VNTEMPLATE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VNTEMPLATE':
            obj_ = VNTEMPLATE.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VNTEMPLATE.append(obj_)
            obj_.original_tagname_ = 'VNTEMPLATE'
# end class VNTEMPLATE_POOL


class VNTEMPLATE(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, LOCK=None, PERMISSIONS=None, REGTIME=None, TEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.LOCK = LOCK
        self.LOCK_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.REGTIME = REGTIME
        self.REGTIME_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VNTEMPLATE)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VNTEMPLATE.subclass:
            return VNTEMPLATE.subclass(*args_, **kwargs_)
        else:
            return VNTEMPLATE(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_LOCK(self):
        return self.LOCK
    def set_LOCK(self, LOCK):
        self.LOCK = LOCK
    def get_PERMISSIONS(self):
        return self.PERMISSIONS
    def set_PERMISSIONS(self, PERMISSIONS):
        self.PERMISSIONS = PERMISSIONS
    def get_REGTIME(self):
        return self.REGTIME
    def set_REGTIME(self, REGTIME):
        self.REGTIME = REGTIME
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.LOCK is not None or
            self.PERMISSIONS is not None or
            self.REGTIME is not None or
            self.TEMPLATE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNTEMPLATE', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VNTEMPLATE')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VNTEMPLATE':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VNTEMPLATE')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VNTEMPLATE', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VNTEMPLATE'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNTEMPLATE', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.LOCK is not None:
            namespaceprefix_ = self.LOCK_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCK_nsprefix_) else ''
            self.LOCK.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LOCK', pretty_print=pretty_print)
        if self.PERMISSIONS is not None:
            namespaceprefix_ = self.PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.PERMISSIONS_nsprefix_) else ''
            self.PERMISSIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PERMISSIONS', pretty_print=pretty_print)
        if self.REGTIME is not None:
            namespaceprefix_ = self.REGTIME_nsprefix_ + ':' if (UseCapturedNS_ and self.REGTIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREGTIME>%s</%sREGTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.REGTIME, input_name='REGTIME'), namespaceprefix_ , eol_))
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            self.TEMPLATE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TEMPLATE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'LOCK':
            obj_ = LOCKType111.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOCK = obj_
            obj_.original_tagname_ = 'LOCK'
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType112.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'REGTIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REGTIME')
            ival_ = self.gds_validate_integer(ival_, node, 'REGTIME')
            self.REGTIME = ival_
            self.REGTIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'TEMPLATE':
            obj_ = TEMPLATEType113.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
# end class VNTEMPLATE


class VROUTER_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VROUTER=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if VROUTER is None:
            self.VROUTER = []
        else:
            self.VROUTER = VROUTER
        self.VROUTER_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VROUTER_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VROUTER_POOL.subclass:
            return VROUTER_POOL.subclass(*args_, **kwargs_)
        else:
            return VROUTER_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VROUTER(self):
        return self.VROUTER
    def set_VROUTER(self, VROUTER):
        self.VROUTER = VROUTER
    def add_VROUTER(self, value):
        self.VROUTER.append(value)
    def insert_VROUTER_at(self, index, value):
        self.VROUTER.insert(index, value)
    def replace_VROUTER_at(self, index, value):
        self.VROUTER[index] = value
    def hasContent_(self):
        if (
            self.VROUTER
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VROUTER_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VROUTER_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VROUTER_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VROUTER_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VROUTER_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VROUTER_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VROUTER_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for VROUTER_ in self.VROUTER:
            namespaceprefix_ = self.VROUTER_nsprefix_ + ':' if (UseCapturedNS_ and self.VROUTER_nsprefix_) else ''
            VROUTER_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VROUTER', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VROUTER':
            obj_ = VROUTER.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VROUTER.append(obj_)
            obj_.original_tagname_ = 'VROUTER'
# end class VROUTER_POOL


class VROUTER(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, PERMISSIONS=None, LOCK=None, VMS=None, TEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.LOCK = LOCK
        self.LOCK_nsprefix_ = None
        self.VMS = VMS
        self.VMS_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VROUTER)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VROUTER.subclass:
            return VROUTER.subclass(*args_, **kwargs_)
        else:
            return VROUTER(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_PERMISSIONS(self):
        return self.PERMISSIONS
    def set_PERMISSIONS(self, PERMISSIONS):
        self.PERMISSIONS = PERMISSIONS
    def get_LOCK(self):
        return self.LOCK
    def set_LOCK(self, LOCK):
        self.LOCK = LOCK
    def get_VMS(self):
        return self.VMS
    def set_VMS(self, VMS):
        self.VMS = VMS
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.PERMISSIONS is not None or
            self.LOCK is not None or
            self.VMS is not None or
            self.TEMPLATE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VROUTER', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VROUTER')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VROUTER':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VROUTER')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VROUTER', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VROUTER'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VROUTER', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.PERMISSIONS is not None:
            namespaceprefix_ = self.PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.PERMISSIONS_nsprefix_) else ''
            self.PERMISSIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PERMISSIONS', pretty_print=pretty_print)
        if self.LOCK is not None:
            namespaceprefix_ = self.LOCK_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCK_nsprefix_) else ''
            self.LOCK.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LOCK', pretty_print=pretty_print)
        if self.VMS is not None:
            namespaceprefix_ = self.VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_nsprefix_) else ''
            self.VMS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VMS', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTEMPLATE>%s</%sTEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TEMPLATE), input_name='TEMPLATE')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType114.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'LOCK':
            obj_ = LOCKType115.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOCK = obj_
            obj_.original_tagname_ = 'LOCK'
        elif nodeName_ == 'VMS':
            obj_ = VMSType116.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VMS = obj_
            obj_.original_tagname_ = 'VMS'
        elif nodeName_ == 'TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'TEMPLATE')
            self.TEMPLATE = value_
            self.TEMPLATE_nsprefix_ = child_.prefix
# end class VROUTER


class ZONE_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ZONE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ZONE = ZONE
        self.ZONE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, ZONE_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if ZONE_POOL.subclass:
            return ZONE_POOL.subclass(*args_, **kwargs_)
        else:
            return ZONE_POOL(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ZONE(self):
        return self.ZONE
    def set_ZONE(self, ZONE):
        self.ZONE = ZONE
    def hasContent_(self):
        if (
            self.ZONE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ZONE_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('ZONE_POOL')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'ZONE_POOL':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ZONE_POOL')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ZONE_POOL', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ZONE_POOL'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ZONE_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ZONE is not None:
            namespaceprefix_ = self.ZONE_nsprefix_ + ':' if (UseCapturedNS_ and self.ZONE_nsprefix_) else ''
            self.ZONE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZONE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ZONE':
            obj_ = ZONEType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.ZONE = obj_
            obj_.original_tagname_ = 'ZONE'
# end class ZONE_POOL


class ZONE(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, NAME=None, TEMPLATE=None, SERVER_POOL=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
        self.SERVER_POOL = SERVER_POOL
        self.SERVER_POOL_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, ZONE)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if ZONE.subclass:
            return ZONE.subclass(*args_, **kwargs_)
        else:
            return ZONE(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def get_SERVER_POOL(self):
        return self.SERVER_POOL
    def set_SERVER_POOL(self, SERVER_POOL):
        self.SERVER_POOL = SERVER_POOL
    def hasContent_(self):
        if (
            self.ID is not None or
            self.NAME is not None or
            self.TEMPLATE is not None or
            self.SERVER_POOL is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ZONE', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('ZONE')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'ZONE':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ZONE')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ZONE', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ZONE'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ZONE', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            self.TEMPLATE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TEMPLATE', pretty_print=pretty_print)
        if self.SERVER_POOL is not None:
            namespaceprefix_ = self.SERVER_POOL_nsprefix_ + ':' if (UseCapturedNS_ and self.SERVER_POOL_nsprefix_) else ''
            self.SERVER_POOL.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SERVER_POOL', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'TEMPLATE':
            obj_ = TEMPLATEType118.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
        elif nodeName_ == 'SERVER_POOL':
            obj_ = SERVER_POOLType119.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SERVER_POOL = obj_
            obj_.original_tagname_ = 'SERVER_POOL'
# end class ZONE


class SHOWBACK_RECORDS(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, SHOWBACK=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if SHOWBACK is None:
            self.SHOWBACK = []
        else:
            self.SHOWBACK = SHOWBACK
        self.SHOWBACK_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SHOWBACK_RECORDS)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SHOWBACK_RECORDS.subclass:
            return SHOWBACK_RECORDS.subclass(*args_, **kwargs_)
        else:
            return SHOWBACK_RECORDS(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_SHOWBACK(self):
        return self.SHOWBACK
    def set_SHOWBACK(self, SHOWBACK):
        self.SHOWBACK = SHOWBACK
    def add_SHOWBACK(self, value):
        self.SHOWBACK.append(value)
    def insert_SHOWBACK_at(self, index, value):
        self.SHOWBACK.insert(index, value)
    def replace_SHOWBACK_at(self, index, value):
        self.SHOWBACK[index] = value
    def hasContent_(self):
        if (
            self.SHOWBACK
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SHOWBACK_RECORDS', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SHOWBACK_RECORDS')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SHOWBACK_RECORDS':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SHOWBACK_RECORDS')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SHOWBACK_RECORDS', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SHOWBACK_RECORDS'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SHOWBACK_RECORDS', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for SHOWBACK_ in self.SHOWBACK:
            namespaceprefix_ = self.SHOWBACK_nsprefix_ + ':' if (UseCapturedNS_ and self.SHOWBACK_nsprefix_) else ''
            SHOWBACK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SHOWBACK', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'SHOWBACK':
            obj_ = SHOWBACKType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SHOWBACK.append(obj_)
            obj_.original_tagname_ = 'SHOWBACK'
# end class SHOWBACK_RECORDS


class VMType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, PERMISSIONS=None, LAST_POLL=None, STATE=None, LCM_STATE=None, PREV_STATE=None, PREV_LCM_STATE=None, RESCHED=None, STIME=None, ETIME=None, DEPLOY_ID=None, MONITORING=None, TEMPLATE=None, USER_TEMPLATE=None, HISTORY_RECORDS=None, SNAPSHOTS=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.LAST_POLL = LAST_POLL
        self.LAST_POLL_nsprefix_ = None
        self.STATE = STATE
        self.STATE_nsprefix_ = None
        self.LCM_STATE = LCM_STATE
        self.LCM_STATE_nsprefix_ = None
        self.PREV_STATE = PREV_STATE
        self.PREV_STATE_nsprefix_ = None
        self.PREV_LCM_STATE = PREV_LCM_STATE
        self.PREV_LCM_STATE_nsprefix_ = None
        self.RESCHED = RESCHED
        self.RESCHED_nsprefix_ = None
        self.STIME = STIME
        self.STIME_nsprefix_ = None
        self.ETIME = ETIME
        self.ETIME_nsprefix_ = None
        self.DEPLOY_ID = DEPLOY_ID
        self.DEPLOY_ID_nsprefix_ = None
        self.MONITORING = MONITORING
        self.MONITORING_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
        self.USER_TEMPLATE = USER_TEMPLATE
        self.USER_TEMPLATE_nsprefix_ = None
        self.HISTORY_RECORDS = HISTORY_RECORDS
        self.HISTORY_RECORDS_nsprefix_ = None
        if SNAPSHOTS is None:
            self.SNAPSHOTS = []
        else:
            self.SNAPSHOTS = SNAPSHOTS
        self.SNAPSHOTS_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMType.subclass:
            return VMType.subclass(*args_, **kwargs_)
        else:
            return VMType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_PERMISSIONS(self):
        return self.PERMISSIONS
    def set_PERMISSIONS(self, PERMISSIONS):
        self.PERMISSIONS = PERMISSIONS
    def get_LAST_POLL(self):
        return self.LAST_POLL
    def set_LAST_POLL(self, LAST_POLL):
        self.LAST_POLL = LAST_POLL
    def get_STATE(self):
        return self.STATE
    def set_STATE(self, STATE):
        self.STATE = STATE
    def get_LCM_STATE(self):
        return self.LCM_STATE
    def set_LCM_STATE(self, LCM_STATE):
        self.LCM_STATE = LCM_STATE
    def get_PREV_STATE(self):
        return self.PREV_STATE
    def set_PREV_STATE(self, PREV_STATE):
        self.PREV_STATE = PREV_STATE
    def get_PREV_LCM_STATE(self):
        return self.PREV_LCM_STATE
    def set_PREV_LCM_STATE(self, PREV_LCM_STATE):
        self.PREV_LCM_STATE = PREV_LCM_STATE
    def get_RESCHED(self):
        return self.RESCHED
    def set_RESCHED(self, RESCHED):
        self.RESCHED = RESCHED
    def get_STIME(self):
        return self.STIME
    def set_STIME(self, STIME):
        self.STIME = STIME
    def get_ETIME(self):
        return self.ETIME
    def set_ETIME(self, ETIME):
        self.ETIME = ETIME
    def get_DEPLOY_ID(self):
        return self.DEPLOY_ID
    def set_DEPLOY_ID(self, DEPLOY_ID):
        self.DEPLOY_ID = DEPLOY_ID
    def get_MONITORING(self):
        return self.MONITORING
    def set_MONITORING(self, MONITORING):
        self.MONITORING = MONITORING
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def get_USER_TEMPLATE(self):
        return self.USER_TEMPLATE
    def set_USER_TEMPLATE(self, USER_TEMPLATE):
        self.USER_TEMPLATE = USER_TEMPLATE
    def get_HISTORY_RECORDS(self):
        return self.HISTORY_RECORDS
    def set_HISTORY_RECORDS(self, HISTORY_RECORDS):
        self.HISTORY_RECORDS = HISTORY_RECORDS
    def get_SNAPSHOTS(self):
        return self.SNAPSHOTS
    def set_SNAPSHOTS(self, SNAPSHOTS):
        self.SNAPSHOTS = SNAPSHOTS
    def add_SNAPSHOTS(self, value):
        self.SNAPSHOTS.append(value)
    def insert_SNAPSHOTS_at(self, index, value):
        self.SNAPSHOTS.insert(index, value)
    def replace_SNAPSHOTS_at(self, index, value):
        self.SNAPSHOTS[index] = value
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.PERMISSIONS is not None or
            self.LAST_POLL is not None or
            self.STATE is not None or
            self.LCM_STATE is not None or
            self.PREV_STATE is not None or
            self.PREV_LCM_STATE is not None or
            self.RESCHED is not None or
            self.STIME is not None or
            self.ETIME is not None or
            self.DEPLOY_ID is not None or
            self.MONITORING is not None or
            self.TEMPLATE is not None or
            self.USER_TEMPLATE is not None or
            self.HISTORY_RECORDS is not None or
            self.SNAPSHOTS
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.PERMISSIONS is not None:
            namespaceprefix_ = self.PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.PERMISSIONS_nsprefix_) else ''
            self.PERMISSIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PERMISSIONS', pretty_print=pretty_print)
        if self.LAST_POLL is not None:
            namespaceprefix_ = self.LAST_POLL_nsprefix_ + ':' if (UseCapturedNS_ and self.LAST_POLL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLAST_POLL>%s</%sLAST_POLL>%s' % (namespaceprefix_ , self.gds_format_integer(self.LAST_POLL, input_name='LAST_POLL'), namespaceprefix_ , eol_))
        if self.STATE is not None:
            namespaceprefix_ = self.STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTATE>%s</%sSTATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.STATE, input_name='STATE'), namespaceprefix_ , eol_))
        if self.LCM_STATE is not None:
            namespaceprefix_ = self.LCM_STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.LCM_STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLCM_STATE>%s</%sLCM_STATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.LCM_STATE, input_name='LCM_STATE'), namespaceprefix_ , eol_))
        if self.PREV_STATE is not None:
            namespaceprefix_ = self.PREV_STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.PREV_STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPREV_STATE>%s</%sPREV_STATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.PREV_STATE, input_name='PREV_STATE'), namespaceprefix_ , eol_))
        if self.PREV_LCM_STATE is not None:
            namespaceprefix_ = self.PREV_LCM_STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.PREV_LCM_STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPREV_LCM_STATE>%s</%sPREV_LCM_STATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.PREV_LCM_STATE, input_name='PREV_LCM_STATE'), namespaceprefix_ , eol_))
        if self.RESCHED is not None:
            namespaceprefix_ = self.RESCHED_nsprefix_ + ':' if (UseCapturedNS_ and self.RESCHED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRESCHED>%s</%sRESCHED>%s' % (namespaceprefix_ , self.gds_format_integer(self.RESCHED, input_name='RESCHED'), namespaceprefix_ , eol_))
        if self.STIME is not None:
            namespaceprefix_ = self.STIME_nsprefix_ + ':' if (UseCapturedNS_ and self.STIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTIME>%s</%sSTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.STIME, input_name='STIME'), namespaceprefix_ , eol_))
        if self.ETIME is not None:
            namespaceprefix_ = self.ETIME_nsprefix_ + ':' if (UseCapturedNS_ and self.ETIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sETIME>%s</%sETIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.ETIME, input_name='ETIME'), namespaceprefix_ , eol_))
        if self.DEPLOY_ID is not None:
            namespaceprefix_ = self.DEPLOY_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.DEPLOY_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEPLOY_ID>%s</%sDEPLOY_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.DEPLOY_ID), input_name='DEPLOY_ID')), namespaceprefix_ , eol_))
        if self.MONITORING is not None:
            namespaceprefix_ = self.MONITORING_nsprefix_ + ':' if (UseCapturedNS_ and self.MONITORING_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMONITORING>%s</%sMONITORING>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MONITORING), input_name='MONITORING')), namespaceprefix_ , eol_))
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTEMPLATE>%s</%sTEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TEMPLATE), input_name='TEMPLATE')), namespaceprefix_ , eol_))
        if self.USER_TEMPLATE is not None:
            namespaceprefix_ = self.USER_TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.USER_TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSER_TEMPLATE>%s</%sUSER_TEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.USER_TEMPLATE), input_name='USER_TEMPLATE')), namespaceprefix_ , eol_))
        if self.HISTORY_RECORDS is not None:
            namespaceprefix_ = self.HISTORY_RECORDS_nsprefix_ + ':' if (UseCapturedNS_ and self.HISTORY_RECORDS_nsprefix_) else ''
            self.HISTORY_RECORDS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HISTORY_RECORDS', pretty_print=pretty_print)
        for SNAPSHOTS_ in self.SNAPSHOTS:
            namespaceprefix_ = self.SNAPSHOTS_nsprefix_ + ':' if (UseCapturedNS_ and self.SNAPSHOTS_nsprefix_) else ''
            SNAPSHOTS_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SNAPSHOTS', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'LAST_POLL' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LAST_POLL')
            ival_ = self.gds_validate_integer(ival_, node, 'LAST_POLL')
            self.LAST_POLL = ival_
            self.LAST_POLL_nsprefix_ = child_.prefix
        elif nodeName_ == 'STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'STATE')
            self.STATE = ival_
            self.STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'LCM_STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LCM_STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'LCM_STATE')
            self.LCM_STATE = ival_
            self.LCM_STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'PREV_STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PREV_STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'PREV_STATE')
            self.PREV_STATE = ival_
            self.PREV_STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'PREV_LCM_STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PREV_LCM_STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'PREV_LCM_STATE')
            self.PREV_LCM_STATE = ival_
            self.PREV_LCM_STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'RESCHED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RESCHED')
            ival_ = self.gds_validate_integer(ival_, node, 'RESCHED')
            self.RESCHED = ival_
            self.RESCHED_nsprefix_ = child_.prefix
        elif nodeName_ == 'STIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STIME')
            ival_ = self.gds_validate_integer(ival_, node, 'STIME')
            self.STIME = ival_
            self.STIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'ETIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ETIME')
            ival_ = self.gds_validate_integer(ival_, node, 'ETIME')
            self.ETIME = ival_
            self.ETIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEPLOY_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEPLOY_ID')
            value_ = self.gds_validate_string(value_, node, 'DEPLOY_ID')
            self.DEPLOY_ID = value_
            self.DEPLOY_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'MONITORING':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MONITORING')
            value_ = self.gds_validate_string(value_, node, 'MONITORING')
            self.MONITORING = value_
            self.MONITORING_nsprefix_ = child_.prefix
        elif nodeName_ == 'TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'TEMPLATE')
            self.TEMPLATE = value_
            self.TEMPLATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'USER_TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'USER_TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'USER_TEMPLATE')
            self.USER_TEMPLATE = value_
            self.USER_TEMPLATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'HISTORY_RECORDS':
            obj_ = HISTORY_RECORDS.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HISTORY_RECORDS = obj_
            obj_.original_tagname_ = 'HISTORY_RECORDS'
        elif nodeName_ == 'SNAPSHOTS':
            obj_ = SNAPSHOTSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SNAPSHOTS.append(obj_)
            obj_.original_tagname_ = 'SNAPSHOTS'
# end class VMType


class PERMISSIONSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OWNER_U=None, OWNER_M=None, OWNER_A=None, GROUP_U=None, GROUP_M=None, GROUP_A=None, OTHER_U=None, OTHER_M=None, OTHER_A=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OWNER_U = OWNER_U
        self.OWNER_U_nsprefix_ = None
        self.OWNER_M = OWNER_M
        self.OWNER_M_nsprefix_ = None
        self.OWNER_A = OWNER_A
        self.OWNER_A_nsprefix_ = None
        self.GROUP_U = GROUP_U
        self.GROUP_U_nsprefix_ = None
        self.GROUP_M = GROUP_M
        self.GROUP_M_nsprefix_ = None
        self.GROUP_A = GROUP_A
        self.GROUP_A_nsprefix_ = None
        self.OTHER_U = OTHER_U
        self.OTHER_U_nsprefix_ = None
        self.OTHER_M = OTHER_M
        self.OTHER_M_nsprefix_ = None
        self.OTHER_A = OTHER_A
        self.OTHER_A_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PERMISSIONSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONSType.subclass:
            return PERMISSIONSType.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OWNER_U(self):
        return self.OWNER_U
    def set_OWNER_U(self, OWNER_U):
        self.OWNER_U = OWNER_U
    def get_OWNER_M(self):
        return self.OWNER_M
    def set_OWNER_M(self, OWNER_M):
        self.OWNER_M = OWNER_M
    def get_OWNER_A(self):
        return self.OWNER_A
    def set_OWNER_A(self, OWNER_A):
        self.OWNER_A = OWNER_A
    def get_GROUP_U(self):
        return self.GROUP_U
    def set_GROUP_U(self, GROUP_U):
        self.GROUP_U = GROUP_U
    def get_GROUP_M(self):
        return self.GROUP_M
    def set_GROUP_M(self, GROUP_M):
        self.GROUP_M = GROUP_M
    def get_GROUP_A(self):
        return self.GROUP_A
    def set_GROUP_A(self, GROUP_A):
        self.GROUP_A = GROUP_A
    def get_OTHER_U(self):
        return self.OTHER_U
    def set_OTHER_U(self, OTHER_U):
        self.OTHER_U = OTHER_U
    def get_OTHER_M(self):
        return self.OTHER_M
    def set_OTHER_M(self, OTHER_M):
        self.OTHER_M = OTHER_M
    def get_OTHER_A(self):
        return self.OTHER_A
    def set_OTHER_A(self, OTHER_A):
        self.OTHER_A = OTHER_A
    def hasContent_(self):
        if (
            self.OWNER_U is not None or
            self.OWNER_M is not None or
            self.OWNER_A is not None or
            self.GROUP_U is not None or
            self.GROUP_M is not None or
            self.GROUP_A is not None or
            self.OTHER_U is not None or
            self.OTHER_M is not None or
            self.OTHER_A is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PERMISSIONSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PERMISSIONSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PERMISSIONSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OWNER_U is not None:
            namespaceprefix_ = self.OWNER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_U>%s</%sOWNER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_U, input_name='OWNER_U'), namespaceprefix_ , eol_))
        if self.OWNER_M is not None:
            namespaceprefix_ = self.OWNER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_M>%s</%sOWNER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_M, input_name='OWNER_M'), namespaceprefix_ , eol_))
        if self.OWNER_A is not None:
            namespaceprefix_ = self.OWNER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_A>%s</%sOWNER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_A, input_name='OWNER_A'), namespaceprefix_ , eol_))
        if self.GROUP_U is not None:
            namespaceprefix_ = self.GROUP_U_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_U>%s</%sGROUP_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_U, input_name='GROUP_U'), namespaceprefix_ , eol_))
        if self.GROUP_M is not None:
            namespaceprefix_ = self.GROUP_M_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_M>%s</%sGROUP_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_M, input_name='GROUP_M'), namespaceprefix_ , eol_))
        if self.GROUP_A is not None:
            namespaceprefix_ = self.GROUP_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_A>%s</%sGROUP_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_A, input_name='GROUP_A'), namespaceprefix_ , eol_))
        if self.OTHER_U is not None:
            namespaceprefix_ = self.OTHER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_U>%s</%sOTHER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_U, input_name='OTHER_U'), namespaceprefix_ , eol_))
        if self.OTHER_M is not None:
            namespaceprefix_ = self.OTHER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_M>%s</%sOTHER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_M, input_name='OTHER_M'), namespaceprefix_ , eol_))
        if self.OTHER_A is not None:
            namespaceprefix_ = self.OTHER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_A>%s</%sOTHER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_A, input_name='OTHER_A'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OWNER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_U')
            self.OWNER_U = ival_
            self.OWNER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_M')
            self.OWNER_M = ival_
            self.OWNER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_A')
            self.OWNER_A = ival_
            self.OWNER_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_U')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_U')
            self.GROUP_U = ival_
            self.GROUP_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_M')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_M')
            self.GROUP_M = ival_
            self.GROUP_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_A')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_A')
            self.GROUP_A = ival_
            self.GROUP_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_U')
            self.OTHER_U = ival_
            self.OTHER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_M')
            self.OTHER_M = ival_
            self.OTHER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_A')
            self.OTHER_A = ival_
            self.OTHER_A_nsprefix_ = child_.prefix
# end class PERMISSIONSType


class SNAPSHOTSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ALLOW_ORPHANS=None, CURRENT_BASE=None, DISK_ID=None, NEXT_SNAPSHOT=None, SNAPSHOT=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ALLOW_ORPHANS = ALLOW_ORPHANS
        self.ALLOW_ORPHANS_nsprefix_ = None
        self.CURRENT_BASE = CURRENT_BASE
        self.CURRENT_BASE_nsprefix_ = None
        self.DISK_ID = DISK_ID
        self.DISK_ID_nsprefix_ = None
        self.NEXT_SNAPSHOT = NEXT_SNAPSHOT
        self.NEXT_SNAPSHOT_nsprefix_ = None
        if SNAPSHOT is None:
            self.SNAPSHOT = []
        else:
            self.SNAPSHOT = SNAPSHOT
        self.SNAPSHOT_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SNAPSHOTSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SNAPSHOTSType.subclass:
            return SNAPSHOTSType.subclass(*args_, **kwargs_)
        else:
            return SNAPSHOTSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ALLOW_ORPHANS(self):
        return self.ALLOW_ORPHANS
    def set_ALLOW_ORPHANS(self, ALLOW_ORPHANS):
        self.ALLOW_ORPHANS = ALLOW_ORPHANS
    def get_CURRENT_BASE(self):
        return self.CURRENT_BASE
    def set_CURRENT_BASE(self, CURRENT_BASE):
        self.CURRENT_BASE = CURRENT_BASE
    def get_DISK_ID(self):
        return self.DISK_ID
    def set_DISK_ID(self, DISK_ID):
        self.DISK_ID = DISK_ID
    def get_NEXT_SNAPSHOT(self):
        return self.NEXT_SNAPSHOT
    def set_NEXT_SNAPSHOT(self, NEXT_SNAPSHOT):
        self.NEXT_SNAPSHOT = NEXT_SNAPSHOT
    def get_SNAPSHOT(self):
        return self.SNAPSHOT
    def set_SNAPSHOT(self, SNAPSHOT):
        self.SNAPSHOT = SNAPSHOT
    def add_SNAPSHOT(self, value):
        self.SNAPSHOT.append(value)
    def insert_SNAPSHOT_at(self, index, value):
        self.SNAPSHOT.insert(index, value)
    def replace_SNAPSHOT_at(self, index, value):
        self.SNAPSHOT[index] = value
    def hasContent_(self):
        if (
            self.ALLOW_ORPHANS is not None or
            self.CURRENT_BASE is not None or
            self.DISK_ID is not None or
            self.NEXT_SNAPSHOT is not None or
            self.SNAPSHOT
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SNAPSHOTSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SNAPSHOTSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SNAPSHOTSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SNAPSHOTSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SNAPSHOTSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ALLOW_ORPHANS is not None:
            namespaceprefix_ = self.ALLOW_ORPHANS_nsprefix_ + ':' if (UseCapturedNS_ and self.ALLOW_ORPHANS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sALLOW_ORPHANS>%s</%sALLOW_ORPHANS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ALLOW_ORPHANS), input_name='ALLOW_ORPHANS')), namespaceprefix_ , eol_))
        if self.CURRENT_BASE is not None:
            namespaceprefix_ = self.CURRENT_BASE_nsprefix_ + ':' if (UseCapturedNS_ and self.CURRENT_BASE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCURRENT_BASE>%s</%sCURRENT_BASE>%s' % (namespaceprefix_ , self.gds_format_integer(self.CURRENT_BASE, input_name='CURRENT_BASE'), namespaceprefix_ , eol_))
        if self.DISK_ID is not None:
            namespaceprefix_ = self.DISK_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.DISK_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDISK_ID>%s</%sDISK_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.DISK_ID, input_name='DISK_ID'), namespaceprefix_ , eol_))
        if self.NEXT_SNAPSHOT is not None:
            namespaceprefix_ = self.NEXT_SNAPSHOT_nsprefix_ + ':' if (UseCapturedNS_ and self.NEXT_SNAPSHOT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNEXT_SNAPSHOT>%s</%sNEXT_SNAPSHOT>%s' % (namespaceprefix_ , self.gds_format_integer(self.NEXT_SNAPSHOT, input_name='NEXT_SNAPSHOT'), namespaceprefix_ , eol_))
        for SNAPSHOT_ in self.SNAPSHOT:
            namespaceprefix_ = self.SNAPSHOT_nsprefix_ + ':' if (UseCapturedNS_ and self.SNAPSHOT_nsprefix_) else ''
            SNAPSHOT_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SNAPSHOT', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ALLOW_ORPHANS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ALLOW_ORPHANS')
            value_ = self.gds_validate_string(value_, node, 'ALLOW_ORPHANS')
            self.ALLOW_ORPHANS = value_
            self.ALLOW_ORPHANS_nsprefix_ = child_.prefix
        elif nodeName_ == 'CURRENT_BASE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'CURRENT_BASE')
            ival_ = self.gds_validate_integer(ival_, node, 'CURRENT_BASE')
            self.CURRENT_BASE = ival_
            self.CURRENT_BASE_nsprefix_ = child_.prefix
        elif nodeName_ == 'DISK_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DISK_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'DISK_ID')
            self.DISK_ID = ival_
            self.DISK_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NEXT_SNAPSHOT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'NEXT_SNAPSHOT')
            ival_ = self.gds_validate_integer(ival_, node, 'NEXT_SNAPSHOT')
            self.NEXT_SNAPSHOT = ival_
            self.NEXT_SNAPSHOT_nsprefix_ = child_.prefix
        elif nodeName_ == 'SNAPSHOT':
            obj_ = SNAPSHOTType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SNAPSHOT.append(obj_)
            obj_.original_tagname_ = 'SNAPSHOT'
# end class SNAPSHOTSType


class SNAPSHOTType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ACTIVE=None, CHILDREN=None, DATE=None, ID=None, NAME=None, PARENT=None, SIZE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ACTIVE = ACTIVE
        self.ACTIVE_nsprefix_ = None
        self.CHILDREN = CHILDREN
        self.CHILDREN_nsprefix_ = None
        self.DATE = DATE
        self.DATE_nsprefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.PARENT = PARENT
        self.PARENT_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SNAPSHOTType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SNAPSHOTType.subclass:
            return SNAPSHOTType.subclass(*args_, **kwargs_)
        else:
            return SNAPSHOTType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ACTIVE(self):
        return self.ACTIVE
    def set_ACTIVE(self, ACTIVE):
        self.ACTIVE = ACTIVE
    def get_CHILDREN(self):
        return self.CHILDREN
    def set_CHILDREN(self, CHILDREN):
        self.CHILDREN = CHILDREN
    def get_DATE(self):
        return self.DATE
    def set_DATE(self, DATE):
        self.DATE = DATE
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_PARENT(self):
        return self.PARENT
    def set_PARENT(self, PARENT):
        self.PARENT = PARENT
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def hasContent_(self):
        if (
            self.ACTIVE is not None or
            self.CHILDREN is not None or
            self.DATE is not None or
            self.ID is not None or
            self.NAME is not None or
            self.PARENT is not None or
            self.SIZE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SNAPSHOTType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SNAPSHOTType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SNAPSHOTType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SNAPSHOTType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SNAPSHOTType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ACTIVE is not None:
            namespaceprefix_ = self.ACTIVE_nsprefix_ + ':' if (UseCapturedNS_ and self.ACTIVE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sACTIVE>%s</%sACTIVE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ACTIVE), input_name='ACTIVE')), namespaceprefix_ , eol_))
        if self.CHILDREN is not None:
            namespaceprefix_ = self.CHILDREN_nsprefix_ + ':' if (UseCapturedNS_ and self.CHILDREN_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCHILDREN>%s</%sCHILDREN>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CHILDREN), input_name='CHILDREN')), namespaceprefix_ , eol_))
        if self.DATE is not None:
            namespaceprefix_ = self.DATE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDATE>%s</%sDATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.DATE, input_name='DATE'), namespaceprefix_ , eol_))
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.PARENT is not None:
            namespaceprefix_ = self.PARENT_nsprefix_ + ':' if (UseCapturedNS_ and self.PARENT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPARENT>%s</%sPARENT>%s' % (namespaceprefix_ , self.gds_format_integer(self.PARENT, input_name='PARENT'), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.SIZE, input_name='SIZE'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ACTIVE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ACTIVE')
            value_ = self.gds_validate_string(value_, node, 'ACTIVE')
            self.ACTIVE = value_
            self.ACTIVE_nsprefix_ = child_.prefix
        elif nodeName_ == 'CHILDREN':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CHILDREN')
            value_ = self.gds_validate_string(value_, node, 'CHILDREN')
            self.CHILDREN = value_
            self.CHILDREN_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DATE')
            ival_ = self.gds_validate_integer(ival_, node, 'DATE')
            self.DATE = ival_
            self.DATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PARENT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PARENT')
            ival_ = self.gds_validate_integer(ival_, node, 'PARENT')
            self.PARENT = ival_
            self.PARENT_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'SIZE')
            self.SIZE = ival_
            self.SIZE_nsprefix_ = child_.prefix
# end class SNAPSHOTType


class ACLType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, USER=None, RESOURCE=None, RIGHTS=None, ZONE=None, STRING=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.USER = USER
        self.USER_nsprefix_ = None
        self.RESOURCE = RESOURCE
        self.RESOURCE_nsprefix_ = None
        self.RIGHTS = RIGHTS
        self.RIGHTS_nsprefix_ = None
        self.ZONE = ZONE
        self.ZONE_nsprefix_ = None
        self.STRING = STRING
        self.STRING_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, ACLType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if ACLType.subclass:
            return ACLType.subclass(*args_, **kwargs_)
        else:
            return ACLType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_USER(self):
        return self.USER
    def set_USER(self, USER):
        self.USER = USER
    def get_RESOURCE(self):
        return self.RESOURCE
    def set_RESOURCE(self, RESOURCE):
        self.RESOURCE = RESOURCE
    def get_RIGHTS(self):
        return self.RIGHTS
    def set_RIGHTS(self, RIGHTS):
        self.RIGHTS = RIGHTS
    def get_ZONE(self):
        return self.ZONE
    def set_ZONE(self, ZONE):
        self.ZONE = ZONE
    def get_STRING(self):
        return self.STRING
    def set_STRING(self, STRING):
        self.STRING = STRING
    def hasContent_(self):
        if (
            self.ID is not None or
            self.USER is not None or
            self.RESOURCE is not None or
            self.RIGHTS is not None or
            self.ZONE is not None or
            self.STRING is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ACLType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('ACLType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'ACLType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ACLType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ACLType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ACLType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ACLType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.USER is not None:
            namespaceprefix_ = self.USER_nsprefix_ + ':' if (UseCapturedNS_ and self.USER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSER>%s</%sUSER>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.USER), input_name='USER')), namespaceprefix_ , eol_))
        if self.RESOURCE is not None:
            namespaceprefix_ = self.RESOURCE_nsprefix_ + ':' if (UseCapturedNS_ and self.RESOURCE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRESOURCE>%s</%sRESOURCE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RESOURCE), input_name='RESOURCE')), namespaceprefix_ , eol_))
        if self.RIGHTS is not None:
            namespaceprefix_ = self.RIGHTS_nsprefix_ + ':' if (UseCapturedNS_ and self.RIGHTS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRIGHTS>%s</%sRIGHTS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RIGHTS), input_name='RIGHTS')), namespaceprefix_ , eol_))
        if self.ZONE is not None:
            namespaceprefix_ = self.ZONE_nsprefix_ + ':' if (UseCapturedNS_ and self.ZONE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sZONE>%s</%sZONE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ZONE), input_name='ZONE')), namespaceprefix_ , eol_))
        if self.STRING is not None:
            namespaceprefix_ = self.STRING_nsprefix_ + ':' if (UseCapturedNS_ and self.STRING_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTRING>%s</%sSTRING>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.STRING), input_name='STRING')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'USER':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'USER')
            value_ = self.gds_validate_string(value_, node, 'USER')
            self.USER = value_
            self.USER_nsprefix_ = child_.prefix
        elif nodeName_ == 'RESOURCE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RESOURCE')
            value_ = self.gds_validate_string(value_, node, 'RESOURCE')
            self.RESOURCE = value_
            self.RESOURCE_nsprefix_ = child_.prefix
        elif nodeName_ == 'RIGHTS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RIGHTS')
            value_ = self.gds_validate_string(value_, node, 'RIGHTS')
            self.RIGHTS = value_
            self.RIGHTS_nsprefix_ = child_.prefix
        elif nodeName_ == 'ZONE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ZONE')
            value_ = self.gds_validate_string(value_, node, 'ZONE')
            self.ZONE = value_
            self.ZONE_nsprefix_ = child_.prefix
        elif nodeName_ == 'STRING':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'STRING')
            value_ = self.gds_validate_string(value_, node, 'STRING')
            self.STRING = value_
            self.STRING_nsprefix_ = child_.prefix
# end class ACLType


class HOSTSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HOSTSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HOSTSType.subclass:
            return HOSTSType.subclass(*args_, **kwargs_)
        else:
            return HOSTSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOSTSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HOSTSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HOSTSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HOSTSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HOSTSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HOSTSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOSTSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class HOSTSType


class DATASTORESType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORESType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORESType.subclass:
            return DATASTORESType.subclass(*args_, **kwargs_)
        else:
            return DATASTORESType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORESType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORESType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORESType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORESType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORESType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORESType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORESType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class DATASTORESType


class VNETSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VNETSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VNETSType.subclass:
            return VNETSType.subclass(*args_, **kwargs_)
        else:
            return VNETSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNETSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VNETSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VNETSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VNETSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VNETSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VNETSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNETSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class VNETSType


class PERMISSIONSType1(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OWNER_U=None, OWNER_M=None, OWNER_A=None, GROUP_U=None, GROUP_M=None, GROUP_A=None, OTHER_U=None, OTHER_M=None, OTHER_A=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OWNER_U = OWNER_U
        self.OWNER_U_nsprefix_ = None
        self.OWNER_M = OWNER_M
        self.OWNER_M_nsprefix_ = None
        self.OWNER_A = OWNER_A
        self.OWNER_A_nsprefix_ = None
        self.GROUP_U = GROUP_U
        self.GROUP_U_nsprefix_ = None
        self.GROUP_M = GROUP_M
        self.GROUP_M_nsprefix_ = None
        self.GROUP_A = GROUP_A
        self.GROUP_A_nsprefix_ = None
        self.OTHER_U = OTHER_U
        self.OTHER_U_nsprefix_ = None
        self.OTHER_M = OTHER_M
        self.OTHER_M_nsprefix_ = None
        self.OTHER_A = OTHER_A
        self.OTHER_A_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PERMISSIONSType1)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONSType1.subclass:
            return PERMISSIONSType1.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONSType1(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OWNER_U(self):
        return self.OWNER_U
    def set_OWNER_U(self, OWNER_U):
        self.OWNER_U = OWNER_U
    def get_OWNER_M(self):
        return self.OWNER_M
    def set_OWNER_M(self, OWNER_M):
        self.OWNER_M = OWNER_M
    def get_OWNER_A(self):
        return self.OWNER_A
    def set_OWNER_A(self, OWNER_A):
        self.OWNER_A = OWNER_A
    def get_GROUP_U(self):
        return self.GROUP_U
    def set_GROUP_U(self, GROUP_U):
        self.GROUP_U = GROUP_U
    def get_GROUP_M(self):
        return self.GROUP_M
    def set_GROUP_M(self, GROUP_M):
        self.GROUP_M = GROUP_M
    def get_GROUP_A(self):
        return self.GROUP_A
    def set_GROUP_A(self, GROUP_A):
        self.GROUP_A = GROUP_A
    def get_OTHER_U(self):
        return self.OTHER_U
    def set_OTHER_U(self, OTHER_U):
        self.OTHER_U = OTHER_U
    def get_OTHER_M(self):
        return self.OTHER_M
    def set_OTHER_M(self, OTHER_M):
        self.OTHER_M = OTHER_M
    def get_OTHER_A(self):
        return self.OTHER_A
    def set_OTHER_A(self, OTHER_A):
        self.OTHER_A = OTHER_A
    def hasContent_(self):
        if (
            self.OWNER_U is not None or
            self.OWNER_M is not None or
            self.OWNER_A is not None or
            self.GROUP_U is not None or
            self.GROUP_M is not None or
            self.GROUP_A is not None or
            self.OTHER_U is not None or
            self.OTHER_M is not None or
            self.OTHER_A is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType1', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONSType1')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PERMISSIONSType1':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PERMISSIONSType1')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONSType1', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PERMISSIONSType1'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType1', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OWNER_U is not None:
            namespaceprefix_ = self.OWNER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_U>%s</%sOWNER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_U, input_name='OWNER_U'), namespaceprefix_ , eol_))
        if self.OWNER_M is not None:
            namespaceprefix_ = self.OWNER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_M>%s</%sOWNER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_M, input_name='OWNER_M'), namespaceprefix_ , eol_))
        if self.OWNER_A is not None:
            namespaceprefix_ = self.OWNER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_A>%s</%sOWNER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_A, input_name='OWNER_A'), namespaceprefix_ , eol_))
        if self.GROUP_U is not None:
            namespaceprefix_ = self.GROUP_U_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_U>%s</%sGROUP_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_U, input_name='GROUP_U'), namespaceprefix_ , eol_))
        if self.GROUP_M is not None:
            namespaceprefix_ = self.GROUP_M_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_M>%s</%sGROUP_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_M, input_name='GROUP_M'), namespaceprefix_ , eol_))
        if self.GROUP_A is not None:
            namespaceprefix_ = self.GROUP_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_A>%s</%sGROUP_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_A, input_name='GROUP_A'), namespaceprefix_ , eol_))
        if self.OTHER_U is not None:
            namespaceprefix_ = self.OTHER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_U>%s</%sOTHER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_U, input_name='OTHER_U'), namespaceprefix_ , eol_))
        if self.OTHER_M is not None:
            namespaceprefix_ = self.OTHER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_M>%s</%sOTHER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_M, input_name='OTHER_M'), namespaceprefix_ , eol_))
        if self.OTHER_A is not None:
            namespaceprefix_ = self.OTHER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_A>%s</%sOTHER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_A, input_name='OTHER_A'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OWNER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_U')
            self.OWNER_U = ival_
            self.OWNER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_M')
            self.OWNER_M = ival_
            self.OWNER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_A')
            self.OWNER_A = ival_
            self.OWNER_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_U')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_U')
            self.GROUP_U = ival_
            self.GROUP_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_M')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_M')
            self.GROUP_M = ival_
            self.GROUP_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_A')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_A')
            self.GROUP_A = ival_
            self.GROUP_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_U')
            self.OTHER_U = ival_
            self.OTHER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_M')
            self.OTHER_M = ival_
            self.OTHER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_A')
            self.OTHER_A = ival_
            self.OTHER_A_nsprefix_ = child_.prefix
# end class PERMISSIONSType1


class CLUSTERSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, CLUSTERSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if CLUSTERSType.subclass:
            return CLUSTERSType.subclass(*args_, **kwargs_)
        else:
            return CLUSTERSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTERSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLUSTERSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'CLUSTERSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLUSTERSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLUSTERSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CLUSTERSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTERSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class CLUSTERSType


class IMAGESType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGESType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGESType.subclass:
            return IMAGESType.subclass(*args_, **kwargs_)
        else:
            return IMAGESType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGESType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGESType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGESType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGESType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGESType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGESType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGESType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class IMAGESType


class TEMPLATEType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VCENTER_DC_NAME=None, VCENTER_DC_REF=None, VCENTER_DS_NAME=None, VCENTER_DS_REF=None, VCENTER_HOST=None, VCENTER_INSTANCE_ID=None, anytypeobjs_=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VCENTER_DC_NAME = VCENTER_DC_NAME
        self.VCENTER_DC_NAME_nsprefix_ = None
        self.VCENTER_DC_REF = VCENTER_DC_REF
        self.VCENTER_DC_REF_nsprefix_ = None
        self.VCENTER_DS_NAME = VCENTER_DS_NAME
        self.VCENTER_DS_NAME_nsprefix_ = None
        self.VCENTER_DS_REF = VCENTER_DS_REF
        self.VCENTER_DS_REF_nsprefix_ = None
        self.VCENTER_HOST = VCENTER_HOST
        self.VCENTER_HOST_nsprefix_ = None
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
        self.VCENTER_INSTANCE_ID_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, TEMPLATEType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if TEMPLATEType.subclass:
            return TEMPLATEType.subclass(*args_, **kwargs_)
        else:
            return TEMPLATEType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VCENTER_DC_NAME(self):
        return self.VCENTER_DC_NAME
    def set_VCENTER_DC_NAME(self, VCENTER_DC_NAME):
        self.VCENTER_DC_NAME = VCENTER_DC_NAME
    def get_VCENTER_DC_REF(self):
        return self.VCENTER_DC_REF
    def set_VCENTER_DC_REF(self, VCENTER_DC_REF):
        self.VCENTER_DC_REF = VCENTER_DC_REF
    def get_VCENTER_DS_NAME(self):
        return self.VCENTER_DS_NAME
    def set_VCENTER_DS_NAME(self, VCENTER_DS_NAME):
        self.VCENTER_DS_NAME = VCENTER_DS_NAME
    def get_VCENTER_DS_REF(self):
        return self.VCENTER_DS_REF
    def set_VCENTER_DS_REF(self, VCENTER_DS_REF):
        self.VCENTER_DS_REF = VCENTER_DS_REF
    def get_VCENTER_HOST(self):
        return self.VCENTER_HOST
    def set_VCENTER_HOST(self, VCENTER_HOST):
        self.VCENTER_HOST = VCENTER_HOST
    def get_VCENTER_INSTANCE_ID(self):
        return self.VCENTER_INSTANCE_ID
    def set_VCENTER_INSTANCE_ID(self, VCENTER_INSTANCE_ID):
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.VCENTER_DC_NAME is not None or
            self.VCENTER_DC_REF is not None or
            self.VCENTER_DS_NAME is not None or
            self.VCENTER_DS_REF is not None or
            self.VCENTER_HOST is not None or
            self.VCENTER_INSTANCE_ID is not None or
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('TEMPLATEType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'TEMPLATEType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TEMPLATEType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TEMPLATEType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TEMPLATEType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VCENTER_DC_NAME is not None:
            namespaceprefix_ = self.VCENTER_DC_NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_DC_NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_DC_NAME>%s</%sVCENTER_DC_NAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_DC_NAME), input_name='VCENTER_DC_NAME')), namespaceprefix_ , eol_))
        if self.VCENTER_DC_REF is not None:
            namespaceprefix_ = self.VCENTER_DC_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_DC_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_DC_REF>%s</%sVCENTER_DC_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_DC_REF), input_name='VCENTER_DC_REF')), namespaceprefix_ , eol_))
        if self.VCENTER_DS_NAME is not None:
            namespaceprefix_ = self.VCENTER_DS_NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_DS_NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_DS_NAME>%s</%sVCENTER_DS_NAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_DS_NAME), input_name='VCENTER_DS_NAME')), namespaceprefix_ , eol_))
        if self.VCENTER_DS_REF is not None:
            namespaceprefix_ = self.VCENTER_DS_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_DS_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_DS_REF>%s</%sVCENTER_DS_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_DS_REF), input_name='VCENTER_DS_REF')), namespaceprefix_ , eol_))
        if self.VCENTER_HOST is not None:
            namespaceprefix_ = self.VCENTER_HOST_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_HOST_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_HOST>%s</%sVCENTER_HOST>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_HOST), input_name='VCENTER_HOST')), namespaceprefix_ , eol_))
        if self.VCENTER_INSTANCE_ID is not None:
            namespaceprefix_ = self.VCENTER_INSTANCE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_INSTANCE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_INSTANCE_ID>%s</%sVCENTER_INSTANCE_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_INSTANCE_ID), input_name='VCENTER_INSTANCE_ID')), namespaceprefix_ , eol_))
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VCENTER_DC_NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_DC_NAME')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_DC_NAME')
            self.VCENTER_DC_NAME = value_
            self.VCENTER_DC_NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_DC_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_DC_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_DC_REF')
            self.VCENTER_DC_REF = value_
            self.VCENTER_DC_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_DS_NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_DS_NAME')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_DS_NAME')
            self.VCENTER_DS_NAME = value_
            self.VCENTER_DS_NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_DS_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_DS_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_DS_REF')
            self.VCENTER_DS_REF = value_
            self.VCENTER_DS_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_HOST':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_HOST')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_HOST')
            self.VCENTER_HOST = value_
            self.VCENTER_HOST_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_INSTANCE_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_INSTANCE_ID')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_INSTANCE_ID')
            self.VCENTER_INSTANCE_ID = value_
            self.VCENTER_INSTANCE_ID_nsprefix_ = child_.prefix
        else:
            content_ = self.gds_build_any(child_, 'TEMPLATEType')
            self.add_anytypeobjs_(content_)
# end class TEMPLATEType


class GROUPType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, NAME=None, TEMPLATE=None, USERS=None, ADMINS=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
        self.USERS = USERS
        self.USERS_nsprefix_ = None
        self.ADMINS = ADMINS
        self.ADMINS_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, GROUPType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if GROUPType.subclass:
            return GROUPType.subclass(*args_, **kwargs_)
        else:
            return GROUPType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def get_USERS(self):
        return self.USERS
    def set_USERS(self, USERS):
        self.USERS = USERS
    def get_ADMINS(self):
        return self.ADMINS
    def set_ADMINS(self, ADMINS):
        self.ADMINS = ADMINS
    def hasContent_(self):
        if (
            self.ID is not None or
            self.NAME is not None or
            self.TEMPLATE is not None or
            self.USERS is not None or
            self.ADMINS is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='GROUPType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('GROUPType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'GROUPType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GROUPType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GROUPType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GROUPType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='GROUPType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTEMPLATE>%s</%sTEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TEMPLATE), input_name='TEMPLATE')), namespaceprefix_ , eol_))
        if self.USERS is not None:
            namespaceprefix_ = self.USERS_nsprefix_ + ':' if (UseCapturedNS_ and self.USERS_nsprefix_) else ''
            self.USERS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='USERS', pretty_print=pretty_print)
        if self.ADMINS is not None:
            namespaceprefix_ = self.ADMINS_nsprefix_ + ':' if (UseCapturedNS_ and self.ADMINS_nsprefix_) else ''
            self.ADMINS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ADMINS', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'TEMPLATE')
            self.TEMPLATE = value_
            self.TEMPLATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'USERS':
            obj_ = USERSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.USERS = obj_
            obj_.original_tagname_ = 'USERS'
        elif nodeName_ == 'ADMINS':
            obj_ = ADMINSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.ADMINS = obj_
            obj_.original_tagname_ = 'ADMINS'
# end class GROUPType


class USERSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, USERSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if USERSType.subclass:
            return USERSType.subclass(*args_, **kwargs_)
        else:
            return USERSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USERSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('USERSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'USERSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='USERSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='USERSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='USERSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USERSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class USERSType


class ADMINSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, ADMINSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if ADMINSType.subclass:
            return ADMINSType.subclass(*args_, **kwargs_)
        else:
            return ADMINSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ADMINSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('ADMINSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'ADMINSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ADMINSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ADMINSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ADMINSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ADMINSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class ADMINSType


class QUOTASType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, DATASTORE_QUOTA=None, NETWORK_QUOTA=None, VM_QUOTA=None, IMAGE_QUOTA=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
        self.DATASTORE_QUOTA_nsprefix_ = None
        self.NETWORK_QUOTA = NETWORK_QUOTA
        self.NETWORK_QUOTA_nsprefix_ = None
        self.VM_QUOTA = VM_QUOTA
        self.VM_QUOTA_nsprefix_ = None
        self.IMAGE_QUOTA = IMAGE_QUOTA
        self.IMAGE_QUOTA_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, QUOTASType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if QUOTASType.subclass:
            return QUOTASType.subclass(*args_, **kwargs_)
        else:
            return QUOTASType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_DATASTORE_QUOTA(self):
        return self.DATASTORE_QUOTA
    def set_DATASTORE_QUOTA(self, DATASTORE_QUOTA):
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
    def get_NETWORK_QUOTA(self):
        return self.NETWORK_QUOTA
    def set_NETWORK_QUOTA(self, NETWORK_QUOTA):
        self.NETWORK_QUOTA = NETWORK_QUOTA
    def get_VM_QUOTA(self):
        return self.VM_QUOTA
    def set_VM_QUOTA(self, VM_QUOTA):
        self.VM_QUOTA = VM_QUOTA
    def get_IMAGE_QUOTA(self):
        return self.IMAGE_QUOTA
    def set_IMAGE_QUOTA(self, IMAGE_QUOTA):
        self.IMAGE_QUOTA = IMAGE_QUOTA
    def hasContent_(self):
        if (
            self.ID is not None or
            self.DATASTORE_QUOTA is not None or
            self.NETWORK_QUOTA is not None or
            self.VM_QUOTA is not None or
            self.IMAGE_QUOTA is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='QUOTASType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('QUOTASType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'QUOTASType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='QUOTASType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='QUOTASType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='QUOTASType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='QUOTASType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.DATASTORE_QUOTA is not None:
            namespaceprefix_ = self.DATASTORE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_QUOTA_nsprefix_) else ''
            self.DATASTORE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE_QUOTA', pretty_print=pretty_print)
        if self.NETWORK_QUOTA is not None:
            namespaceprefix_ = self.NETWORK_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_QUOTA_nsprefix_) else ''
            self.NETWORK_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK_QUOTA', pretty_print=pretty_print)
        if self.VM_QUOTA is not None:
            namespaceprefix_ = self.VM_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_QUOTA_nsprefix_) else ''
            self.VM_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM_QUOTA', pretty_print=pretty_print)
        if self.IMAGE_QUOTA is not None:
            namespaceprefix_ = self.IMAGE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_QUOTA_nsprefix_) else ''
            self.IMAGE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE_QUOTA', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATASTORE_QUOTA':
            obj_ = DATASTORE_QUOTAType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE_QUOTA = obj_
            obj_.original_tagname_ = 'DATASTORE_QUOTA'
        elif nodeName_ == 'NETWORK_QUOTA':
            obj_ = NETWORK_QUOTAType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK_QUOTA = obj_
            obj_.original_tagname_ = 'NETWORK_QUOTA'
        elif nodeName_ == 'VM_QUOTA':
            obj_ = VM_QUOTAType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM_QUOTA = obj_
            obj_.original_tagname_ = 'VM_QUOTA'
        elif nodeName_ == 'IMAGE_QUOTA':
            obj_ = IMAGE_QUOTAType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE_QUOTA = obj_
            obj_.original_tagname_ = 'IMAGE_QUOTA'
# end class QUOTASType


class DATASTORE_QUOTAType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DATASTORE is None:
            self.DATASTORE = []
        else:
            self.DATASTORE = DATASTORE
        self.DATASTORE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORE_QUOTAType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORE_QUOTAType.subclass:
            return DATASTORE_QUOTAType.subclass(*args_, **kwargs_)
        else:
            return DATASTORE_QUOTAType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE(self):
        return self.DATASTORE
    def set_DATASTORE(self, DATASTORE):
        self.DATASTORE = DATASTORE
    def add_DATASTORE(self, value):
        self.DATASTORE.append(value)
    def insert_DATASTORE_at(self, index, value):
        self.DATASTORE.insert(index, value)
    def replace_DATASTORE_at(self, index, value):
        self.DATASTORE[index] = value
    def hasContent_(self):
        if (
            self.DATASTORE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORE_QUOTAType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORE_QUOTAType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORE_QUOTAType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORE_QUOTAType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORE_QUOTAType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DATASTORE_ in self.DATASTORE:
            namespaceprefix_ = self.DATASTORE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_nsprefix_) else ''
            DATASTORE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE':
            obj_ = DATASTOREType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE.append(obj_)
            obj_.original_tagname_ = 'DATASTORE'
# end class DATASTORE_QUOTAType


class DATASTOREType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, IMAGES=None, IMAGES_USED=None, SIZE=None, SIZE_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.IMAGES = IMAGES
        self.IMAGES_nsprefix_ = None
        self.IMAGES_USED = IMAGES_USED
        self.IMAGES_USED_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.SIZE_USED = SIZE_USED
        self.SIZE_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTOREType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTOREType.subclass:
            return DATASTOREType.subclass(*args_, **kwargs_)
        else:
            return DATASTOREType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_IMAGES(self):
        return self.IMAGES
    def set_IMAGES(self, IMAGES):
        self.IMAGES = IMAGES
    def get_IMAGES_USED(self):
        return self.IMAGES_USED
    def set_IMAGES_USED(self, IMAGES_USED):
        self.IMAGES_USED = IMAGES_USED
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_SIZE_USED(self):
        return self.SIZE_USED
    def set_SIZE_USED(self, SIZE_USED):
        self.SIZE_USED = SIZE_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.IMAGES is not None or
            self.IMAGES_USED is not None or
            self.SIZE is not None or
            self.SIZE_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTOREType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTOREType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTOREType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTOREType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTOREType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.IMAGES is not None:
            namespaceprefix_ = self.IMAGES_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES>%s</%sIMAGES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES), input_name='IMAGES')), namespaceprefix_ , eol_))
        if self.IMAGES_USED is not None:
            namespaceprefix_ = self.IMAGES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES_USED>%s</%sIMAGES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES_USED), input_name='IMAGES_USED')), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE), input_name='SIZE')), namespaceprefix_ , eol_))
        if self.SIZE_USED is not None:
            namespaceprefix_ = self.SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE_USED>%s</%sSIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE_USED), input_name='SIZE_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES')
            value_ = self.gds_validate_string(value_, node, 'IMAGES')
            self.IMAGES = value_
            self.IMAGES_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES_USED')
            value_ = self.gds_validate_string(value_, node, 'IMAGES_USED')
            self.IMAGES_USED = value_
            self.IMAGES_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE')
            value_ = self.gds_validate_string(value_, node, 'SIZE')
            self.SIZE = value_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SIZE_USED')
            self.SIZE_USED = value_
            self.SIZE_USED_nsprefix_ = child_.prefix
# end class DATASTOREType


class NETWORK_QUOTAType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, NETWORK=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if NETWORK is None:
            self.NETWORK = []
        else:
            self.NETWORK = NETWORK
        self.NETWORK_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORK_QUOTAType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORK_QUOTAType.subclass:
            return NETWORK_QUOTAType.subclass(*args_, **kwargs_)
        else:
            return NETWORK_QUOTAType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_NETWORK(self):
        return self.NETWORK
    def set_NETWORK(self, NETWORK):
        self.NETWORK = NETWORK
    def add_NETWORK(self, value):
        self.NETWORK.append(value)
    def insert_NETWORK_at(self, index, value):
        self.NETWORK.insert(index, value)
    def replace_NETWORK_at(self, index, value):
        self.NETWORK[index] = value
    def hasContent_(self):
        if (
            self.NETWORK
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORK_QUOTAType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORK_QUOTAType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORK_QUOTAType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORK_QUOTAType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORK_QUOTAType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for NETWORK_ in self.NETWORK:
            namespaceprefix_ = self.NETWORK_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_nsprefix_) else ''
            NETWORK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'NETWORK':
            obj_ = NETWORKType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK.append(obj_)
            obj_.original_tagname_ = 'NETWORK'
# end class NETWORK_QUOTAType


class NETWORKType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, LEASES=None, LEASES_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.LEASES = LEASES
        self.LEASES_nsprefix_ = None
        self.LEASES_USED = LEASES_USED
        self.LEASES_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORKType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORKType.subclass:
            return NETWORKType.subclass(*args_, **kwargs_)
        else:
            return NETWORKType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_LEASES(self):
        return self.LEASES
    def set_LEASES(self, LEASES):
        self.LEASES = LEASES
    def get_LEASES_USED(self):
        return self.LEASES_USED
    def set_LEASES_USED(self, LEASES_USED):
        self.LEASES_USED = LEASES_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.LEASES is not None or
            self.LEASES_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORKType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORKType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORKType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORKType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORKType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.LEASES is not None:
            namespaceprefix_ = self.LEASES_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES>%s</%sLEASES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES), input_name='LEASES')), namespaceprefix_ , eol_))
        if self.LEASES_USED is not None:
            namespaceprefix_ = self.LEASES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES_USED>%s</%sLEASES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES_USED), input_name='LEASES_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES')
            value_ = self.gds_validate_string(value_, node, 'LEASES')
            self.LEASES = value_
            self.LEASES_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES_USED')
            value_ = self.gds_validate_string(value_, node, 'LEASES_USED')
            self.LEASES_USED = value_
            self.LEASES_USED_nsprefix_ = child_.prefix
# end class NETWORKType


class VM_QUOTAType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VM=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VM = VM
        self.VM_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VM_QUOTAType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VM_QUOTAType.subclass:
            return VM_QUOTAType.subclass(*args_, **kwargs_)
        else:
            return VM_QUOTAType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VM(self):
        return self.VM
    def set_VM(self, VM):
        self.VM = VM
    def hasContent_(self):
        if (
            self.VM is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VM_QUOTAType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VM_QUOTAType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VM_QUOTAType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VM_QUOTAType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VM_QUOTAType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VM is not None:
            namespaceprefix_ = self.VM_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_nsprefix_) else ''
            self.VM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VM':
            obj_ = VMType2.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM = obj_
            obj_.original_tagname_ = 'VM'
# end class VM_QUOTAType


class VMType2(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CPU=None, CPU_USED=None, MEMORY=None, MEMORY_USED=None, RUNNING_CPU=None, RUNNING_CPU_USED=None, RUNNING_MEMORY=None, RUNNING_MEMORY_USED=None, RUNNING_VMS=None, RUNNING_VMS_USED=None, SYSTEM_DISK_SIZE=None, SYSTEM_DISK_SIZE_USED=None, VMS=None, VMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.CPU = CPU
        self.CPU_nsprefix_ = None
        self.CPU_USED = CPU_USED
        self.CPU_USED_nsprefix_ = None
        self.MEMORY = MEMORY
        self.MEMORY_nsprefix_ = None
        self.MEMORY_USED = MEMORY_USED
        self.MEMORY_USED_nsprefix_ = None
        self.RUNNING_CPU = RUNNING_CPU
        self.RUNNING_CPU_nsprefix_ = None
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
        self.RUNNING_CPU_USED_nsprefix_ = None
        self.RUNNING_MEMORY = RUNNING_MEMORY
        self.RUNNING_MEMORY_nsprefix_ = None
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
        self.RUNNING_MEMORY_USED_nsprefix_ = None
        self.RUNNING_VMS = RUNNING_VMS
        self.RUNNING_VMS_nsprefix_ = None
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
        self.RUNNING_VMS_USED_nsprefix_ = None
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
        self.SYSTEM_DISK_SIZE_nsprefix_ = None
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
        self.SYSTEM_DISK_SIZE_USED_nsprefix_ = None
        self.VMS = VMS
        self.VMS_nsprefix_ = None
        self.VMS_USED = VMS_USED
        self.VMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMType2)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMType2.subclass:
            return VMType2.subclass(*args_, **kwargs_)
        else:
            return VMType2(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CPU(self):
        return self.CPU
    def set_CPU(self, CPU):
        self.CPU = CPU
    def get_CPU_USED(self):
        return self.CPU_USED
    def set_CPU_USED(self, CPU_USED):
        self.CPU_USED = CPU_USED
    def get_MEMORY(self):
        return self.MEMORY
    def set_MEMORY(self, MEMORY):
        self.MEMORY = MEMORY
    def get_MEMORY_USED(self):
        return self.MEMORY_USED
    def set_MEMORY_USED(self, MEMORY_USED):
        self.MEMORY_USED = MEMORY_USED
    def get_RUNNING_CPU(self):
        return self.RUNNING_CPU
    def set_RUNNING_CPU(self, RUNNING_CPU):
        self.RUNNING_CPU = RUNNING_CPU
    def get_RUNNING_CPU_USED(self):
        return self.RUNNING_CPU_USED
    def set_RUNNING_CPU_USED(self, RUNNING_CPU_USED):
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
    def get_RUNNING_MEMORY(self):
        return self.RUNNING_MEMORY
    def set_RUNNING_MEMORY(self, RUNNING_MEMORY):
        self.RUNNING_MEMORY = RUNNING_MEMORY
    def get_RUNNING_MEMORY_USED(self):
        return self.RUNNING_MEMORY_USED
    def set_RUNNING_MEMORY_USED(self, RUNNING_MEMORY_USED):
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
    def get_RUNNING_VMS(self):
        return self.RUNNING_VMS
    def set_RUNNING_VMS(self, RUNNING_VMS):
        self.RUNNING_VMS = RUNNING_VMS
    def get_RUNNING_VMS_USED(self):
        return self.RUNNING_VMS_USED
    def set_RUNNING_VMS_USED(self, RUNNING_VMS_USED):
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
    def get_SYSTEM_DISK_SIZE(self):
        return self.SYSTEM_DISK_SIZE
    def set_SYSTEM_DISK_SIZE(self, SYSTEM_DISK_SIZE):
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
    def get_SYSTEM_DISK_SIZE_USED(self):
        return self.SYSTEM_DISK_SIZE_USED
    def set_SYSTEM_DISK_SIZE_USED(self, SYSTEM_DISK_SIZE_USED):
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
    def get_VMS(self):
        return self.VMS
    def set_VMS(self, VMS):
        self.VMS = VMS
    def get_VMS_USED(self):
        return self.VMS_USED
    def set_VMS_USED(self, VMS_USED):
        self.VMS_USED = VMS_USED
    def hasContent_(self):
        if (
            self.CPU is not None or
            self.CPU_USED is not None or
            self.MEMORY is not None or
            self.MEMORY_USED is not None or
            self.RUNNING_CPU is not None or
            self.RUNNING_CPU_USED is not None or
            self.RUNNING_MEMORY is not None or
            self.RUNNING_MEMORY_USED is not None or
            self.RUNNING_VMS is not None or
            self.RUNNING_VMS_USED is not None or
            self.SYSTEM_DISK_SIZE is not None or
            self.SYSTEM_DISK_SIZE_USED is not None or
            self.VMS is not None or
            self.VMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType2', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMType2')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMType2':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMType2')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMType2', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMType2'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType2', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.CPU is not None:
            namespaceprefix_ = self.CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU>%s</%sCPU>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPU), input_name='CPU')), namespaceprefix_ , eol_))
        if self.CPU_USED is not None:
            namespaceprefix_ = self.CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU_USED>%s</%sCPU_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPU_USED), input_name='CPU_USED')), namespaceprefix_ , eol_))
        if self.MEMORY is not None:
            namespaceprefix_ = self.MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY>%s</%sMEMORY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MEMORY), input_name='MEMORY')), namespaceprefix_ , eol_))
        if self.MEMORY_USED is not None:
            namespaceprefix_ = self.MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY_USED>%s</%sMEMORY_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MEMORY_USED), input_name='MEMORY_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_CPU is not None:
            namespaceprefix_ = self.RUNNING_CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU>%s</%sRUNNING_CPU>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_CPU), input_name='RUNNING_CPU')), namespaceprefix_ , eol_))
        if self.RUNNING_CPU_USED is not None:
            namespaceprefix_ = self.RUNNING_CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU_USED>%s</%sRUNNING_CPU_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_CPU_USED), input_name='RUNNING_CPU_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY>%s</%sRUNNING_MEMORY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_MEMORY), input_name='RUNNING_MEMORY')), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY_USED is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY_USED>%s</%sRUNNING_MEMORY_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_MEMORY_USED), input_name='RUNNING_MEMORY_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_VMS is not None:
            namespaceprefix_ = self.RUNNING_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS>%s</%sRUNNING_VMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_VMS), input_name='RUNNING_VMS')), namespaceprefix_ , eol_))
        if self.RUNNING_VMS_USED is not None:
            namespaceprefix_ = self.RUNNING_VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS_USED>%s</%sRUNNING_VMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_VMS_USED), input_name='RUNNING_VMS_USED')), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE>%s</%sSYSTEM_DISK_SIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SYSTEM_DISK_SIZE), input_name='SYSTEM_DISK_SIZE')), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE_USED is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE_USED>%s</%sSYSTEM_DISK_SIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SYSTEM_DISK_SIZE_USED), input_name='SYSTEM_DISK_SIZE_USED')), namespaceprefix_ , eol_))
        if self.VMS is not None:
            namespaceprefix_ = self.VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS>%s</%sVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMS), input_name='VMS')), namespaceprefix_ , eol_))
        if self.VMS_USED is not None:
            namespaceprefix_ = self.VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS_USED>%s</%sVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMS_USED), input_name='VMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CPU':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPU')
            value_ = self.gds_validate_string(value_, node, 'CPU')
            self.CPU = value_
            self.CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'CPU_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPU_USED')
            value_ = self.gds_validate_string(value_, node, 'CPU_USED')
            self.CPU_USED = value_
            self.CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MEMORY')
            value_ = self.gds_validate_string(value_, node, 'MEMORY')
            self.MEMORY = value_
            self.MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MEMORY_USED')
            value_ = self.gds_validate_string(value_, node, 'MEMORY_USED')
            self.MEMORY_USED = value_
            self.MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_CPU')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_CPU')
            self.RUNNING_CPU = value_
            self.RUNNING_CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_CPU_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_CPU_USED')
            self.RUNNING_CPU_USED = value_
            self.RUNNING_CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_MEMORY')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_MEMORY')
            self.RUNNING_MEMORY = value_
            self.RUNNING_MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_MEMORY_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_MEMORY_USED')
            self.RUNNING_MEMORY_USED = value_
            self.RUNNING_MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_VMS')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_VMS')
            self.RUNNING_VMS = value_
            self.RUNNING_VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_VMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_VMS_USED')
            self.RUNNING_VMS_USED = value_
            self.RUNNING_VMS_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SYSTEM_DISK_SIZE')
            value_ = self.gds_validate_string(value_, node, 'SYSTEM_DISK_SIZE')
            self.SYSTEM_DISK_SIZE = value_
            self.SYSTEM_DISK_SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SYSTEM_DISK_SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SYSTEM_DISK_SIZE_USED')
            self.SYSTEM_DISK_SIZE_USED = value_
            self.SYSTEM_DISK_SIZE_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMS')
            value_ = self.gds_validate_string(value_, node, 'VMS')
            self.VMS = value_
            self.VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMS_USED')
            value_ = self.gds_validate_string(value_, node, 'VMS_USED')
            self.VMS_USED = value_
            self.VMS_USED_nsprefix_ = child_.prefix
# end class VMType2


class IMAGE_QUOTAType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, IMAGE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if IMAGE is None:
            self.IMAGE = []
        else:
            self.IMAGE = IMAGE
        self.IMAGE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGE_QUOTAType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGE_QUOTAType.subclass:
            return IMAGE_QUOTAType.subclass(*args_, **kwargs_)
        else:
            return IMAGE_QUOTAType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_IMAGE(self):
        return self.IMAGE
    def set_IMAGE(self, IMAGE):
        self.IMAGE = IMAGE
    def add_IMAGE(self, value):
        self.IMAGE.append(value)
    def insert_IMAGE_at(self, index, value):
        self.IMAGE.insert(index, value)
    def replace_IMAGE_at(self, index, value):
        self.IMAGE[index] = value
    def hasContent_(self):
        if (
            self.IMAGE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGE_QUOTAType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGE_QUOTAType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGE_QUOTAType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGE_QUOTAType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGE_QUOTAType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for IMAGE_ in self.IMAGE:
            namespaceprefix_ = self.IMAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_nsprefix_) else ''
            IMAGE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'IMAGE':
            obj_ = IMAGEType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE.append(obj_)
            obj_.original_tagname_ = 'IMAGE'
# end class IMAGE_QUOTAType


class IMAGEType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, RVMS=None, RVMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.RVMS = RVMS
        self.RVMS_nsprefix_ = None
        self.RVMS_USED = RVMS_USED
        self.RVMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGEType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGEType.subclass:
            return IMAGEType.subclass(*args_, **kwargs_)
        else:
            return IMAGEType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_RVMS(self):
        return self.RVMS
    def set_RVMS(self, RVMS):
        self.RVMS = RVMS
    def get_RVMS_USED(self):
        return self.RVMS_USED
    def set_RVMS_USED(self, RVMS_USED):
        self.RVMS_USED = RVMS_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.RVMS is not None or
            self.RVMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGEType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGEType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGEType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGEType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGEType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.RVMS is not None:
            namespaceprefix_ = self.RVMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS>%s</%sRVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS), input_name='RVMS')), namespaceprefix_ , eol_))
        if self.RVMS_USED is not None:
            namespaceprefix_ = self.RVMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS_USED>%s</%sRVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS_USED), input_name='RVMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS')
            value_ = self.gds_validate_string(value_, node, 'RVMS')
            self.RVMS = value_
            self.RVMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RVMS_USED')
            self.RVMS_USED = value_
            self.RVMS_USED_nsprefix_ = child_.prefix
# end class IMAGEType


class DEFAULT_GROUP_QUOTASType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE_QUOTA=None, NETWORK_QUOTA=None, VM_QUOTA=None, IMAGE_QUOTA=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
        self.DATASTORE_QUOTA_nsprefix_ = None
        self.NETWORK_QUOTA = NETWORK_QUOTA
        self.NETWORK_QUOTA_nsprefix_ = None
        self.VM_QUOTA = VM_QUOTA
        self.VM_QUOTA_nsprefix_ = None
        self.IMAGE_QUOTA = IMAGE_QUOTA
        self.IMAGE_QUOTA_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DEFAULT_GROUP_QUOTASType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DEFAULT_GROUP_QUOTASType.subclass:
            return DEFAULT_GROUP_QUOTASType.subclass(*args_, **kwargs_)
        else:
            return DEFAULT_GROUP_QUOTASType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE_QUOTA(self):
        return self.DATASTORE_QUOTA
    def set_DATASTORE_QUOTA(self, DATASTORE_QUOTA):
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
    def get_NETWORK_QUOTA(self):
        return self.NETWORK_QUOTA
    def set_NETWORK_QUOTA(self, NETWORK_QUOTA):
        self.NETWORK_QUOTA = NETWORK_QUOTA
    def get_VM_QUOTA(self):
        return self.VM_QUOTA
    def set_VM_QUOTA(self, VM_QUOTA):
        self.VM_QUOTA = VM_QUOTA
    def get_IMAGE_QUOTA(self):
        return self.IMAGE_QUOTA
    def set_IMAGE_QUOTA(self, IMAGE_QUOTA):
        self.IMAGE_QUOTA = IMAGE_QUOTA
    def hasContent_(self):
        if (
            self.DATASTORE_QUOTA is not None or
            self.NETWORK_QUOTA is not None or
            self.VM_QUOTA is not None or
            self.IMAGE_QUOTA is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DEFAULT_GROUP_QUOTASType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DEFAULT_GROUP_QUOTASType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DEFAULT_GROUP_QUOTASType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DEFAULT_GROUP_QUOTASType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DEFAULT_GROUP_QUOTASType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DEFAULT_GROUP_QUOTASType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DEFAULT_GROUP_QUOTASType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.DATASTORE_QUOTA is not None:
            namespaceprefix_ = self.DATASTORE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_QUOTA_nsprefix_) else ''
            self.DATASTORE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE_QUOTA', pretty_print=pretty_print)
        if self.NETWORK_QUOTA is not None:
            namespaceprefix_ = self.NETWORK_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_QUOTA_nsprefix_) else ''
            self.NETWORK_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK_QUOTA', pretty_print=pretty_print)
        if self.VM_QUOTA is not None:
            namespaceprefix_ = self.VM_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_QUOTA_nsprefix_) else ''
            self.VM_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM_QUOTA', pretty_print=pretty_print)
        if self.IMAGE_QUOTA is not None:
            namespaceprefix_ = self.IMAGE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_QUOTA_nsprefix_) else ''
            self.IMAGE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE_QUOTA', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE_QUOTA':
            obj_ = DATASTORE_QUOTAType3.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE_QUOTA = obj_
            obj_.original_tagname_ = 'DATASTORE_QUOTA'
        elif nodeName_ == 'NETWORK_QUOTA':
            obj_ = NETWORK_QUOTAType5.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK_QUOTA = obj_
            obj_.original_tagname_ = 'NETWORK_QUOTA'
        elif nodeName_ == 'VM_QUOTA':
            obj_ = VM_QUOTAType7.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM_QUOTA = obj_
            obj_.original_tagname_ = 'VM_QUOTA'
        elif nodeName_ == 'IMAGE_QUOTA':
            obj_ = IMAGE_QUOTAType9.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE_QUOTA = obj_
            obj_.original_tagname_ = 'IMAGE_QUOTA'
# end class DEFAULT_GROUP_QUOTASType


class DATASTORE_QUOTAType3(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DATASTORE is None:
            self.DATASTORE = []
        else:
            self.DATASTORE = DATASTORE
        self.DATASTORE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORE_QUOTAType3)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORE_QUOTAType3.subclass:
            return DATASTORE_QUOTAType3.subclass(*args_, **kwargs_)
        else:
            return DATASTORE_QUOTAType3(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE(self):
        return self.DATASTORE
    def set_DATASTORE(self, DATASTORE):
        self.DATASTORE = DATASTORE
    def add_DATASTORE(self, value):
        self.DATASTORE.append(value)
    def insert_DATASTORE_at(self, index, value):
        self.DATASTORE.insert(index, value)
    def replace_DATASTORE_at(self, index, value):
        self.DATASTORE[index] = value
    def hasContent_(self):
        if (
            self.DATASTORE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType3', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORE_QUOTAType3')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORE_QUOTAType3':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORE_QUOTAType3')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORE_QUOTAType3', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORE_QUOTAType3'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType3', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DATASTORE_ in self.DATASTORE:
            namespaceprefix_ = self.DATASTORE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_nsprefix_) else ''
            DATASTORE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE':
            obj_ = DATASTOREType4.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE.append(obj_)
            obj_.original_tagname_ = 'DATASTORE'
# end class DATASTORE_QUOTAType3


class DATASTOREType4(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, IMAGES=None, IMAGES_USED=None, SIZE=None, SIZE_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.IMAGES = IMAGES
        self.IMAGES_nsprefix_ = None
        self.IMAGES_USED = IMAGES_USED
        self.IMAGES_USED_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.SIZE_USED = SIZE_USED
        self.SIZE_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTOREType4)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTOREType4.subclass:
            return DATASTOREType4.subclass(*args_, **kwargs_)
        else:
            return DATASTOREType4(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_IMAGES(self):
        return self.IMAGES
    def set_IMAGES(self, IMAGES):
        self.IMAGES = IMAGES
    def get_IMAGES_USED(self):
        return self.IMAGES_USED
    def set_IMAGES_USED(self, IMAGES_USED):
        self.IMAGES_USED = IMAGES_USED
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_SIZE_USED(self):
        return self.SIZE_USED
    def set_SIZE_USED(self, SIZE_USED):
        self.SIZE_USED = SIZE_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.IMAGES is not None or
            self.IMAGES_USED is not None or
            self.SIZE is not None or
            self.SIZE_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType4', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTOREType4')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTOREType4':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTOREType4')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTOREType4', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTOREType4'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType4', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.IMAGES is not None:
            namespaceprefix_ = self.IMAGES_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES>%s</%sIMAGES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES), input_name='IMAGES')), namespaceprefix_ , eol_))
        if self.IMAGES_USED is not None:
            namespaceprefix_ = self.IMAGES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES_USED>%s</%sIMAGES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES_USED), input_name='IMAGES_USED')), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE), input_name='SIZE')), namespaceprefix_ , eol_))
        if self.SIZE_USED is not None:
            namespaceprefix_ = self.SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE_USED>%s</%sSIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE_USED), input_name='SIZE_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES')
            value_ = self.gds_validate_string(value_, node, 'IMAGES')
            self.IMAGES = value_
            self.IMAGES_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES_USED')
            value_ = self.gds_validate_string(value_, node, 'IMAGES_USED')
            self.IMAGES_USED = value_
            self.IMAGES_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE')
            value_ = self.gds_validate_string(value_, node, 'SIZE')
            self.SIZE = value_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SIZE_USED')
            self.SIZE_USED = value_
            self.SIZE_USED_nsprefix_ = child_.prefix
# end class DATASTOREType4


class NETWORK_QUOTAType5(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, NETWORK=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if NETWORK is None:
            self.NETWORK = []
        else:
            self.NETWORK = NETWORK
        self.NETWORK_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORK_QUOTAType5)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORK_QUOTAType5.subclass:
            return NETWORK_QUOTAType5.subclass(*args_, **kwargs_)
        else:
            return NETWORK_QUOTAType5(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_NETWORK(self):
        return self.NETWORK
    def set_NETWORK(self, NETWORK):
        self.NETWORK = NETWORK
    def add_NETWORK(self, value):
        self.NETWORK.append(value)
    def insert_NETWORK_at(self, index, value):
        self.NETWORK.insert(index, value)
    def replace_NETWORK_at(self, index, value):
        self.NETWORK[index] = value
    def hasContent_(self):
        if (
            self.NETWORK
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType5', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORK_QUOTAType5')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORK_QUOTAType5':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORK_QUOTAType5')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORK_QUOTAType5', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORK_QUOTAType5'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType5', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for NETWORK_ in self.NETWORK:
            namespaceprefix_ = self.NETWORK_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_nsprefix_) else ''
            NETWORK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'NETWORK':
            obj_ = NETWORKType6.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK.append(obj_)
            obj_.original_tagname_ = 'NETWORK'
# end class NETWORK_QUOTAType5


class NETWORKType6(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, LEASES=None, LEASES_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.LEASES = LEASES
        self.LEASES_nsprefix_ = None
        self.LEASES_USED = LEASES_USED
        self.LEASES_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORKType6)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORKType6.subclass:
            return NETWORKType6.subclass(*args_, **kwargs_)
        else:
            return NETWORKType6(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_LEASES(self):
        return self.LEASES
    def set_LEASES(self, LEASES):
        self.LEASES = LEASES
    def get_LEASES_USED(self):
        return self.LEASES_USED
    def set_LEASES_USED(self, LEASES_USED):
        self.LEASES_USED = LEASES_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.LEASES is not None or
            self.LEASES_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType6', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORKType6')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORKType6':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORKType6')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORKType6', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORKType6'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType6', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.LEASES is not None:
            namespaceprefix_ = self.LEASES_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES>%s</%sLEASES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES), input_name='LEASES')), namespaceprefix_ , eol_))
        if self.LEASES_USED is not None:
            namespaceprefix_ = self.LEASES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES_USED>%s</%sLEASES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES_USED), input_name='LEASES_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES')
            value_ = self.gds_validate_string(value_, node, 'LEASES')
            self.LEASES = value_
            self.LEASES_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES_USED')
            value_ = self.gds_validate_string(value_, node, 'LEASES_USED')
            self.LEASES_USED = value_
            self.LEASES_USED_nsprefix_ = child_.prefix
# end class NETWORKType6


class VM_QUOTAType7(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VM=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VM = VM
        self.VM_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VM_QUOTAType7)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VM_QUOTAType7.subclass:
            return VM_QUOTAType7.subclass(*args_, **kwargs_)
        else:
            return VM_QUOTAType7(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VM(self):
        return self.VM
    def set_VM(self, VM):
        self.VM = VM
    def hasContent_(self):
        if (
            self.VM is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType7', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VM_QUOTAType7')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VM_QUOTAType7':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VM_QUOTAType7')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VM_QUOTAType7', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VM_QUOTAType7'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType7', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VM is not None:
            namespaceprefix_ = self.VM_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_nsprefix_) else ''
            self.VM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VM':
            obj_ = VMType8.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM = obj_
            obj_.original_tagname_ = 'VM'
# end class VM_QUOTAType7


class VMType8(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CPU=None, CPU_USED=None, MEMORY=None, MEMORY_USED=None, RUNNING_CPU=None, RUNNING_CPU_USED=None, RUNNING_MEMORY=None, RUNNING_MEMORY_USED=None, RUNNING_VMS=None, RUNNING_VMS_USED=None, SYSTEM_DISK_SIZE=None, SYSTEM_DISK_SIZE_USED=None, VMS=None, VMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.CPU = CPU
        self.CPU_nsprefix_ = None
        self.CPU_USED = CPU_USED
        self.CPU_USED_nsprefix_ = None
        self.MEMORY = MEMORY
        self.MEMORY_nsprefix_ = None
        self.MEMORY_USED = MEMORY_USED
        self.MEMORY_USED_nsprefix_ = None
        self.RUNNING_CPU = RUNNING_CPU
        self.RUNNING_CPU_nsprefix_ = None
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
        self.RUNNING_CPU_USED_nsprefix_ = None
        self.RUNNING_MEMORY = RUNNING_MEMORY
        self.RUNNING_MEMORY_nsprefix_ = None
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
        self.RUNNING_MEMORY_USED_nsprefix_ = None
        self.RUNNING_VMS = RUNNING_VMS
        self.RUNNING_VMS_nsprefix_ = None
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
        self.RUNNING_VMS_USED_nsprefix_ = None
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
        self.SYSTEM_DISK_SIZE_nsprefix_ = None
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
        self.SYSTEM_DISK_SIZE_USED_nsprefix_ = None
        self.VMS = VMS
        self.VMS_nsprefix_ = None
        self.VMS_USED = VMS_USED
        self.VMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMType8)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMType8.subclass:
            return VMType8.subclass(*args_, **kwargs_)
        else:
            return VMType8(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CPU(self):
        return self.CPU
    def set_CPU(self, CPU):
        self.CPU = CPU
    def get_CPU_USED(self):
        return self.CPU_USED
    def set_CPU_USED(self, CPU_USED):
        self.CPU_USED = CPU_USED
    def get_MEMORY(self):
        return self.MEMORY
    def set_MEMORY(self, MEMORY):
        self.MEMORY = MEMORY
    def get_MEMORY_USED(self):
        return self.MEMORY_USED
    def set_MEMORY_USED(self, MEMORY_USED):
        self.MEMORY_USED = MEMORY_USED
    def get_RUNNING_CPU(self):
        return self.RUNNING_CPU
    def set_RUNNING_CPU(self, RUNNING_CPU):
        self.RUNNING_CPU = RUNNING_CPU
    def get_RUNNING_CPU_USED(self):
        return self.RUNNING_CPU_USED
    def set_RUNNING_CPU_USED(self, RUNNING_CPU_USED):
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
    def get_RUNNING_MEMORY(self):
        return self.RUNNING_MEMORY
    def set_RUNNING_MEMORY(self, RUNNING_MEMORY):
        self.RUNNING_MEMORY = RUNNING_MEMORY
    def get_RUNNING_MEMORY_USED(self):
        return self.RUNNING_MEMORY_USED
    def set_RUNNING_MEMORY_USED(self, RUNNING_MEMORY_USED):
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
    def get_RUNNING_VMS(self):
        return self.RUNNING_VMS
    def set_RUNNING_VMS(self, RUNNING_VMS):
        self.RUNNING_VMS = RUNNING_VMS
    def get_RUNNING_VMS_USED(self):
        return self.RUNNING_VMS_USED
    def set_RUNNING_VMS_USED(self, RUNNING_VMS_USED):
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
    def get_SYSTEM_DISK_SIZE(self):
        return self.SYSTEM_DISK_SIZE
    def set_SYSTEM_DISK_SIZE(self, SYSTEM_DISK_SIZE):
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
    def get_SYSTEM_DISK_SIZE_USED(self):
        return self.SYSTEM_DISK_SIZE_USED
    def set_SYSTEM_DISK_SIZE_USED(self, SYSTEM_DISK_SIZE_USED):
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
    def get_VMS(self):
        return self.VMS
    def set_VMS(self, VMS):
        self.VMS = VMS
    def get_VMS_USED(self):
        return self.VMS_USED
    def set_VMS_USED(self, VMS_USED):
        self.VMS_USED = VMS_USED
    def hasContent_(self):
        if (
            self.CPU is not None or
            self.CPU_USED is not None or
            self.MEMORY is not None or
            self.MEMORY_USED is not None or
            self.RUNNING_CPU is not None or
            self.RUNNING_CPU_USED is not None or
            self.RUNNING_MEMORY is not None or
            self.RUNNING_MEMORY_USED is not None or
            self.RUNNING_VMS is not None or
            self.RUNNING_VMS_USED is not None or
            self.SYSTEM_DISK_SIZE is not None or
            self.SYSTEM_DISK_SIZE_USED is not None or
            self.VMS is not None or
            self.VMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType8', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMType8')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMType8':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMType8')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMType8', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMType8'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType8', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.CPU is not None:
            namespaceprefix_ = self.CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU>%s</%sCPU>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPU), input_name='CPU')), namespaceprefix_ , eol_))
        if self.CPU_USED is not None:
            namespaceprefix_ = self.CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU_USED>%s</%sCPU_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPU_USED), input_name='CPU_USED')), namespaceprefix_ , eol_))
        if self.MEMORY is not None:
            namespaceprefix_ = self.MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY>%s</%sMEMORY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MEMORY), input_name='MEMORY')), namespaceprefix_ , eol_))
        if self.MEMORY_USED is not None:
            namespaceprefix_ = self.MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY_USED>%s</%sMEMORY_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MEMORY_USED), input_name='MEMORY_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_CPU is not None:
            namespaceprefix_ = self.RUNNING_CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU>%s</%sRUNNING_CPU>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_CPU), input_name='RUNNING_CPU')), namespaceprefix_ , eol_))
        if self.RUNNING_CPU_USED is not None:
            namespaceprefix_ = self.RUNNING_CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU_USED>%s</%sRUNNING_CPU_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_CPU_USED), input_name='RUNNING_CPU_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY>%s</%sRUNNING_MEMORY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_MEMORY), input_name='RUNNING_MEMORY')), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY_USED is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY_USED>%s</%sRUNNING_MEMORY_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_MEMORY_USED), input_name='RUNNING_MEMORY_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_VMS is not None:
            namespaceprefix_ = self.RUNNING_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS>%s</%sRUNNING_VMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_VMS), input_name='RUNNING_VMS')), namespaceprefix_ , eol_))
        if self.RUNNING_VMS_USED is not None:
            namespaceprefix_ = self.RUNNING_VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS_USED>%s</%sRUNNING_VMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_VMS_USED), input_name='RUNNING_VMS_USED')), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE>%s</%sSYSTEM_DISK_SIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SYSTEM_DISK_SIZE), input_name='SYSTEM_DISK_SIZE')), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE_USED is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE_USED>%s</%sSYSTEM_DISK_SIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SYSTEM_DISK_SIZE_USED), input_name='SYSTEM_DISK_SIZE_USED')), namespaceprefix_ , eol_))
        if self.VMS is not None:
            namespaceprefix_ = self.VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS>%s</%sVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMS), input_name='VMS')), namespaceprefix_ , eol_))
        if self.VMS_USED is not None:
            namespaceprefix_ = self.VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS_USED>%s</%sVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMS_USED), input_name='VMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CPU':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPU')
            value_ = self.gds_validate_string(value_, node, 'CPU')
            self.CPU = value_
            self.CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'CPU_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPU_USED')
            value_ = self.gds_validate_string(value_, node, 'CPU_USED')
            self.CPU_USED = value_
            self.CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MEMORY')
            value_ = self.gds_validate_string(value_, node, 'MEMORY')
            self.MEMORY = value_
            self.MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MEMORY_USED')
            value_ = self.gds_validate_string(value_, node, 'MEMORY_USED')
            self.MEMORY_USED = value_
            self.MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_CPU')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_CPU')
            self.RUNNING_CPU = value_
            self.RUNNING_CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_CPU_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_CPU_USED')
            self.RUNNING_CPU_USED = value_
            self.RUNNING_CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_MEMORY')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_MEMORY')
            self.RUNNING_MEMORY = value_
            self.RUNNING_MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_MEMORY_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_MEMORY_USED')
            self.RUNNING_MEMORY_USED = value_
            self.RUNNING_MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_VMS')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_VMS')
            self.RUNNING_VMS = value_
            self.RUNNING_VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_VMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_VMS_USED')
            self.RUNNING_VMS_USED = value_
            self.RUNNING_VMS_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SYSTEM_DISK_SIZE')
            value_ = self.gds_validate_string(value_, node, 'SYSTEM_DISK_SIZE')
            self.SYSTEM_DISK_SIZE = value_
            self.SYSTEM_DISK_SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SYSTEM_DISK_SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SYSTEM_DISK_SIZE_USED')
            self.SYSTEM_DISK_SIZE_USED = value_
            self.SYSTEM_DISK_SIZE_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMS')
            value_ = self.gds_validate_string(value_, node, 'VMS')
            self.VMS = value_
            self.VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMS_USED')
            value_ = self.gds_validate_string(value_, node, 'VMS_USED')
            self.VMS_USED = value_
            self.VMS_USED_nsprefix_ = child_.prefix
# end class VMType8


class IMAGE_QUOTAType9(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, IMAGE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if IMAGE is None:
            self.IMAGE = []
        else:
            self.IMAGE = IMAGE
        self.IMAGE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGE_QUOTAType9)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGE_QUOTAType9.subclass:
            return IMAGE_QUOTAType9.subclass(*args_, **kwargs_)
        else:
            return IMAGE_QUOTAType9(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_IMAGE(self):
        return self.IMAGE
    def set_IMAGE(self, IMAGE):
        self.IMAGE = IMAGE
    def add_IMAGE(self, value):
        self.IMAGE.append(value)
    def insert_IMAGE_at(self, index, value):
        self.IMAGE.insert(index, value)
    def replace_IMAGE_at(self, index, value):
        self.IMAGE[index] = value
    def hasContent_(self):
        if (
            self.IMAGE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType9', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGE_QUOTAType9')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGE_QUOTAType9':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGE_QUOTAType9')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGE_QUOTAType9', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGE_QUOTAType9'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType9', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for IMAGE_ in self.IMAGE:
            namespaceprefix_ = self.IMAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_nsprefix_) else ''
            IMAGE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'IMAGE':
            obj_ = IMAGEType10.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE.append(obj_)
            obj_.original_tagname_ = 'IMAGE'
# end class IMAGE_QUOTAType9


class IMAGEType10(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, RVMS=None, RVMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.RVMS = RVMS
        self.RVMS_nsprefix_ = None
        self.RVMS_USED = RVMS_USED
        self.RVMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGEType10)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGEType10.subclass:
            return IMAGEType10.subclass(*args_, **kwargs_)
        else:
            return IMAGEType10(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_RVMS(self):
        return self.RVMS
    def set_RVMS(self, RVMS):
        self.RVMS = RVMS
    def get_RVMS_USED(self):
        return self.RVMS_USED
    def set_RVMS_USED(self, RVMS_USED):
        self.RVMS_USED = RVMS_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.RVMS is not None or
            self.RVMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType10', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGEType10')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGEType10':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGEType10')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGEType10', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGEType10'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType10', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.RVMS is not None:
            namespaceprefix_ = self.RVMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS>%s</%sRVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS), input_name='RVMS')), namespaceprefix_ , eol_))
        if self.RVMS_USED is not None:
            namespaceprefix_ = self.RVMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS_USED>%s</%sRVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS_USED), input_name='RVMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS')
            value_ = self.gds_validate_string(value_, node, 'RVMS')
            self.RVMS = value_
            self.RVMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RVMS_USED')
            self.RVMS_USED = value_
            self.RVMS_USED_nsprefix_ = child_.prefix
# end class IMAGEType10


class USERSType11(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, USERSType11)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if USERSType11.subclass:
            return USERSType11.subclass(*args_, **kwargs_)
        else:
            return USERSType11(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USERSType11', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('USERSType11')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'USERSType11':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='USERSType11')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='USERSType11', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='USERSType11'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USERSType11', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class USERSType11


class ADMINSType12(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, ADMINSType12)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if ADMINSType12.subclass:
            return ADMINSType12.subclass(*args_, **kwargs_)
        else:
            return ADMINSType12(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ADMINSType12', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('ADMINSType12')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'ADMINSType12':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ADMINSType12')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ADMINSType12', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ADMINSType12'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ADMINSType12', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class ADMINSType12


class DATASTORE_QUOTAType13(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DATASTORE is None:
            self.DATASTORE = []
        else:
            self.DATASTORE = DATASTORE
        self.DATASTORE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORE_QUOTAType13)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORE_QUOTAType13.subclass:
            return DATASTORE_QUOTAType13.subclass(*args_, **kwargs_)
        else:
            return DATASTORE_QUOTAType13(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE(self):
        return self.DATASTORE
    def set_DATASTORE(self, DATASTORE):
        self.DATASTORE = DATASTORE
    def add_DATASTORE(self, value):
        self.DATASTORE.append(value)
    def insert_DATASTORE_at(self, index, value):
        self.DATASTORE.insert(index, value)
    def replace_DATASTORE_at(self, index, value):
        self.DATASTORE[index] = value
    def hasContent_(self):
        if (
            self.DATASTORE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType13', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORE_QUOTAType13')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORE_QUOTAType13':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORE_QUOTAType13')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORE_QUOTAType13', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORE_QUOTAType13'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType13', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DATASTORE_ in self.DATASTORE:
            namespaceprefix_ = self.DATASTORE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_nsprefix_) else ''
            DATASTORE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE':
            obj_ = DATASTOREType14.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE.append(obj_)
            obj_.original_tagname_ = 'DATASTORE'
# end class DATASTORE_QUOTAType13


class DATASTOREType14(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, IMAGES=None, IMAGES_USED=None, SIZE=None, SIZE_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.IMAGES = IMAGES
        self.IMAGES_nsprefix_ = None
        self.IMAGES_USED = IMAGES_USED
        self.IMAGES_USED_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.SIZE_USED = SIZE_USED
        self.SIZE_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTOREType14)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTOREType14.subclass:
            return DATASTOREType14.subclass(*args_, **kwargs_)
        else:
            return DATASTOREType14(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_IMAGES(self):
        return self.IMAGES
    def set_IMAGES(self, IMAGES):
        self.IMAGES = IMAGES
    def get_IMAGES_USED(self):
        return self.IMAGES_USED
    def set_IMAGES_USED(self, IMAGES_USED):
        self.IMAGES_USED = IMAGES_USED
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_SIZE_USED(self):
        return self.SIZE_USED
    def set_SIZE_USED(self, SIZE_USED):
        self.SIZE_USED = SIZE_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.IMAGES is not None or
            self.IMAGES_USED is not None or
            self.SIZE is not None or
            self.SIZE_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType14', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTOREType14')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTOREType14':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTOREType14')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTOREType14', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTOREType14'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType14', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.IMAGES is not None:
            namespaceprefix_ = self.IMAGES_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES>%s</%sIMAGES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES), input_name='IMAGES')), namespaceprefix_ , eol_))
        if self.IMAGES_USED is not None:
            namespaceprefix_ = self.IMAGES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES_USED>%s</%sIMAGES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES_USED), input_name='IMAGES_USED')), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE), input_name='SIZE')), namespaceprefix_ , eol_))
        if self.SIZE_USED is not None:
            namespaceprefix_ = self.SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE_USED>%s</%sSIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE_USED), input_name='SIZE_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES')
            value_ = self.gds_validate_string(value_, node, 'IMAGES')
            self.IMAGES = value_
            self.IMAGES_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES_USED')
            value_ = self.gds_validate_string(value_, node, 'IMAGES_USED')
            self.IMAGES_USED = value_
            self.IMAGES_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE')
            value_ = self.gds_validate_string(value_, node, 'SIZE')
            self.SIZE = value_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SIZE_USED')
            self.SIZE_USED = value_
            self.SIZE_USED_nsprefix_ = child_.prefix
# end class DATASTOREType14


class NETWORK_QUOTAType15(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, NETWORK=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if NETWORK is None:
            self.NETWORK = []
        else:
            self.NETWORK = NETWORK
        self.NETWORK_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORK_QUOTAType15)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORK_QUOTAType15.subclass:
            return NETWORK_QUOTAType15.subclass(*args_, **kwargs_)
        else:
            return NETWORK_QUOTAType15(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_NETWORK(self):
        return self.NETWORK
    def set_NETWORK(self, NETWORK):
        self.NETWORK = NETWORK
    def add_NETWORK(self, value):
        self.NETWORK.append(value)
    def insert_NETWORK_at(self, index, value):
        self.NETWORK.insert(index, value)
    def replace_NETWORK_at(self, index, value):
        self.NETWORK[index] = value
    def hasContent_(self):
        if (
            self.NETWORK
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType15', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORK_QUOTAType15')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORK_QUOTAType15':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORK_QUOTAType15')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORK_QUOTAType15', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORK_QUOTAType15'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType15', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for NETWORK_ in self.NETWORK:
            namespaceprefix_ = self.NETWORK_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_nsprefix_) else ''
            NETWORK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'NETWORK':
            obj_ = NETWORKType16.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK.append(obj_)
            obj_.original_tagname_ = 'NETWORK'
# end class NETWORK_QUOTAType15


class NETWORKType16(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, LEASES=None, LEASES_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.LEASES = LEASES
        self.LEASES_nsprefix_ = None
        self.LEASES_USED = LEASES_USED
        self.LEASES_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORKType16)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORKType16.subclass:
            return NETWORKType16.subclass(*args_, **kwargs_)
        else:
            return NETWORKType16(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_LEASES(self):
        return self.LEASES
    def set_LEASES(self, LEASES):
        self.LEASES = LEASES
    def get_LEASES_USED(self):
        return self.LEASES_USED
    def set_LEASES_USED(self, LEASES_USED):
        self.LEASES_USED = LEASES_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.LEASES is not None or
            self.LEASES_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType16', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORKType16')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORKType16':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORKType16')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORKType16', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORKType16'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType16', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.LEASES is not None:
            namespaceprefix_ = self.LEASES_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES>%s</%sLEASES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES), input_name='LEASES')), namespaceprefix_ , eol_))
        if self.LEASES_USED is not None:
            namespaceprefix_ = self.LEASES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES_USED>%s</%sLEASES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES_USED), input_name='LEASES_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES')
            value_ = self.gds_validate_string(value_, node, 'LEASES')
            self.LEASES = value_
            self.LEASES_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES_USED')
            value_ = self.gds_validate_string(value_, node, 'LEASES_USED')
            self.LEASES_USED = value_
            self.LEASES_USED_nsprefix_ = child_.prefix
# end class NETWORKType16


class VM_QUOTAType17(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VM=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VM = VM
        self.VM_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VM_QUOTAType17)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VM_QUOTAType17.subclass:
            return VM_QUOTAType17.subclass(*args_, **kwargs_)
        else:
            return VM_QUOTAType17(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VM(self):
        return self.VM
    def set_VM(self, VM):
        self.VM = VM
    def hasContent_(self):
        if (
            self.VM is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType17', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VM_QUOTAType17')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VM_QUOTAType17':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VM_QUOTAType17')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VM_QUOTAType17', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VM_QUOTAType17'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType17', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VM is not None:
            namespaceprefix_ = self.VM_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_nsprefix_) else ''
            self.VM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VM':
            obj_ = VMType18.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM = obj_
            obj_.original_tagname_ = 'VM'
# end class VM_QUOTAType17


class VMType18(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CPU=None, CPU_USED=None, MEMORY=None, MEMORY_USED=None, RUNNING_CPU=None, RUNNING_CPU_USED=None, RUNNING_MEMORY=None, RUNNING_MEMORY_USED=None, RUNNING_VMS=None, RUNNING_VMS_USED=None, SYSTEM_DISK_SIZE=None, SYSTEM_DISK_SIZE_USED=None, VMS=None, VMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.CPU = CPU
        self.CPU_nsprefix_ = None
        self.CPU_USED = CPU_USED
        self.CPU_USED_nsprefix_ = None
        self.MEMORY = MEMORY
        self.MEMORY_nsprefix_ = None
        self.MEMORY_USED = MEMORY_USED
        self.MEMORY_USED_nsprefix_ = None
        self.RUNNING_CPU = RUNNING_CPU
        self.RUNNING_CPU_nsprefix_ = None
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
        self.RUNNING_CPU_USED_nsprefix_ = None
        self.RUNNING_MEMORY = RUNNING_MEMORY
        self.RUNNING_MEMORY_nsprefix_ = None
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
        self.RUNNING_MEMORY_USED_nsprefix_ = None
        self.RUNNING_VMS = RUNNING_VMS
        self.RUNNING_VMS_nsprefix_ = None
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
        self.RUNNING_VMS_USED_nsprefix_ = None
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
        self.SYSTEM_DISK_SIZE_nsprefix_ = None
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
        self.SYSTEM_DISK_SIZE_USED_nsprefix_ = None
        self.VMS = VMS
        self.VMS_nsprefix_ = None
        self.VMS_USED = VMS_USED
        self.VMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMType18)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMType18.subclass:
            return VMType18.subclass(*args_, **kwargs_)
        else:
            return VMType18(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CPU(self):
        return self.CPU
    def set_CPU(self, CPU):
        self.CPU = CPU
    def get_CPU_USED(self):
        return self.CPU_USED
    def set_CPU_USED(self, CPU_USED):
        self.CPU_USED = CPU_USED
    def get_MEMORY(self):
        return self.MEMORY
    def set_MEMORY(self, MEMORY):
        self.MEMORY = MEMORY
    def get_MEMORY_USED(self):
        return self.MEMORY_USED
    def set_MEMORY_USED(self, MEMORY_USED):
        self.MEMORY_USED = MEMORY_USED
    def get_RUNNING_CPU(self):
        return self.RUNNING_CPU
    def set_RUNNING_CPU(self, RUNNING_CPU):
        self.RUNNING_CPU = RUNNING_CPU
    def get_RUNNING_CPU_USED(self):
        return self.RUNNING_CPU_USED
    def set_RUNNING_CPU_USED(self, RUNNING_CPU_USED):
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
    def get_RUNNING_MEMORY(self):
        return self.RUNNING_MEMORY
    def set_RUNNING_MEMORY(self, RUNNING_MEMORY):
        self.RUNNING_MEMORY = RUNNING_MEMORY
    def get_RUNNING_MEMORY_USED(self):
        return self.RUNNING_MEMORY_USED
    def set_RUNNING_MEMORY_USED(self, RUNNING_MEMORY_USED):
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
    def get_RUNNING_VMS(self):
        return self.RUNNING_VMS
    def set_RUNNING_VMS(self, RUNNING_VMS):
        self.RUNNING_VMS = RUNNING_VMS
    def get_RUNNING_VMS_USED(self):
        return self.RUNNING_VMS_USED
    def set_RUNNING_VMS_USED(self, RUNNING_VMS_USED):
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
    def get_SYSTEM_DISK_SIZE(self):
        return self.SYSTEM_DISK_SIZE
    def set_SYSTEM_DISK_SIZE(self, SYSTEM_DISK_SIZE):
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
    def get_SYSTEM_DISK_SIZE_USED(self):
        return self.SYSTEM_DISK_SIZE_USED
    def set_SYSTEM_DISK_SIZE_USED(self, SYSTEM_DISK_SIZE_USED):
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
    def get_VMS(self):
        return self.VMS
    def set_VMS(self, VMS):
        self.VMS = VMS
    def get_VMS_USED(self):
        return self.VMS_USED
    def set_VMS_USED(self, VMS_USED):
        self.VMS_USED = VMS_USED
    def hasContent_(self):
        if (
            self.CPU is not None or
            self.CPU_USED is not None or
            self.MEMORY is not None or
            self.MEMORY_USED is not None or
            self.RUNNING_CPU is not None or
            self.RUNNING_CPU_USED is not None or
            self.RUNNING_MEMORY is not None or
            self.RUNNING_MEMORY_USED is not None or
            self.RUNNING_VMS is not None or
            self.RUNNING_VMS_USED is not None or
            self.SYSTEM_DISK_SIZE is not None or
            self.SYSTEM_DISK_SIZE_USED is not None or
            self.VMS is not None or
            self.VMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType18', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMType18')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMType18':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMType18')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMType18', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMType18'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType18', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.CPU is not None:
            namespaceprefix_ = self.CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU>%s</%sCPU>%s' % (namespaceprefix_ , self.gds_format_float(self.CPU, input_name='CPU'), namespaceprefix_ , eol_))
        if self.CPU_USED is not None:
            namespaceprefix_ = self.CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU_USED>%s</%sCPU_USED>%s' % (namespaceprefix_ , self.gds_format_float(self.CPU_USED, input_name='CPU_USED'), namespaceprefix_ , eol_))
        if self.MEMORY is not None:
            namespaceprefix_ = self.MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY>%s</%sMEMORY>%s' % (namespaceprefix_ , self.gds_format_integer(self.MEMORY, input_name='MEMORY'), namespaceprefix_ , eol_))
        if self.MEMORY_USED is not None:
            namespaceprefix_ = self.MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY_USED>%s</%sMEMORY_USED>%s' % (namespaceprefix_ , self.gds_format_integer(self.MEMORY_USED, input_name='MEMORY_USED'), namespaceprefix_ , eol_))
        if self.RUNNING_CPU is not None:
            namespaceprefix_ = self.RUNNING_CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU>%s</%sRUNNING_CPU>%s' % (namespaceprefix_ , self.gds_format_float(self.RUNNING_CPU, input_name='RUNNING_CPU'), namespaceprefix_ , eol_))
        if self.RUNNING_CPU_USED is not None:
            namespaceprefix_ = self.RUNNING_CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU_USED>%s</%sRUNNING_CPU_USED>%s' % (namespaceprefix_ , self.gds_format_float(self.RUNNING_CPU_USED, input_name='RUNNING_CPU_USED'), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY>%s</%sRUNNING_MEMORY>%s' % (namespaceprefix_ , self.gds_format_integer(self.RUNNING_MEMORY, input_name='RUNNING_MEMORY'), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY_USED is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY_USED>%s</%sRUNNING_MEMORY_USED>%s' % (namespaceprefix_ , self.gds_format_integer(self.RUNNING_MEMORY_USED, input_name='RUNNING_MEMORY_USED'), namespaceprefix_ , eol_))
        if self.RUNNING_VMS is not None:
            namespaceprefix_ = self.RUNNING_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS>%s</%sRUNNING_VMS>%s' % (namespaceprefix_ , self.gds_format_integer(self.RUNNING_VMS, input_name='RUNNING_VMS'), namespaceprefix_ , eol_))
        if self.RUNNING_VMS_USED is not None:
            namespaceprefix_ = self.RUNNING_VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS_USED>%s</%sRUNNING_VMS_USED>%s' % (namespaceprefix_ , self.gds_format_integer(self.RUNNING_VMS_USED, input_name='RUNNING_VMS_USED'), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE>%s</%sSYSTEM_DISK_SIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.SYSTEM_DISK_SIZE, input_name='SYSTEM_DISK_SIZE'), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE_USED is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE_USED>%s</%sSYSTEM_DISK_SIZE_USED>%s' % (namespaceprefix_ , self.gds_format_integer(self.SYSTEM_DISK_SIZE_USED, input_name='SYSTEM_DISK_SIZE_USED'), namespaceprefix_ , eol_))
        if self.VMS is not None:
            namespaceprefix_ = self.VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS>%s</%sVMS>%s' % (namespaceprefix_ , self.gds_format_integer(self.VMS, input_name='VMS'), namespaceprefix_ , eol_))
        if self.VMS_USED is not None:
            namespaceprefix_ = self.VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS_USED>%s</%sVMS_USED>%s' % (namespaceprefix_ , self.gds_format_integer(self.VMS_USED, input_name='VMS_USED'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CPU' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'CPU')
            fval_ = self.gds_validate_float(fval_, node, 'CPU')
            self.CPU = fval_
            self.CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'CPU_USED' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'CPU_USED')
            fval_ = self.gds_validate_float(fval_, node, 'CPU_USED')
            self.CPU_USED = fval_
            self.CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MEMORY')
            ival_ = self.gds_validate_integer(ival_, node, 'MEMORY')
            self.MEMORY = ival_
            self.MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY_USED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MEMORY_USED')
            ival_ = self.gds_validate_integer(ival_, node, 'MEMORY_USED')
            self.MEMORY_USED = ival_
            self.MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'RUNNING_CPU')
            fval_ = self.gds_validate_float(fval_, node, 'RUNNING_CPU')
            self.RUNNING_CPU = fval_
            self.RUNNING_CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU_USED' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'RUNNING_CPU_USED')
            fval_ = self.gds_validate_float(fval_, node, 'RUNNING_CPU_USED')
            self.RUNNING_CPU_USED = fval_
            self.RUNNING_CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RUNNING_MEMORY')
            ival_ = self.gds_validate_integer(ival_, node, 'RUNNING_MEMORY')
            self.RUNNING_MEMORY = ival_
            self.RUNNING_MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY_USED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RUNNING_MEMORY_USED')
            ival_ = self.gds_validate_integer(ival_, node, 'RUNNING_MEMORY_USED')
            self.RUNNING_MEMORY_USED = ival_
            self.RUNNING_MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RUNNING_VMS')
            ival_ = self.gds_validate_integer(ival_, node, 'RUNNING_VMS')
            self.RUNNING_VMS = ival_
            self.RUNNING_VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS_USED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RUNNING_VMS_USED')
            ival_ = self.gds_validate_integer(ival_, node, 'RUNNING_VMS_USED')
            self.RUNNING_VMS_USED = ival_
            self.RUNNING_VMS_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SYSTEM_DISK_SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'SYSTEM_DISK_SIZE')
            self.SYSTEM_DISK_SIZE = ival_
            self.SYSTEM_DISK_SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE_USED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SYSTEM_DISK_SIZE_USED')
            ival_ = self.gds_validate_integer(ival_, node, 'SYSTEM_DISK_SIZE_USED')
            self.SYSTEM_DISK_SIZE_USED = ival_
            self.SYSTEM_DISK_SIZE_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'VMS')
            ival_ = self.gds_validate_integer(ival_, node, 'VMS')
            self.VMS = ival_
            self.VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS_USED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'VMS_USED')
            ival_ = self.gds_validate_integer(ival_, node, 'VMS_USED')
            self.VMS_USED = ival_
            self.VMS_USED_nsprefix_ = child_.prefix
# end class VMType18


class IMAGE_QUOTAType19(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, IMAGE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if IMAGE is None:
            self.IMAGE = []
        else:
            self.IMAGE = IMAGE
        self.IMAGE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGE_QUOTAType19)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGE_QUOTAType19.subclass:
            return IMAGE_QUOTAType19.subclass(*args_, **kwargs_)
        else:
            return IMAGE_QUOTAType19(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_IMAGE(self):
        return self.IMAGE
    def set_IMAGE(self, IMAGE):
        self.IMAGE = IMAGE
    def add_IMAGE(self, value):
        self.IMAGE.append(value)
    def insert_IMAGE_at(self, index, value):
        self.IMAGE.insert(index, value)
    def replace_IMAGE_at(self, index, value):
        self.IMAGE[index] = value
    def hasContent_(self):
        if (
            self.IMAGE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType19', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGE_QUOTAType19')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGE_QUOTAType19':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGE_QUOTAType19')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGE_QUOTAType19', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGE_QUOTAType19'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType19', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for IMAGE_ in self.IMAGE:
            namespaceprefix_ = self.IMAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_nsprefix_) else ''
            IMAGE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'IMAGE':
            obj_ = IMAGEType20.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE.append(obj_)
            obj_.original_tagname_ = 'IMAGE'
# end class IMAGE_QUOTAType19


class IMAGEType20(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, RVMS=None, RVMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.RVMS = RVMS
        self.RVMS_nsprefix_ = None
        self.RVMS_USED = RVMS_USED
        self.RVMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGEType20)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGEType20.subclass:
            return IMAGEType20.subclass(*args_, **kwargs_)
        else:
            return IMAGEType20(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_RVMS(self):
        return self.RVMS
    def set_RVMS(self, RVMS):
        self.RVMS = RVMS
    def get_RVMS_USED(self):
        return self.RVMS_USED
    def set_RVMS_USED(self, RVMS_USED):
        self.RVMS_USED = RVMS_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.RVMS is not None or
            self.RVMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType20', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGEType20')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGEType20':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGEType20')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGEType20', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGEType20'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType20', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.RVMS is not None:
            namespaceprefix_ = self.RVMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS>%s</%sRVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS), input_name='RVMS')), namespaceprefix_ , eol_))
        if self.RVMS_USED is not None:
            namespaceprefix_ = self.RVMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS_USED>%s</%sRVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS_USED), input_name='RVMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS')
            value_ = self.gds_validate_string(value_, node, 'RVMS')
            self.RVMS = value_
            self.RVMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RVMS_USED')
            self.RVMS_USED = value_
            self.RVMS_USED_nsprefix_ = child_.prefix
# end class IMAGEType20


class DEFAULT_GROUP_QUOTASType21(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE_QUOTA=None, NETWORK_QUOTA=None, VM_QUOTA=None, IMAGE_QUOTA=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
        self.DATASTORE_QUOTA_nsprefix_ = None
        self.NETWORK_QUOTA = NETWORK_QUOTA
        self.NETWORK_QUOTA_nsprefix_ = None
        self.VM_QUOTA = VM_QUOTA
        self.VM_QUOTA_nsprefix_ = None
        self.IMAGE_QUOTA = IMAGE_QUOTA
        self.IMAGE_QUOTA_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DEFAULT_GROUP_QUOTASType21)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DEFAULT_GROUP_QUOTASType21.subclass:
            return DEFAULT_GROUP_QUOTASType21.subclass(*args_, **kwargs_)
        else:
            return DEFAULT_GROUP_QUOTASType21(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE_QUOTA(self):
        return self.DATASTORE_QUOTA
    def set_DATASTORE_QUOTA(self, DATASTORE_QUOTA):
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
    def get_NETWORK_QUOTA(self):
        return self.NETWORK_QUOTA
    def set_NETWORK_QUOTA(self, NETWORK_QUOTA):
        self.NETWORK_QUOTA = NETWORK_QUOTA
    def get_VM_QUOTA(self):
        return self.VM_QUOTA
    def set_VM_QUOTA(self, VM_QUOTA):
        self.VM_QUOTA = VM_QUOTA
    def get_IMAGE_QUOTA(self):
        return self.IMAGE_QUOTA
    def set_IMAGE_QUOTA(self, IMAGE_QUOTA):
        self.IMAGE_QUOTA = IMAGE_QUOTA
    def hasContent_(self):
        if (
            self.DATASTORE_QUOTA is not None or
            self.NETWORK_QUOTA is not None or
            self.VM_QUOTA is not None or
            self.IMAGE_QUOTA is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DEFAULT_GROUP_QUOTASType21', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DEFAULT_GROUP_QUOTASType21')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DEFAULT_GROUP_QUOTASType21':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DEFAULT_GROUP_QUOTASType21')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DEFAULT_GROUP_QUOTASType21', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DEFAULT_GROUP_QUOTASType21'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DEFAULT_GROUP_QUOTASType21', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.DATASTORE_QUOTA is not None:
            namespaceprefix_ = self.DATASTORE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_QUOTA_nsprefix_) else ''
            self.DATASTORE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE_QUOTA', pretty_print=pretty_print)
        if self.NETWORK_QUOTA is not None:
            namespaceprefix_ = self.NETWORK_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_QUOTA_nsprefix_) else ''
            self.NETWORK_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK_QUOTA', pretty_print=pretty_print)
        if self.VM_QUOTA is not None:
            namespaceprefix_ = self.VM_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_QUOTA_nsprefix_) else ''
            self.VM_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM_QUOTA', pretty_print=pretty_print)
        if self.IMAGE_QUOTA is not None:
            namespaceprefix_ = self.IMAGE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_QUOTA_nsprefix_) else ''
            self.IMAGE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE_QUOTA', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE_QUOTA':
            obj_ = DATASTORE_QUOTAType22.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE_QUOTA = obj_
            obj_.original_tagname_ = 'DATASTORE_QUOTA'
        elif nodeName_ == 'NETWORK_QUOTA':
            obj_ = NETWORK_QUOTAType24.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK_QUOTA = obj_
            obj_.original_tagname_ = 'NETWORK_QUOTA'
        elif nodeName_ == 'VM_QUOTA':
            obj_ = VM_QUOTAType26.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM_QUOTA = obj_
            obj_.original_tagname_ = 'VM_QUOTA'
        elif nodeName_ == 'IMAGE_QUOTA':
            obj_ = IMAGE_QUOTAType28.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE_QUOTA = obj_
            obj_.original_tagname_ = 'IMAGE_QUOTA'
# end class DEFAULT_GROUP_QUOTASType21


class DATASTORE_QUOTAType22(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DATASTORE is None:
            self.DATASTORE = []
        else:
            self.DATASTORE = DATASTORE
        self.DATASTORE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORE_QUOTAType22)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORE_QUOTAType22.subclass:
            return DATASTORE_QUOTAType22.subclass(*args_, **kwargs_)
        else:
            return DATASTORE_QUOTAType22(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE(self):
        return self.DATASTORE
    def set_DATASTORE(self, DATASTORE):
        self.DATASTORE = DATASTORE
    def add_DATASTORE(self, value):
        self.DATASTORE.append(value)
    def insert_DATASTORE_at(self, index, value):
        self.DATASTORE.insert(index, value)
    def replace_DATASTORE_at(self, index, value):
        self.DATASTORE[index] = value
    def hasContent_(self):
        if (
            self.DATASTORE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType22', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORE_QUOTAType22')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORE_QUOTAType22':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORE_QUOTAType22')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORE_QUOTAType22', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORE_QUOTAType22'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType22', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DATASTORE_ in self.DATASTORE:
            namespaceprefix_ = self.DATASTORE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_nsprefix_) else ''
            DATASTORE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE':
            obj_ = DATASTOREType23.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE.append(obj_)
            obj_.original_tagname_ = 'DATASTORE'
# end class DATASTORE_QUOTAType22


class DATASTOREType23(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, IMAGES=None, IMAGES_USED=None, SIZE=None, SIZE_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.IMAGES = IMAGES
        self.IMAGES_nsprefix_ = None
        self.IMAGES_USED = IMAGES_USED
        self.IMAGES_USED_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.SIZE_USED = SIZE_USED
        self.SIZE_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTOREType23)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTOREType23.subclass:
            return DATASTOREType23.subclass(*args_, **kwargs_)
        else:
            return DATASTOREType23(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_IMAGES(self):
        return self.IMAGES
    def set_IMAGES(self, IMAGES):
        self.IMAGES = IMAGES
    def get_IMAGES_USED(self):
        return self.IMAGES_USED
    def set_IMAGES_USED(self, IMAGES_USED):
        self.IMAGES_USED = IMAGES_USED
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_SIZE_USED(self):
        return self.SIZE_USED
    def set_SIZE_USED(self, SIZE_USED):
        self.SIZE_USED = SIZE_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.IMAGES is not None or
            self.IMAGES_USED is not None or
            self.SIZE is not None or
            self.SIZE_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType23', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTOREType23')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTOREType23':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTOREType23')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTOREType23', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTOREType23'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType23', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.IMAGES is not None:
            namespaceprefix_ = self.IMAGES_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES>%s</%sIMAGES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES), input_name='IMAGES')), namespaceprefix_ , eol_))
        if self.IMAGES_USED is not None:
            namespaceprefix_ = self.IMAGES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES_USED>%s</%sIMAGES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES_USED), input_name='IMAGES_USED')), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE), input_name='SIZE')), namespaceprefix_ , eol_))
        if self.SIZE_USED is not None:
            namespaceprefix_ = self.SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE_USED>%s</%sSIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE_USED), input_name='SIZE_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES')
            value_ = self.gds_validate_string(value_, node, 'IMAGES')
            self.IMAGES = value_
            self.IMAGES_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES_USED')
            value_ = self.gds_validate_string(value_, node, 'IMAGES_USED')
            self.IMAGES_USED = value_
            self.IMAGES_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE')
            value_ = self.gds_validate_string(value_, node, 'SIZE')
            self.SIZE = value_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SIZE_USED')
            self.SIZE_USED = value_
            self.SIZE_USED_nsprefix_ = child_.prefix
# end class DATASTOREType23


class NETWORK_QUOTAType24(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, NETWORK=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if NETWORK is None:
            self.NETWORK = []
        else:
            self.NETWORK = NETWORK
        self.NETWORK_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORK_QUOTAType24)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORK_QUOTAType24.subclass:
            return NETWORK_QUOTAType24.subclass(*args_, **kwargs_)
        else:
            return NETWORK_QUOTAType24(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_NETWORK(self):
        return self.NETWORK
    def set_NETWORK(self, NETWORK):
        self.NETWORK = NETWORK
    def add_NETWORK(self, value):
        self.NETWORK.append(value)
    def insert_NETWORK_at(self, index, value):
        self.NETWORK.insert(index, value)
    def replace_NETWORK_at(self, index, value):
        self.NETWORK[index] = value
    def hasContent_(self):
        if (
            self.NETWORK
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType24', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORK_QUOTAType24')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORK_QUOTAType24':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORK_QUOTAType24')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORK_QUOTAType24', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORK_QUOTAType24'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType24', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for NETWORK_ in self.NETWORK:
            namespaceprefix_ = self.NETWORK_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_nsprefix_) else ''
            NETWORK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'NETWORK':
            obj_ = NETWORKType25.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK.append(obj_)
            obj_.original_tagname_ = 'NETWORK'
# end class NETWORK_QUOTAType24


class NETWORKType25(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, LEASES=None, LEASES_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.LEASES = LEASES
        self.LEASES_nsprefix_ = None
        self.LEASES_USED = LEASES_USED
        self.LEASES_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORKType25)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORKType25.subclass:
            return NETWORKType25.subclass(*args_, **kwargs_)
        else:
            return NETWORKType25(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_LEASES(self):
        return self.LEASES
    def set_LEASES(self, LEASES):
        self.LEASES = LEASES
    def get_LEASES_USED(self):
        return self.LEASES_USED
    def set_LEASES_USED(self, LEASES_USED):
        self.LEASES_USED = LEASES_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.LEASES is not None or
            self.LEASES_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType25', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORKType25')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORKType25':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORKType25')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORKType25', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORKType25'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType25', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.LEASES is not None:
            namespaceprefix_ = self.LEASES_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES>%s</%sLEASES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES), input_name='LEASES')), namespaceprefix_ , eol_))
        if self.LEASES_USED is not None:
            namespaceprefix_ = self.LEASES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES_USED>%s</%sLEASES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES_USED), input_name='LEASES_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES')
            value_ = self.gds_validate_string(value_, node, 'LEASES')
            self.LEASES = value_
            self.LEASES_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES_USED')
            value_ = self.gds_validate_string(value_, node, 'LEASES_USED')
            self.LEASES_USED = value_
            self.LEASES_USED_nsprefix_ = child_.prefix
# end class NETWORKType25


class VM_QUOTAType26(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VM=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VM = VM
        self.VM_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VM_QUOTAType26)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VM_QUOTAType26.subclass:
            return VM_QUOTAType26.subclass(*args_, **kwargs_)
        else:
            return VM_QUOTAType26(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VM(self):
        return self.VM
    def set_VM(self, VM):
        self.VM = VM
    def hasContent_(self):
        if (
            self.VM is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType26', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VM_QUOTAType26')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VM_QUOTAType26':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VM_QUOTAType26')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VM_QUOTAType26', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VM_QUOTAType26'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType26', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VM is not None:
            namespaceprefix_ = self.VM_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_nsprefix_) else ''
            self.VM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VM':
            obj_ = VMType27.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM = obj_
            obj_.original_tagname_ = 'VM'
# end class VM_QUOTAType26


class VMType27(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CPU=None, CPU_USED=None, MEMORY=None, MEMORY_USED=None, RUNNING_CPU=None, RUNNING_CPU_USED=None, RUNNING_MEMORY=None, RUNNING_MEMORY_USED=None, RUNNING_VMS=None, RUNNING_VMS_USED=None, SYSTEM_DISK_SIZE=None, SYSTEM_DISK_SIZE_USED=None, VMS=None, VMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.CPU = CPU
        self.CPU_nsprefix_ = None
        self.CPU_USED = CPU_USED
        self.CPU_USED_nsprefix_ = None
        self.MEMORY = MEMORY
        self.MEMORY_nsprefix_ = None
        self.MEMORY_USED = MEMORY_USED
        self.MEMORY_USED_nsprefix_ = None
        self.RUNNING_CPU = RUNNING_CPU
        self.RUNNING_CPU_nsprefix_ = None
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
        self.RUNNING_CPU_USED_nsprefix_ = None
        self.RUNNING_MEMORY = RUNNING_MEMORY
        self.RUNNING_MEMORY_nsprefix_ = None
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
        self.RUNNING_MEMORY_USED_nsprefix_ = None
        self.RUNNING_VMS = RUNNING_VMS
        self.RUNNING_VMS_nsprefix_ = None
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
        self.RUNNING_VMS_USED_nsprefix_ = None
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
        self.SYSTEM_DISK_SIZE_nsprefix_ = None
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
        self.SYSTEM_DISK_SIZE_USED_nsprefix_ = None
        self.VMS = VMS
        self.VMS_nsprefix_ = None
        self.VMS_USED = VMS_USED
        self.VMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMType27)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMType27.subclass:
            return VMType27.subclass(*args_, **kwargs_)
        else:
            return VMType27(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CPU(self):
        return self.CPU
    def set_CPU(self, CPU):
        self.CPU = CPU
    def get_CPU_USED(self):
        return self.CPU_USED
    def set_CPU_USED(self, CPU_USED):
        self.CPU_USED = CPU_USED
    def get_MEMORY(self):
        return self.MEMORY
    def set_MEMORY(self, MEMORY):
        self.MEMORY = MEMORY
    def get_MEMORY_USED(self):
        return self.MEMORY_USED
    def set_MEMORY_USED(self, MEMORY_USED):
        self.MEMORY_USED = MEMORY_USED
    def get_RUNNING_CPU(self):
        return self.RUNNING_CPU
    def set_RUNNING_CPU(self, RUNNING_CPU):
        self.RUNNING_CPU = RUNNING_CPU
    def get_RUNNING_CPU_USED(self):
        return self.RUNNING_CPU_USED
    def set_RUNNING_CPU_USED(self, RUNNING_CPU_USED):
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
    def get_RUNNING_MEMORY(self):
        return self.RUNNING_MEMORY
    def set_RUNNING_MEMORY(self, RUNNING_MEMORY):
        self.RUNNING_MEMORY = RUNNING_MEMORY
    def get_RUNNING_MEMORY_USED(self):
        return self.RUNNING_MEMORY_USED
    def set_RUNNING_MEMORY_USED(self, RUNNING_MEMORY_USED):
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
    def get_RUNNING_VMS(self):
        return self.RUNNING_VMS
    def set_RUNNING_VMS(self, RUNNING_VMS):
        self.RUNNING_VMS = RUNNING_VMS
    def get_RUNNING_VMS_USED(self):
        return self.RUNNING_VMS_USED
    def set_RUNNING_VMS_USED(self, RUNNING_VMS_USED):
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
    def get_SYSTEM_DISK_SIZE(self):
        return self.SYSTEM_DISK_SIZE
    def set_SYSTEM_DISK_SIZE(self, SYSTEM_DISK_SIZE):
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
    def get_SYSTEM_DISK_SIZE_USED(self):
        return self.SYSTEM_DISK_SIZE_USED
    def set_SYSTEM_DISK_SIZE_USED(self, SYSTEM_DISK_SIZE_USED):
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
    def get_VMS(self):
        return self.VMS
    def set_VMS(self, VMS):
        self.VMS = VMS
    def get_VMS_USED(self):
        return self.VMS_USED
    def set_VMS_USED(self, VMS_USED):
        self.VMS_USED = VMS_USED
    def hasContent_(self):
        if (
            self.CPU is not None or
            self.CPU_USED is not None or
            self.MEMORY is not None or
            self.MEMORY_USED is not None or
            self.RUNNING_CPU is not None or
            self.RUNNING_CPU_USED is not None or
            self.RUNNING_MEMORY is not None or
            self.RUNNING_MEMORY_USED is not None or
            self.RUNNING_VMS is not None or
            self.RUNNING_VMS_USED is not None or
            self.SYSTEM_DISK_SIZE is not None or
            self.SYSTEM_DISK_SIZE_USED is not None or
            self.VMS is not None or
            self.VMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType27', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMType27')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMType27':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMType27')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMType27', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMType27'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType27', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.CPU is not None:
            namespaceprefix_ = self.CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU>%s</%sCPU>%s' % (namespaceprefix_ , self.gds_format_float(self.CPU, input_name='CPU'), namespaceprefix_ , eol_))
        if self.CPU_USED is not None:
            namespaceprefix_ = self.CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU_USED>%s</%sCPU_USED>%s' % (namespaceprefix_ , self.gds_format_float(self.CPU_USED, input_name='CPU_USED'), namespaceprefix_ , eol_))
        if self.MEMORY is not None:
            namespaceprefix_ = self.MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY>%s</%sMEMORY>%s' % (namespaceprefix_ , self.gds_format_integer(self.MEMORY, input_name='MEMORY'), namespaceprefix_ , eol_))
        if self.MEMORY_USED is not None:
            namespaceprefix_ = self.MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY_USED>%s</%sMEMORY_USED>%s' % (namespaceprefix_ , self.gds_format_integer(self.MEMORY_USED, input_name='MEMORY_USED'), namespaceprefix_ , eol_))
        if self.RUNNING_CPU is not None:
            namespaceprefix_ = self.RUNNING_CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU>%s</%sRUNNING_CPU>%s' % (namespaceprefix_ , self.gds_format_float(self.RUNNING_CPU, input_name='RUNNING_CPU'), namespaceprefix_ , eol_))
        if self.RUNNING_CPU_USED is not None:
            namespaceprefix_ = self.RUNNING_CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU_USED>%s</%sRUNNING_CPU_USED>%s' % (namespaceprefix_ , self.gds_format_float(self.RUNNING_CPU_USED, input_name='RUNNING_CPU_USED'), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY>%s</%sRUNNING_MEMORY>%s' % (namespaceprefix_ , self.gds_format_integer(self.RUNNING_MEMORY, input_name='RUNNING_MEMORY'), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY_USED is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY_USED>%s</%sRUNNING_MEMORY_USED>%s' % (namespaceprefix_ , self.gds_format_integer(self.RUNNING_MEMORY_USED, input_name='RUNNING_MEMORY_USED'), namespaceprefix_ , eol_))
        if self.RUNNING_VMS is not None:
            namespaceprefix_ = self.RUNNING_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS>%s</%sRUNNING_VMS>%s' % (namespaceprefix_ , self.gds_format_integer(self.RUNNING_VMS, input_name='RUNNING_VMS'), namespaceprefix_ , eol_))
        if self.RUNNING_VMS_USED is not None:
            namespaceprefix_ = self.RUNNING_VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS_USED>%s</%sRUNNING_VMS_USED>%s' % (namespaceprefix_ , self.gds_format_integer(self.RUNNING_VMS_USED, input_name='RUNNING_VMS_USED'), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE>%s</%sSYSTEM_DISK_SIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.SYSTEM_DISK_SIZE, input_name='SYSTEM_DISK_SIZE'), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE_USED is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE_USED>%s</%sSYSTEM_DISK_SIZE_USED>%s' % (namespaceprefix_ , self.gds_format_integer(self.SYSTEM_DISK_SIZE_USED, input_name='SYSTEM_DISK_SIZE_USED'), namespaceprefix_ , eol_))
        if self.VMS is not None:
            namespaceprefix_ = self.VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS>%s</%sVMS>%s' % (namespaceprefix_ , self.gds_format_integer(self.VMS, input_name='VMS'), namespaceprefix_ , eol_))
        if self.VMS_USED is not None:
            namespaceprefix_ = self.VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS_USED>%s</%sVMS_USED>%s' % (namespaceprefix_ , self.gds_format_integer(self.VMS_USED, input_name='VMS_USED'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CPU' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'CPU')
            fval_ = self.gds_validate_float(fval_, node, 'CPU')
            self.CPU = fval_
            self.CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'CPU_USED' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'CPU_USED')
            fval_ = self.gds_validate_float(fval_, node, 'CPU_USED')
            self.CPU_USED = fval_
            self.CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MEMORY')
            ival_ = self.gds_validate_integer(ival_, node, 'MEMORY')
            self.MEMORY = ival_
            self.MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY_USED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MEMORY_USED')
            ival_ = self.gds_validate_integer(ival_, node, 'MEMORY_USED')
            self.MEMORY_USED = ival_
            self.MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'RUNNING_CPU')
            fval_ = self.gds_validate_float(fval_, node, 'RUNNING_CPU')
            self.RUNNING_CPU = fval_
            self.RUNNING_CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU_USED' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'RUNNING_CPU_USED')
            fval_ = self.gds_validate_float(fval_, node, 'RUNNING_CPU_USED')
            self.RUNNING_CPU_USED = fval_
            self.RUNNING_CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RUNNING_MEMORY')
            ival_ = self.gds_validate_integer(ival_, node, 'RUNNING_MEMORY')
            self.RUNNING_MEMORY = ival_
            self.RUNNING_MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY_USED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RUNNING_MEMORY_USED')
            ival_ = self.gds_validate_integer(ival_, node, 'RUNNING_MEMORY_USED')
            self.RUNNING_MEMORY_USED = ival_
            self.RUNNING_MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RUNNING_VMS')
            ival_ = self.gds_validate_integer(ival_, node, 'RUNNING_VMS')
            self.RUNNING_VMS = ival_
            self.RUNNING_VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS_USED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RUNNING_VMS_USED')
            ival_ = self.gds_validate_integer(ival_, node, 'RUNNING_VMS_USED')
            self.RUNNING_VMS_USED = ival_
            self.RUNNING_VMS_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SYSTEM_DISK_SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'SYSTEM_DISK_SIZE')
            self.SYSTEM_DISK_SIZE = ival_
            self.SYSTEM_DISK_SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE_USED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SYSTEM_DISK_SIZE_USED')
            ival_ = self.gds_validate_integer(ival_, node, 'SYSTEM_DISK_SIZE_USED')
            self.SYSTEM_DISK_SIZE_USED = ival_
            self.SYSTEM_DISK_SIZE_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'VMS')
            ival_ = self.gds_validate_integer(ival_, node, 'VMS')
            self.VMS = ival_
            self.VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS_USED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'VMS_USED')
            ival_ = self.gds_validate_integer(ival_, node, 'VMS_USED')
            self.VMS_USED = ival_
            self.VMS_USED_nsprefix_ = child_.prefix
# end class VMType27


class IMAGE_QUOTAType28(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, IMAGE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if IMAGE is None:
            self.IMAGE = []
        else:
            self.IMAGE = IMAGE
        self.IMAGE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGE_QUOTAType28)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGE_QUOTAType28.subclass:
            return IMAGE_QUOTAType28.subclass(*args_, **kwargs_)
        else:
            return IMAGE_QUOTAType28(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_IMAGE(self):
        return self.IMAGE
    def set_IMAGE(self, IMAGE):
        self.IMAGE = IMAGE
    def add_IMAGE(self, value):
        self.IMAGE.append(value)
    def insert_IMAGE_at(self, index, value):
        self.IMAGE.insert(index, value)
    def replace_IMAGE_at(self, index, value):
        self.IMAGE[index] = value
    def hasContent_(self):
        if (
            self.IMAGE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType28', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGE_QUOTAType28')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGE_QUOTAType28':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGE_QUOTAType28')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGE_QUOTAType28', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGE_QUOTAType28'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType28', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for IMAGE_ in self.IMAGE:
            namespaceprefix_ = self.IMAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_nsprefix_) else ''
            IMAGE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'IMAGE':
            obj_ = IMAGEType29.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE.append(obj_)
            obj_.original_tagname_ = 'IMAGE'
# end class IMAGE_QUOTAType28


class IMAGEType29(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, RVMS=None, RVMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.RVMS = RVMS
        self.RVMS_nsprefix_ = None
        self.RVMS_USED = RVMS_USED
        self.RVMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGEType29)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGEType29.subclass:
            return IMAGEType29.subclass(*args_, **kwargs_)
        else:
            return IMAGEType29(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_RVMS(self):
        return self.RVMS
    def set_RVMS(self, RVMS):
        self.RVMS = RVMS
    def get_RVMS_USED(self):
        return self.RVMS_USED
    def set_RVMS_USED(self, RVMS_USED):
        self.RVMS_USED = RVMS_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.RVMS is not None or
            self.RVMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType29', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGEType29')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGEType29':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGEType29')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGEType29', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGEType29'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType29', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.RVMS is not None:
            namespaceprefix_ = self.RVMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS>%s</%sRVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS), input_name='RVMS')), namespaceprefix_ , eol_))
        if self.RVMS_USED is not None:
            namespaceprefix_ = self.RVMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS_USED>%s</%sRVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS_USED), input_name='RVMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS')
            value_ = self.gds_validate_string(value_, node, 'RVMS')
            self.RVMS = value_
            self.RVMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RVMS_USED')
            self.RVMS_USED = value_
            self.RVMS_USED_nsprefix_ = child_.prefix
# end class IMAGEType29


class HOST_SHAREType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DISK_USAGE=None, MEM_USAGE=None, CPU_USAGE=None, TOTAL_MEM=None, TOTAL_CPU=None, MAX_DISK=None, MAX_MEM=None, MAX_CPU=None, FREE_DISK=None, FREE_MEM=None, FREE_CPU=None, USED_DISK=None, USED_MEM=None, USED_CPU=None, RUNNING_VMS=None, VMS_THREAD=None, DATASTORES=None, PCI_DEVICES=None, NUMA_NODES=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.DISK_USAGE = DISK_USAGE
        self.DISK_USAGE_nsprefix_ = None
        self.MEM_USAGE = MEM_USAGE
        self.MEM_USAGE_nsprefix_ = None
        self.CPU_USAGE = CPU_USAGE
        self.CPU_USAGE_nsprefix_ = None
        self.TOTAL_MEM = TOTAL_MEM
        self.TOTAL_MEM_nsprefix_ = None
        self.TOTAL_CPU = TOTAL_CPU
        self.TOTAL_CPU_nsprefix_ = None
        self.MAX_DISK = MAX_DISK
        self.MAX_DISK_nsprefix_ = None
        self.MAX_MEM = MAX_MEM
        self.MAX_MEM_nsprefix_ = None
        self.MAX_CPU = MAX_CPU
        self.MAX_CPU_nsprefix_ = None
        self.FREE_DISK = FREE_DISK
        self.FREE_DISK_nsprefix_ = None
        self.FREE_MEM = FREE_MEM
        self.FREE_MEM_nsprefix_ = None
        self.FREE_CPU = FREE_CPU
        self.FREE_CPU_nsprefix_ = None
        self.USED_DISK = USED_DISK
        self.USED_DISK_nsprefix_ = None
        self.USED_MEM = USED_MEM
        self.USED_MEM_nsprefix_ = None
        self.USED_CPU = USED_CPU
        self.USED_CPU_nsprefix_ = None
        self.RUNNING_VMS = RUNNING_VMS
        self.RUNNING_VMS_nsprefix_ = None
        self.VMS_THREAD = VMS_THREAD
        self.VMS_THREAD_nsprefix_ = None
        self.DATASTORES = DATASTORES
        self.DATASTORES_nsprefix_ = None
        self.PCI_DEVICES = PCI_DEVICES
        self.PCI_DEVICES_nsprefix_ = None
        self.NUMA_NODES = NUMA_NODES
        self.NUMA_NODES_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HOST_SHAREType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HOST_SHAREType.subclass:
            return HOST_SHAREType.subclass(*args_, **kwargs_)
        else:
            return HOST_SHAREType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DISK_USAGE(self):
        return self.DISK_USAGE
    def set_DISK_USAGE(self, DISK_USAGE):
        self.DISK_USAGE = DISK_USAGE
    def get_MEM_USAGE(self):
        return self.MEM_USAGE
    def set_MEM_USAGE(self, MEM_USAGE):
        self.MEM_USAGE = MEM_USAGE
    def get_CPU_USAGE(self):
        return self.CPU_USAGE
    def set_CPU_USAGE(self, CPU_USAGE):
        self.CPU_USAGE = CPU_USAGE
    def get_TOTAL_MEM(self):
        return self.TOTAL_MEM
    def set_TOTAL_MEM(self, TOTAL_MEM):
        self.TOTAL_MEM = TOTAL_MEM
    def get_TOTAL_CPU(self):
        return self.TOTAL_CPU
    def set_TOTAL_CPU(self, TOTAL_CPU):
        self.TOTAL_CPU = TOTAL_CPU
    def get_MAX_DISK(self):
        return self.MAX_DISK
    def set_MAX_DISK(self, MAX_DISK):
        self.MAX_DISK = MAX_DISK
    def get_MAX_MEM(self):
        return self.MAX_MEM
    def set_MAX_MEM(self, MAX_MEM):
        self.MAX_MEM = MAX_MEM
    def get_MAX_CPU(self):
        return self.MAX_CPU
    def set_MAX_CPU(self, MAX_CPU):
        self.MAX_CPU = MAX_CPU
    def get_FREE_DISK(self):
        return self.FREE_DISK
    def set_FREE_DISK(self, FREE_DISK):
        self.FREE_DISK = FREE_DISK
    def get_FREE_MEM(self):
        return self.FREE_MEM
    def set_FREE_MEM(self, FREE_MEM):
        self.FREE_MEM = FREE_MEM
    def get_FREE_CPU(self):
        return self.FREE_CPU
    def set_FREE_CPU(self, FREE_CPU):
        self.FREE_CPU = FREE_CPU
    def get_USED_DISK(self):
        return self.USED_DISK
    def set_USED_DISK(self, USED_DISK):
        self.USED_DISK = USED_DISK
    def get_USED_MEM(self):
        return self.USED_MEM
    def set_USED_MEM(self, USED_MEM):
        self.USED_MEM = USED_MEM
    def get_USED_CPU(self):
        return self.USED_CPU
    def set_USED_CPU(self, USED_CPU):
        self.USED_CPU = USED_CPU
    def get_RUNNING_VMS(self):
        return self.RUNNING_VMS
    def set_RUNNING_VMS(self, RUNNING_VMS):
        self.RUNNING_VMS = RUNNING_VMS
    def get_VMS_THREAD(self):
        return self.VMS_THREAD
    def set_VMS_THREAD(self, VMS_THREAD):
        self.VMS_THREAD = VMS_THREAD
    def get_DATASTORES(self):
        return self.DATASTORES
    def set_DATASTORES(self, DATASTORES):
        self.DATASTORES = DATASTORES
    def get_PCI_DEVICES(self):
        return self.PCI_DEVICES
    def set_PCI_DEVICES(self, PCI_DEVICES):
        self.PCI_DEVICES = PCI_DEVICES
    def get_NUMA_NODES(self):
        return self.NUMA_NODES
    def set_NUMA_NODES(self, NUMA_NODES):
        self.NUMA_NODES = NUMA_NODES
    def hasContent_(self):
        if (
            self.DISK_USAGE is not None or
            self.MEM_USAGE is not None or
            self.CPU_USAGE is not None or
            self.TOTAL_MEM is not None or
            self.TOTAL_CPU is not None or
            self.MAX_DISK is not None or
            self.MAX_MEM is not None or
            self.MAX_CPU is not None or
            self.FREE_DISK is not None or
            self.FREE_MEM is not None or
            self.FREE_CPU is not None or
            self.USED_DISK is not None or
            self.USED_MEM is not None or
            self.USED_CPU is not None or
            self.RUNNING_VMS is not None or
            self.VMS_THREAD is not None or
            self.DATASTORES is not None or
            self.PCI_DEVICES is not None or
            self.NUMA_NODES is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOST_SHAREType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HOST_SHAREType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HOST_SHAREType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HOST_SHAREType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HOST_SHAREType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HOST_SHAREType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOST_SHAREType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.DISK_USAGE is not None:
            namespaceprefix_ = self.DISK_USAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.DISK_USAGE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDISK_USAGE>%s</%sDISK_USAGE>%s' % (namespaceprefix_ , self.gds_format_integer(self.DISK_USAGE, input_name='DISK_USAGE'), namespaceprefix_ , eol_))
        if self.MEM_USAGE is not None:
            namespaceprefix_ = self.MEM_USAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.MEM_USAGE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEM_USAGE>%s</%sMEM_USAGE>%s' % (namespaceprefix_ , self.gds_format_integer(self.MEM_USAGE, input_name='MEM_USAGE'), namespaceprefix_ , eol_))
        if self.CPU_USAGE is not None:
            namespaceprefix_ = self.CPU_USAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_USAGE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU_USAGE>%s</%sCPU_USAGE>%s' % (namespaceprefix_ , self.gds_format_integer(self.CPU_USAGE, input_name='CPU_USAGE'), namespaceprefix_ , eol_))
        if self.TOTAL_MEM is not None:
            namespaceprefix_ = self.TOTAL_MEM_nsprefix_ + ':' if (UseCapturedNS_ and self.TOTAL_MEM_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTOTAL_MEM>%s</%sTOTAL_MEM>%s' % (namespaceprefix_ , self.gds_format_integer(self.TOTAL_MEM, input_name='TOTAL_MEM'), namespaceprefix_ , eol_))
        if self.TOTAL_CPU is not None:
            namespaceprefix_ = self.TOTAL_CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.TOTAL_CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTOTAL_CPU>%s</%sTOTAL_CPU>%s' % (namespaceprefix_ , self.gds_format_integer(self.TOTAL_CPU, input_name='TOTAL_CPU'), namespaceprefix_ , eol_))
        if self.MAX_DISK is not None:
            namespaceprefix_ = self.MAX_DISK_nsprefix_ + ':' if (UseCapturedNS_ and self.MAX_DISK_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMAX_DISK>%s</%sMAX_DISK>%s' % (namespaceprefix_ , self.gds_format_integer(self.MAX_DISK, input_name='MAX_DISK'), namespaceprefix_ , eol_))
        if self.MAX_MEM is not None:
            namespaceprefix_ = self.MAX_MEM_nsprefix_ + ':' if (UseCapturedNS_ and self.MAX_MEM_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMAX_MEM>%s</%sMAX_MEM>%s' % (namespaceprefix_ , self.gds_format_integer(self.MAX_MEM, input_name='MAX_MEM'), namespaceprefix_ , eol_))
        if self.MAX_CPU is not None:
            namespaceprefix_ = self.MAX_CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.MAX_CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMAX_CPU>%s</%sMAX_CPU>%s' % (namespaceprefix_ , self.gds_format_integer(self.MAX_CPU, input_name='MAX_CPU'), namespaceprefix_ , eol_))
        if self.FREE_DISK is not None:
            namespaceprefix_ = self.FREE_DISK_nsprefix_ + ':' if (UseCapturedNS_ and self.FREE_DISK_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFREE_DISK>%s</%sFREE_DISK>%s' % (namespaceprefix_ , self.gds_format_integer(self.FREE_DISK, input_name='FREE_DISK'), namespaceprefix_ , eol_))
        if self.FREE_MEM is not None:
            namespaceprefix_ = self.FREE_MEM_nsprefix_ + ':' if (UseCapturedNS_ and self.FREE_MEM_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFREE_MEM>%s</%sFREE_MEM>%s' % (namespaceprefix_ , self.gds_format_integer(self.FREE_MEM, input_name='FREE_MEM'), namespaceprefix_ , eol_))
        if self.FREE_CPU is not None:
            namespaceprefix_ = self.FREE_CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.FREE_CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFREE_CPU>%s</%sFREE_CPU>%s' % (namespaceprefix_ , self.gds_format_integer(self.FREE_CPU, input_name='FREE_CPU'), namespaceprefix_ , eol_))
        if self.USED_DISK is not None:
            namespaceprefix_ = self.USED_DISK_nsprefix_ + ':' if (UseCapturedNS_ and self.USED_DISK_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSED_DISK>%s</%sUSED_DISK>%s' % (namespaceprefix_ , self.gds_format_integer(self.USED_DISK, input_name='USED_DISK'), namespaceprefix_ , eol_))
        if self.USED_MEM is not None:
            namespaceprefix_ = self.USED_MEM_nsprefix_ + ':' if (UseCapturedNS_ and self.USED_MEM_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSED_MEM>%s</%sUSED_MEM>%s' % (namespaceprefix_ , self.gds_format_integer(self.USED_MEM, input_name='USED_MEM'), namespaceprefix_ , eol_))
        if self.USED_CPU is not None:
            namespaceprefix_ = self.USED_CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.USED_CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSED_CPU>%s</%sUSED_CPU>%s' % (namespaceprefix_ , self.gds_format_integer(self.USED_CPU, input_name='USED_CPU'), namespaceprefix_ , eol_))
        if self.RUNNING_VMS is not None:
            namespaceprefix_ = self.RUNNING_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS>%s</%sRUNNING_VMS>%s' % (namespaceprefix_ , self.gds_format_integer(self.RUNNING_VMS, input_name='RUNNING_VMS'), namespaceprefix_ , eol_))
        if self.VMS_THREAD is not None:
            namespaceprefix_ = self.VMS_THREAD_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_THREAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS_THREAD>%s</%sVMS_THREAD>%s' % (namespaceprefix_ , self.gds_format_integer(self.VMS_THREAD, input_name='VMS_THREAD'), namespaceprefix_ , eol_))
        if self.DATASTORES is not None:
            namespaceprefix_ = self.DATASTORES_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORES_nsprefix_) else ''
            self.DATASTORES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORES', pretty_print=pretty_print)
        if self.PCI_DEVICES is not None:
            namespaceprefix_ = self.PCI_DEVICES_nsprefix_ + ':' if (UseCapturedNS_ and self.PCI_DEVICES_nsprefix_) else ''
            self.PCI_DEVICES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PCI_DEVICES', pretty_print=pretty_print)
        if self.NUMA_NODES is not None:
            namespaceprefix_ = self.NUMA_NODES_nsprefix_ + ':' if (UseCapturedNS_ and self.NUMA_NODES_nsprefix_) else ''
            self.NUMA_NODES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NUMA_NODES', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DISK_USAGE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DISK_USAGE')
            ival_ = self.gds_validate_integer(ival_, node, 'DISK_USAGE')
            self.DISK_USAGE = ival_
            self.DISK_USAGE_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEM_USAGE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MEM_USAGE')
            ival_ = self.gds_validate_integer(ival_, node, 'MEM_USAGE')
            self.MEM_USAGE = ival_
            self.MEM_USAGE_nsprefix_ = child_.prefix
        elif nodeName_ == 'CPU_USAGE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'CPU_USAGE')
            ival_ = self.gds_validate_integer(ival_, node, 'CPU_USAGE')
            self.CPU_USAGE = ival_
            self.CPU_USAGE_nsprefix_ = child_.prefix
        elif nodeName_ == 'TOTAL_MEM' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TOTAL_MEM')
            ival_ = self.gds_validate_integer(ival_, node, 'TOTAL_MEM')
            self.TOTAL_MEM = ival_
            self.TOTAL_MEM_nsprefix_ = child_.prefix
        elif nodeName_ == 'TOTAL_CPU' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TOTAL_CPU')
            ival_ = self.gds_validate_integer(ival_, node, 'TOTAL_CPU')
            self.TOTAL_CPU = ival_
            self.TOTAL_CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'MAX_DISK' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MAX_DISK')
            ival_ = self.gds_validate_integer(ival_, node, 'MAX_DISK')
            self.MAX_DISK = ival_
            self.MAX_DISK_nsprefix_ = child_.prefix
        elif nodeName_ == 'MAX_MEM' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MAX_MEM')
            ival_ = self.gds_validate_integer(ival_, node, 'MAX_MEM')
            self.MAX_MEM = ival_
            self.MAX_MEM_nsprefix_ = child_.prefix
        elif nodeName_ == 'MAX_CPU' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MAX_CPU')
            ival_ = self.gds_validate_integer(ival_, node, 'MAX_CPU')
            self.MAX_CPU = ival_
            self.MAX_CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'FREE_DISK' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'FREE_DISK')
            ival_ = self.gds_validate_integer(ival_, node, 'FREE_DISK')
            self.FREE_DISK = ival_
            self.FREE_DISK_nsprefix_ = child_.prefix
        elif nodeName_ == 'FREE_MEM' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'FREE_MEM')
            ival_ = self.gds_validate_integer(ival_, node, 'FREE_MEM')
            self.FREE_MEM = ival_
            self.FREE_MEM_nsprefix_ = child_.prefix
        elif nodeName_ == 'FREE_CPU' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'FREE_CPU')
            ival_ = self.gds_validate_integer(ival_, node, 'FREE_CPU')
            self.FREE_CPU = ival_
            self.FREE_CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'USED_DISK' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'USED_DISK')
            ival_ = self.gds_validate_integer(ival_, node, 'USED_DISK')
            self.USED_DISK = ival_
            self.USED_DISK_nsprefix_ = child_.prefix
        elif nodeName_ == 'USED_MEM' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'USED_MEM')
            ival_ = self.gds_validate_integer(ival_, node, 'USED_MEM')
            self.USED_MEM = ival_
            self.USED_MEM_nsprefix_ = child_.prefix
        elif nodeName_ == 'USED_CPU' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'USED_CPU')
            ival_ = self.gds_validate_integer(ival_, node, 'USED_CPU')
            self.USED_CPU = ival_
            self.USED_CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RUNNING_VMS')
            ival_ = self.gds_validate_integer(ival_, node, 'RUNNING_VMS')
            self.RUNNING_VMS = ival_
            self.RUNNING_VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS_THREAD' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'VMS_THREAD')
            ival_ = self.gds_validate_integer(ival_, node, 'VMS_THREAD')
            self.VMS_THREAD = ival_
            self.VMS_THREAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATASTORES':
            obj_ = DATASTORESType30.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORES = obj_
            obj_.original_tagname_ = 'DATASTORES'
        elif nodeName_ == 'PCI_DEVICES':
            obj_ = PCI_DEVICESType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PCI_DEVICES = obj_
            obj_.original_tagname_ = 'PCI_DEVICES'
        elif nodeName_ == 'NUMA_NODES':
            obj_ = NUMA_NODESType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NUMA_NODES = obj_
            obj_.original_tagname_ = 'NUMA_NODES'
# end class HOST_SHAREType


class DATASTORESType30(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DS=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DS is None:
            self.DS = []
        else:
            self.DS = DS
        self.DS_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORESType30)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORESType30.subclass:
            return DATASTORESType30.subclass(*args_, **kwargs_)
        else:
            return DATASTORESType30(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DS(self):
        return self.DS
    def set_DS(self, DS):
        self.DS = DS
    def add_DS(self, value):
        self.DS.append(value)
    def insert_DS_at(self, index, value):
        self.DS.insert(index, value)
    def replace_DS_at(self, index, value):
        self.DS[index] = value
    def hasContent_(self):
        if (
            self.DS
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORESType30', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORESType30')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORESType30':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORESType30')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORESType30', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORESType30'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORESType30', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DS_ in self.DS:
            namespaceprefix_ = self.DS_nsprefix_ + ':' if (UseCapturedNS_ and self.DS_nsprefix_) else ''
            DS_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DS', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DS':
            obj_ = DSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DS.append(obj_)
            obj_.original_tagname_ = 'DS'
# end class DATASTORESType30


class DSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, FREE_MB=None, TOTAL_MB=None, USED_MB=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.FREE_MB = FREE_MB
        self.FREE_MB_nsprefix_ = None
        self.TOTAL_MB = TOTAL_MB
        self.TOTAL_MB_nsprefix_ = None
        self.USED_MB = USED_MB
        self.USED_MB_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DSType.subclass:
            return DSType.subclass(*args_, **kwargs_)
        else:
            return DSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_FREE_MB(self):
        return self.FREE_MB
    def set_FREE_MB(self, FREE_MB):
        self.FREE_MB = FREE_MB
    def get_TOTAL_MB(self):
        return self.TOTAL_MB
    def set_TOTAL_MB(self, TOTAL_MB):
        self.TOTAL_MB = TOTAL_MB
    def get_USED_MB(self):
        return self.USED_MB
    def set_USED_MB(self, USED_MB):
        self.USED_MB = USED_MB
    def hasContent_(self):
        if (
            self.ID is not None or
            self.FREE_MB is not None or
            self.TOTAL_MB is not None or
            self.USED_MB is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.FREE_MB is not None:
            namespaceprefix_ = self.FREE_MB_nsprefix_ + ':' if (UseCapturedNS_ and self.FREE_MB_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFREE_MB>%s</%sFREE_MB>%s' % (namespaceprefix_ , self.gds_format_integer(self.FREE_MB, input_name='FREE_MB'), namespaceprefix_ , eol_))
        if self.TOTAL_MB is not None:
            namespaceprefix_ = self.TOTAL_MB_nsprefix_ + ':' if (UseCapturedNS_ and self.TOTAL_MB_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTOTAL_MB>%s</%sTOTAL_MB>%s' % (namespaceprefix_ , self.gds_format_integer(self.TOTAL_MB, input_name='TOTAL_MB'), namespaceprefix_ , eol_))
        if self.USED_MB is not None:
            namespaceprefix_ = self.USED_MB_nsprefix_ + ':' if (UseCapturedNS_ and self.USED_MB_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSED_MB>%s</%sUSED_MB>%s' % (namespaceprefix_ , self.gds_format_integer(self.USED_MB, input_name='USED_MB'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'FREE_MB' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'FREE_MB')
            ival_ = self.gds_validate_integer(ival_, node, 'FREE_MB')
            self.FREE_MB = ival_
            self.FREE_MB_nsprefix_ = child_.prefix
        elif nodeName_ == 'TOTAL_MB' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TOTAL_MB')
            ival_ = self.gds_validate_integer(ival_, node, 'TOTAL_MB')
            self.TOTAL_MB = ival_
            self.TOTAL_MB_nsprefix_ = child_.prefix
        elif nodeName_ == 'USED_MB' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'USED_MB')
            ival_ = self.gds_validate_integer(ival_, node, 'USED_MB')
            self.USED_MB = ival_
            self.USED_MB_nsprefix_ = child_.prefix
# end class DSType


class PCI_DEVICESType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, PCI=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if PCI is None:
            self.PCI = []
        else:
            self.PCI = PCI
        self.PCI_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PCI_DEVICESType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PCI_DEVICESType.subclass:
            return PCI_DEVICESType.subclass(*args_, **kwargs_)
        else:
            return PCI_DEVICESType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_PCI(self):
        return self.PCI
    def set_PCI(self, PCI):
        self.PCI = PCI
    def add_PCI(self, value):
        self.PCI.append(value)
    def insert_PCI_at(self, index, value):
        self.PCI.insert(index, value)
    def replace_PCI_at(self, index, value):
        self.PCI[index] = value
    def hasContent_(self):
        if (
            self.PCI
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PCI_DEVICESType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PCI_DEVICESType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PCI_DEVICESType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PCI_DEVICESType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PCI_DEVICESType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PCI_DEVICESType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PCI_DEVICESType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for PCI_ in self.PCI:
            namespaceprefix_ = self.PCI_nsprefix_ + ':' if (UseCapturedNS_ and self.PCI_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPCI>%s</%sPCI>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(PCI_), input_name='PCI')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'PCI':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PCI')
            value_ = self.gds_validate_string(value_, node, 'PCI')
            self.PCI.append(value_)
            self.PCI_nsprefix_ = child_.prefix
# end class PCI_DEVICESType


class NUMA_NODESType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, NODE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if NODE is None:
            self.NODE = []
        else:
            self.NODE = NODE
        self.NODE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NUMA_NODESType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NUMA_NODESType.subclass:
            return NUMA_NODESType.subclass(*args_, **kwargs_)
        else:
            return NUMA_NODESType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_NODE(self):
        return self.NODE
    def set_NODE(self, NODE):
        self.NODE = NODE
    def add_NODE(self, value):
        self.NODE.append(value)
    def insert_NODE_at(self, index, value):
        self.NODE.insert(index, value)
    def replace_NODE_at(self, index, value):
        self.NODE[index] = value
    def hasContent_(self):
        if (
            self.NODE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NUMA_NODESType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NUMA_NODESType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NUMA_NODESType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NUMA_NODESType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NUMA_NODESType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NUMA_NODESType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NUMA_NODESType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for NODE_ in self.NODE:
            namespaceprefix_ = self.NODE_nsprefix_ + ':' if (UseCapturedNS_ and self.NODE_nsprefix_) else ''
            NODE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NODE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'NODE':
            obj_ = NODEType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NODE.append(obj_)
            obj_.original_tagname_ = 'NODE'
# end class NUMA_NODESType


class NODEType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CORE=None, HUGEPAGE=None, MEMORY=None, NODE_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if CORE is None:
            self.CORE = []
        else:
            self.CORE = CORE
        self.CORE_nsprefix_ = None
        if HUGEPAGE is None:
            self.HUGEPAGE = []
        else:
            self.HUGEPAGE = HUGEPAGE
        self.HUGEPAGE_nsprefix_ = None
        self.MEMORY = MEMORY
        self.MEMORY_nsprefix_ = None
        self.NODE_ID = NODE_ID
        self.NODE_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NODEType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NODEType.subclass:
            return NODEType.subclass(*args_, **kwargs_)
        else:
            return NODEType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CORE(self):
        return self.CORE
    def set_CORE(self, CORE):
        self.CORE = CORE
    def add_CORE(self, value):
        self.CORE.append(value)
    def insert_CORE_at(self, index, value):
        self.CORE.insert(index, value)
    def replace_CORE_at(self, index, value):
        self.CORE[index] = value
    def get_HUGEPAGE(self):
        return self.HUGEPAGE
    def set_HUGEPAGE(self, HUGEPAGE):
        self.HUGEPAGE = HUGEPAGE
    def add_HUGEPAGE(self, value):
        self.HUGEPAGE.append(value)
    def insert_HUGEPAGE_at(self, index, value):
        self.HUGEPAGE.insert(index, value)
    def replace_HUGEPAGE_at(self, index, value):
        self.HUGEPAGE[index] = value
    def get_MEMORY(self):
        return self.MEMORY
    def set_MEMORY(self, MEMORY):
        self.MEMORY = MEMORY
    def get_NODE_ID(self):
        return self.NODE_ID
    def set_NODE_ID(self, NODE_ID):
        self.NODE_ID = NODE_ID
    def hasContent_(self):
        if (
            self.CORE or
            self.HUGEPAGE or
            self.MEMORY is not None or
            self.NODE_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NODEType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NODEType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NODEType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NODEType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NODEType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NODEType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NODEType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for CORE_ in self.CORE:
            namespaceprefix_ = self.CORE_nsprefix_ + ':' if (UseCapturedNS_ and self.CORE_nsprefix_) else ''
            CORE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CORE', pretty_print=pretty_print)
        for HUGEPAGE_ in self.HUGEPAGE:
            namespaceprefix_ = self.HUGEPAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.HUGEPAGE_nsprefix_) else ''
            HUGEPAGE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HUGEPAGE', pretty_print=pretty_print)
        if self.MEMORY is not None:
            namespaceprefix_ = self.MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_nsprefix_) else ''
            self.MEMORY.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MEMORY', pretty_print=pretty_print)
        if self.NODE_ID is not None:
            namespaceprefix_ = self.NODE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.NODE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNODE_ID>%s</%sNODE_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.NODE_ID, input_name='NODE_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CORE':
            obj_ = COREType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.CORE.append(obj_)
            obj_.original_tagname_ = 'CORE'
        elif nodeName_ == 'HUGEPAGE':
            obj_ = HUGEPAGEType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HUGEPAGE.append(obj_)
            obj_.original_tagname_ = 'HUGEPAGE'
        elif nodeName_ == 'MEMORY':
            obj_ = MEMORYType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.MEMORY = obj_
            obj_.original_tagname_ = 'MEMORY'
        elif nodeName_ == 'NODE_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'NODE_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'NODE_ID')
            self.NODE_ID = ival_
            self.NODE_ID_nsprefix_ = child_.prefix
# end class NODEType


class COREType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CPUS=None, DEDICATED=None, FREE=None, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.CPUS = CPUS
        self.CPUS_nsprefix_ = None
        self.DEDICATED = DEDICATED
        self.DEDICATED_nsprefix_ = None
        self.FREE = FREE
        self.FREE_nsprefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, COREType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if COREType.subclass:
            return COREType.subclass(*args_, **kwargs_)
        else:
            return COREType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CPUS(self):
        return self.CPUS
    def set_CPUS(self, CPUS):
        self.CPUS = CPUS
    def get_DEDICATED(self):
        return self.DEDICATED
    def set_DEDICATED(self, DEDICATED):
        self.DEDICATED = DEDICATED
    def get_FREE(self):
        return self.FREE
    def set_FREE(self, FREE):
        self.FREE = FREE
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def hasContent_(self):
        if (
            self.CPUS is not None or
            self.DEDICATED is not None or
            self.FREE is not None or
            self.ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='COREType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('COREType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'COREType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='COREType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='COREType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='COREType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='COREType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.CPUS is not None:
            namespaceprefix_ = self.CPUS_nsprefix_ + ':' if (UseCapturedNS_ and self.CPUS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPUS>%s</%sCPUS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPUS), input_name='CPUS')), namespaceprefix_ , eol_))
        if self.DEDICATED is not None:
            namespaceprefix_ = self.DEDICATED_nsprefix_ + ':' if (UseCapturedNS_ and self.DEDICATED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEDICATED>%s</%sDEDICATED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.DEDICATED), input_name='DEDICATED')), namespaceprefix_ , eol_))
        if self.FREE is not None:
            namespaceprefix_ = self.FREE_nsprefix_ + ':' if (UseCapturedNS_ and self.FREE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFREE>%s</%sFREE>%s' % (namespaceprefix_ , self.gds_format_integer(self.FREE, input_name='FREE'), namespaceprefix_ , eol_))
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CPUS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPUS')
            value_ = self.gds_validate_string(value_, node, 'CPUS')
            self.CPUS = value_
            self.CPUS_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEDICATED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEDICATED')
            value_ = self.gds_validate_string(value_, node, 'DEDICATED')
            self.DEDICATED = value_
            self.DEDICATED_nsprefix_ = child_.prefix
        elif nodeName_ == 'FREE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'FREE')
            ival_ = self.gds_validate_integer(ival_, node, 'FREE')
            self.FREE = ival_
            self.FREE_nsprefix_ = child_.prefix
        elif nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
# end class COREType


class HUGEPAGEType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, FREE=None, PAGES=None, SIZE=None, USAGE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.FREE = FREE
        self.FREE_nsprefix_ = None
        self.PAGES = PAGES
        self.PAGES_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.USAGE = USAGE
        self.USAGE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HUGEPAGEType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HUGEPAGEType.subclass:
            return HUGEPAGEType.subclass(*args_, **kwargs_)
        else:
            return HUGEPAGEType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_FREE(self):
        return self.FREE
    def set_FREE(self, FREE):
        self.FREE = FREE
    def get_PAGES(self):
        return self.PAGES
    def set_PAGES(self, PAGES):
        self.PAGES = PAGES
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_USAGE(self):
        return self.USAGE
    def set_USAGE(self, USAGE):
        self.USAGE = USAGE
    def hasContent_(self):
        if (
            self.FREE is not None or
            self.PAGES is not None or
            self.SIZE is not None or
            self.USAGE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HUGEPAGEType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HUGEPAGEType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HUGEPAGEType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HUGEPAGEType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HUGEPAGEType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HUGEPAGEType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HUGEPAGEType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.FREE is not None:
            namespaceprefix_ = self.FREE_nsprefix_ + ':' if (UseCapturedNS_ and self.FREE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFREE>%s</%sFREE>%s' % (namespaceprefix_ , self.gds_format_integer(self.FREE, input_name='FREE'), namespaceprefix_ , eol_))
        if self.PAGES is not None:
            namespaceprefix_ = self.PAGES_nsprefix_ + ':' if (UseCapturedNS_ and self.PAGES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPAGES>%s</%sPAGES>%s' % (namespaceprefix_ , self.gds_format_integer(self.PAGES, input_name='PAGES'), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.SIZE, input_name='SIZE'), namespaceprefix_ , eol_))
        if self.USAGE is not None:
            namespaceprefix_ = self.USAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.USAGE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSAGE>%s</%sUSAGE>%s' % (namespaceprefix_ , self.gds_format_integer(self.USAGE, input_name='USAGE'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'FREE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'FREE')
            ival_ = self.gds_validate_integer(ival_, node, 'FREE')
            self.FREE = ival_
            self.FREE_nsprefix_ = child_.prefix
        elif nodeName_ == 'PAGES' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PAGES')
            ival_ = self.gds_validate_integer(ival_, node, 'PAGES')
            self.PAGES = ival_
            self.PAGES_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'SIZE')
            self.SIZE = ival_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'USAGE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'USAGE')
            ival_ = self.gds_validate_integer(ival_, node, 'USAGE')
            self.USAGE = ival_
            self.USAGE_nsprefix_ = child_.prefix
# end class HUGEPAGEType


class MEMORYType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DISTANCE=None, FREE=None, TOTAL=None, USAGE=None, USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.DISTANCE = DISTANCE
        self.DISTANCE_nsprefix_ = None
        self.FREE = FREE
        self.FREE_nsprefix_ = None
        self.TOTAL = TOTAL
        self.TOTAL_nsprefix_ = None
        self.USAGE = USAGE
        self.USAGE_nsprefix_ = None
        self.USED = USED
        self.USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, MEMORYType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if MEMORYType.subclass:
            return MEMORYType.subclass(*args_, **kwargs_)
        else:
            return MEMORYType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DISTANCE(self):
        return self.DISTANCE
    def set_DISTANCE(self, DISTANCE):
        self.DISTANCE = DISTANCE
    def get_FREE(self):
        return self.FREE
    def set_FREE(self, FREE):
        self.FREE = FREE
    def get_TOTAL(self):
        return self.TOTAL
    def set_TOTAL(self, TOTAL):
        self.TOTAL = TOTAL
    def get_USAGE(self):
        return self.USAGE
    def set_USAGE(self, USAGE):
        self.USAGE = USAGE
    def get_USED(self):
        return self.USED
    def set_USED(self, USED):
        self.USED = USED
    def hasContent_(self):
        if (
            self.DISTANCE is not None or
            self.FREE is not None or
            self.TOTAL is not None or
            self.USAGE is not None or
            self.USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MEMORYType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('MEMORYType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'MEMORYType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MEMORYType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MEMORYType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MEMORYType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MEMORYType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.DISTANCE is not None:
            namespaceprefix_ = self.DISTANCE_nsprefix_ + ':' if (UseCapturedNS_ and self.DISTANCE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDISTANCE>%s</%sDISTANCE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.DISTANCE), input_name='DISTANCE')), namespaceprefix_ , eol_))
        if self.FREE is not None:
            namespaceprefix_ = self.FREE_nsprefix_ + ':' if (UseCapturedNS_ and self.FREE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFREE>%s</%sFREE>%s' % (namespaceprefix_ , self.gds_format_integer(self.FREE, input_name='FREE'), namespaceprefix_ , eol_))
        if self.TOTAL is not None:
            namespaceprefix_ = self.TOTAL_nsprefix_ + ':' if (UseCapturedNS_ and self.TOTAL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTOTAL>%s</%sTOTAL>%s' % (namespaceprefix_ , self.gds_format_integer(self.TOTAL, input_name='TOTAL'), namespaceprefix_ , eol_))
        if self.USAGE is not None:
            namespaceprefix_ = self.USAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.USAGE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSAGE>%s</%sUSAGE>%s' % (namespaceprefix_ , self.gds_format_integer(self.USAGE, input_name='USAGE'), namespaceprefix_ , eol_))
        if self.USED is not None:
            namespaceprefix_ = self.USED_nsprefix_ + ':' if (UseCapturedNS_ and self.USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSED>%s</%sUSED>%s' % (namespaceprefix_ , self.gds_format_integer(self.USED, input_name='USED'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DISTANCE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DISTANCE')
            value_ = self.gds_validate_string(value_, node, 'DISTANCE')
            self.DISTANCE = value_
            self.DISTANCE_nsprefix_ = child_.prefix
        elif nodeName_ == 'FREE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'FREE')
            ival_ = self.gds_validate_integer(ival_, node, 'FREE')
            self.FREE = ival_
            self.FREE_nsprefix_ = child_.prefix
        elif nodeName_ == 'TOTAL' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TOTAL')
            ival_ = self.gds_validate_integer(ival_, node, 'TOTAL')
            self.TOTAL = ival_
            self.TOTAL_nsprefix_ = child_.prefix
        elif nodeName_ == 'USAGE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'USAGE')
            ival_ = self.gds_validate_integer(ival_, node, 'USAGE')
            self.USAGE = ival_
            self.USAGE_nsprefix_ = child_.prefix
        elif nodeName_ == 'USED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'USED')
            ival_ = self.gds_validate_integer(ival_, node, 'USED')
            self.USED = ival_
            self.USED_nsprefix_ = child_.prefix
# end class MEMORYType


class VMSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMSType.subclass:
            return VMSType.subclass(*args_, **kwargs_)
        else:
            return VMSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class VMSType


class TEMPLATEType31(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VCENTER_CCR_REF=None, VCENTER_DS_REF=None, VCENTER_HOST=None, VCENTER_INSTANCE_ID=None, VCENTER_NAME=None, VCENTER_PASSWORD=None, VCENTER_RESOURCE_POOL_INFO=None, VCENTER_USER=None, VCENTER_VERSION=None, anytypeobjs_=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VCENTER_CCR_REF = VCENTER_CCR_REF
        self.VCENTER_CCR_REF_nsprefix_ = None
        if VCENTER_DS_REF is None:
            self.VCENTER_DS_REF = []
        else:
            self.VCENTER_DS_REF = VCENTER_DS_REF
        self.VCENTER_DS_REF_nsprefix_ = None
        self.VCENTER_HOST = VCENTER_HOST
        self.VCENTER_HOST_nsprefix_ = None
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
        self.VCENTER_INSTANCE_ID_nsprefix_ = None
        self.VCENTER_NAME = VCENTER_NAME
        self.VCENTER_NAME_nsprefix_ = None
        self.VCENTER_PASSWORD = VCENTER_PASSWORD
        self.VCENTER_PASSWORD_nsprefix_ = None
        if VCENTER_RESOURCE_POOL_INFO is None:
            self.VCENTER_RESOURCE_POOL_INFO = []
        else:
            self.VCENTER_RESOURCE_POOL_INFO = VCENTER_RESOURCE_POOL_INFO
        self.VCENTER_RESOURCE_POOL_INFO_nsprefix_ = None
        self.VCENTER_USER = VCENTER_USER
        self.VCENTER_USER_nsprefix_ = None
        self.VCENTER_VERSION = VCENTER_VERSION
        self.VCENTER_VERSION_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, TEMPLATEType31)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if TEMPLATEType31.subclass:
            return TEMPLATEType31.subclass(*args_, **kwargs_)
        else:
            return TEMPLATEType31(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VCENTER_CCR_REF(self):
        return self.VCENTER_CCR_REF
    def set_VCENTER_CCR_REF(self, VCENTER_CCR_REF):
        self.VCENTER_CCR_REF = VCENTER_CCR_REF
    def get_VCENTER_DS_REF(self):
        return self.VCENTER_DS_REF
    def set_VCENTER_DS_REF(self, VCENTER_DS_REF):
        self.VCENTER_DS_REF = VCENTER_DS_REF
    def add_VCENTER_DS_REF(self, value):
        self.VCENTER_DS_REF.append(value)
    def insert_VCENTER_DS_REF_at(self, index, value):
        self.VCENTER_DS_REF.insert(index, value)
    def replace_VCENTER_DS_REF_at(self, index, value):
        self.VCENTER_DS_REF[index] = value
    def get_VCENTER_HOST(self):
        return self.VCENTER_HOST
    def set_VCENTER_HOST(self, VCENTER_HOST):
        self.VCENTER_HOST = VCENTER_HOST
    def get_VCENTER_INSTANCE_ID(self):
        return self.VCENTER_INSTANCE_ID
    def set_VCENTER_INSTANCE_ID(self, VCENTER_INSTANCE_ID):
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
    def get_VCENTER_NAME(self):
        return self.VCENTER_NAME
    def set_VCENTER_NAME(self, VCENTER_NAME):
        self.VCENTER_NAME = VCENTER_NAME
    def get_VCENTER_PASSWORD(self):
        return self.VCENTER_PASSWORD
    def set_VCENTER_PASSWORD(self, VCENTER_PASSWORD):
        self.VCENTER_PASSWORD = VCENTER_PASSWORD
    def get_VCENTER_RESOURCE_POOL_INFO(self):
        return self.VCENTER_RESOURCE_POOL_INFO
    def set_VCENTER_RESOURCE_POOL_INFO(self, VCENTER_RESOURCE_POOL_INFO):
        self.VCENTER_RESOURCE_POOL_INFO = VCENTER_RESOURCE_POOL_INFO
    def add_VCENTER_RESOURCE_POOL_INFO(self, value):
        self.VCENTER_RESOURCE_POOL_INFO.append(value)
    def insert_VCENTER_RESOURCE_POOL_INFO_at(self, index, value):
        self.VCENTER_RESOURCE_POOL_INFO.insert(index, value)
    def replace_VCENTER_RESOURCE_POOL_INFO_at(self, index, value):
        self.VCENTER_RESOURCE_POOL_INFO[index] = value
    def get_VCENTER_USER(self):
        return self.VCENTER_USER
    def set_VCENTER_USER(self, VCENTER_USER):
        self.VCENTER_USER = VCENTER_USER
    def get_VCENTER_VERSION(self):
        return self.VCENTER_VERSION
    def set_VCENTER_VERSION(self, VCENTER_VERSION):
        self.VCENTER_VERSION = VCENTER_VERSION
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.VCENTER_CCR_REF is not None or
            self.VCENTER_DS_REF or
            self.VCENTER_HOST is not None or
            self.VCENTER_INSTANCE_ID is not None or
            self.VCENTER_NAME is not None or
            self.VCENTER_PASSWORD is not None or
            self.VCENTER_RESOURCE_POOL_INFO or
            self.VCENTER_USER is not None or
            self.VCENTER_VERSION is not None or
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType31', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('TEMPLATEType31')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'TEMPLATEType31':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TEMPLATEType31')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TEMPLATEType31', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TEMPLATEType31'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType31', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VCENTER_CCR_REF is not None:
            namespaceprefix_ = self.VCENTER_CCR_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_CCR_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_CCR_REF>%s</%sVCENTER_CCR_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_CCR_REF), input_name='VCENTER_CCR_REF')), namespaceprefix_ , eol_))
        for VCENTER_DS_REF_ in self.VCENTER_DS_REF:
            namespaceprefix_ = self.VCENTER_DS_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_DS_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_DS_REF>%s</%sVCENTER_DS_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(VCENTER_DS_REF_), input_name='VCENTER_DS_REF')), namespaceprefix_ , eol_))
        if self.VCENTER_HOST is not None:
            namespaceprefix_ = self.VCENTER_HOST_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_HOST_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_HOST>%s</%sVCENTER_HOST>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_HOST), input_name='VCENTER_HOST')), namespaceprefix_ , eol_))
        if self.VCENTER_INSTANCE_ID is not None:
            namespaceprefix_ = self.VCENTER_INSTANCE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_INSTANCE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_INSTANCE_ID>%s</%sVCENTER_INSTANCE_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_INSTANCE_ID), input_name='VCENTER_INSTANCE_ID')), namespaceprefix_ , eol_))
        if self.VCENTER_NAME is not None:
            namespaceprefix_ = self.VCENTER_NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_NAME>%s</%sVCENTER_NAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_NAME), input_name='VCENTER_NAME')), namespaceprefix_ , eol_))
        if self.VCENTER_PASSWORD is not None:
            namespaceprefix_ = self.VCENTER_PASSWORD_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_PASSWORD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_PASSWORD>%s</%sVCENTER_PASSWORD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_PASSWORD), input_name='VCENTER_PASSWORD')), namespaceprefix_ , eol_))
        for VCENTER_RESOURCE_POOL_INFO_ in self.VCENTER_RESOURCE_POOL_INFO:
            namespaceprefix_ = self.VCENTER_RESOURCE_POOL_INFO_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_RESOURCE_POOL_INFO_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_RESOURCE_POOL_INFO>%s</%sVCENTER_RESOURCE_POOL_INFO>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(VCENTER_RESOURCE_POOL_INFO_), input_name='VCENTER_RESOURCE_POOL_INFO')), namespaceprefix_ , eol_))
        if self.VCENTER_USER is not None:
            namespaceprefix_ = self.VCENTER_USER_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_USER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_USER>%s</%sVCENTER_USER>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_USER), input_name='VCENTER_USER')), namespaceprefix_ , eol_))
        if self.VCENTER_VERSION is not None:
            namespaceprefix_ = self.VCENTER_VERSION_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_VERSION_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_VERSION>%s</%sVCENTER_VERSION>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_VERSION), input_name='VCENTER_VERSION')), namespaceprefix_ , eol_))
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VCENTER_CCR_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_CCR_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_CCR_REF')
            self.VCENTER_CCR_REF = value_
            self.VCENTER_CCR_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_DS_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_DS_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_DS_REF')
            self.VCENTER_DS_REF.append(value_)
            self.VCENTER_DS_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_HOST':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_HOST')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_HOST')
            self.VCENTER_HOST = value_
            self.VCENTER_HOST_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_INSTANCE_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_INSTANCE_ID')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_INSTANCE_ID')
            self.VCENTER_INSTANCE_ID = value_
            self.VCENTER_INSTANCE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_NAME')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_NAME')
            self.VCENTER_NAME = value_
            self.VCENTER_NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_PASSWORD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_PASSWORD')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_PASSWORD')
            self.VCENTER_PASSWORD = value_
            self.VCENTER_PASSWORD_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_RESOURCE_POOL_INFO':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_RESOURCE_POOL_INFO')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_RESOURCE_POOL_INFO')
            self.VCENTER_RESOURCE_POOL_INFO.append(value_)
            self.VCENTER_RESOURCE_POOL_INFO_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_USER':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_USER')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_USER')
            self.VCENTER_USER = value_
            self.VCENTER_USER_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_VERSION':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_VERSION')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_VERSION')
            self.VCENTER_VERSION = value_
            self.VCENTER_VERSION_nsprefix_ = child_.prefix
        else:
            content_ = self.gds_build_any(child_, 'TEMPLATEType31')
            self.add_anytypeobjs_(content_)
# end class TEMPLATEType31


class VCENTER_RESOURCE_POOL_INFO(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VCENTER_RESOURCE_POOL_INFO)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VCENTER_RESOURCE_POOL_INFO.subclass:
            return VCENTER_RESOURCE_POOL_INFO.subclass(*args_, **kwargs_)
        else:
            return VCENTER_RESOURCE_POOL_INFO(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def hasContent_(self):
        if (

        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VCENTER_RESOURCE_POOL_INFO', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VCENTER_RESOURCE_POOL_INFO')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VCENTER_RESOURCE_POOL_INFO':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VCENTER_RESOURCE_POOL_INFO')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VCENTER_RESOURCE_POOL_INFO', pretty_print=pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VCENTER_RESOURCE_POOL_INFO'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='VCENTER_RESOURCE_POOL_INFO', fromsubclass_=False, pretty_print=True):
        pass
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        pass
# end class VCENTER_RESOURCE_POOL_INFO


class LOCKType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, LOCKED=None, OWNER=None, TIME=None, REQ_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.LOCKED = LOCKED
        self.LOCKED_nsprefix_ = None
        self.OWNER = OWNER
        self.OWNER_nsprefix_ = None
        self.TIME = TIME
        self.TIME_nsprefix_ = None
        self.REQ_ID = REQ_ID
        self.REQ_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, LOCKType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LOCKType.subclass:
            return LOCKType.subclass(*args_, **kwargs_)
        else:
            return LOCKType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_LOCKED(self):
        return self.LOCKED
    def set_LOCKED(self, LOCKED):
        self.LOCKED = LOCKED
    def get_OWNER(self):
        return self.OWNER
    def set_OWNER(self, OWNER):
        self.OWNER = OWNER
    def get_TIME(self):
        return self.TIME
    def set_TIME(self, TIME):
        self.TIME = TIME
    def get_REQ_ID(self):
        return self.REQ_ID
    def set_REQ_ID(self, REQ_ID):
        self.REQ_ID = REQ_ID
    def hasContent_(self):
        if (
            self.LOCKED is not None or
            self.OWNER is not None or
            self.TIME is not None or
            self.REQ_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LOCKType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'LOCKType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LOCKType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LOCKType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LOCKType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.LOCKED is not None:
            namespaceprefix_ = self.LOCKED_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCKED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLOCKED>%s</%sLOCKED>%s' % (namespaceprefix_ , self.gds_format_integer(self.LOCKED, input_name='LOCKED'), namespaceprefix_ , eol_))
        if self.OWNER is not None:
            namespaceprefix_ = self.OWNER_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER>%s</%sOWNER>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER, input_name='OWNER'), namespaceprefix_ , eol_))
        if self.TIME is not None:
            namespaceprefix_ = self.TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTIME>%s</%sTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.TIME, input_name='TIME'), namespaceprefix_ , eol_))
        if self.REQ_ID is not None:
            namespaceprefix_ = self.REQ_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.REQ_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREQ_ID>%s</%sREQ_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.REQ_ID, input_name='REQ_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'LOCKED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LOCKED')
            ival_ = self.gds_validate_integer(ival_, node, 'LOCKED')
            self.LOCKED = ival_
            self.LOCKED_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER')
            self.OWNER = ival_
            self.OWNER_nsprefix_ = child_.prefix
        elif nodeName_ == 'TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'TIME')
            self.TIME = ival_
            self.TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'REQ_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REQ_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'REQ_ID')
            self.REQ_ID = ival_
            self.REQ_ID_nsprefix_ = child_.prefix
# end class LOCKType


class PERMISSIONSType32(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OWNER_U=None, OWNER_M=None, OWNER_A=None, GROUP_U=None, GROUP_M=None, GROUP_A=None, OTHER_U=None, OTHER_M=None, OTHER_A=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OWNER_U = OWNER_U
        self.OWNER_U_nsprefix_ = None
        self.OWNER_M = OWNER_M
        self.OWNER_M_nsprefix_ = None
        self.OWNER_A = OWNER_A
        self.OWNER_A_nsprefix_ = None
        self.GROUP_U = GROUP_U
        self.GROUP_U_nsprefix_ = None
        self.GROUP_M = GROUP_M
        self.GROUP_M_nsprefix_ = None
        self.GROUP_A = GROUP_A
        self.GROUP_A_nsprefix_ = None
        self.OTHER_U = OTHER_U
        self.OTHER_U_nsprefix_ = None
        self.OTHER_M = OTHER_M
        self.OTHER_M_nsprefix_ = None
        self.OTHER_A = OTHER_A
        self.OTHER_A_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PERMISSIONSType32)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONSType32.subclass:
            return PERMISSIONSType32.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONSType32(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OWNER_U(self):
        return self.OWNER_U
    def set_OWNER_U(self, OWNER_U):
        self.OWNER_U = OWNER_U
    def get_OWNER_M(self):
        return self.OWNER_M
    def set_OWNER_M(self, OWNER_M):
        self.OWNER_M = OWNER_M
    def get_OWNER_A(self):
        return self.OWNER_A
    def set_OWNER_A(self, OWNER_A):
        self.OWNER_A = OWNER_A
    def get_GROUP_U(self):
        return self.GROUP_U
    def set_GROUP_U(self, GROUP_U):
        self.GROUP_U = GROUP_U
    def get_GROUP_M(self):
        return self.GROUP_M
    def set_GROUP_M(self, GROUP_M):
        self.GROUP_M = GROUP_M
    def get_GROUP_A(self):
        return self.GROUP_A
    def set_GROUP_A(self, GROUP_A):
        self.GROUP_A = GROUP_A
    def get_OTHER_U(self):
        return self.OTHER_U
    def set_OTHER_U(self, OTHER_U):
        self.OTHER_U = OTHER_U
    def get_OTHER_M(self):
        return self.OTHER_M
    def set_OTHER_M(self, OTHER_M):
        self.OTHER_M = OTHER_M
    def get_OTHER_A(self):
        return self.OTHER_A
    def set_OTHER_A(self, OTHER_A):
        self.OTHER_A = OTHER_A
    def hasContent_(self):
        if (
            self.OWNER_U is not None or
            self.OWNER_M is not None or
            self.OWNER_A is not None or
            self.GROUP_U is not None or
            self.GROUP_M is not None or
            self.GROUP_A is not None or
            self.OTHER_U is not None or
            self.OTHER_M is not None or
            self.OTHER_A is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType32', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONSType32')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PERMISSIONSType32':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PERMISSIONSType32')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONSType32', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PERMISSIONSType32'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType32', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OWNER_U is not None:
            namespaceprefix_ = self.OWNER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_U>%s</%sOWNER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_U, input_name='OWNER_U'), namespaceprefix_ , eol_))
        if self.OWNER_M is not None:
            namespaceprefix_ = self.OWNER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_M>%s</%sOWNER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_M, input_name='OWNER_M'), namespaceprefix_ , eol_))
        if self.OWNER_A is not None:
            namespaceprefix_ = self.OWNER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_A>%s</%sOWNER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_A, input_name='OWNER_A'), namespaceprefix_ , eol_))
        if self.GROUP_U is not None:
            namespaceprefix_ = self.GROUP_U_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_U>%s</%sGROUP_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_U, input_name='GROUP_U'), namespaceprefix_ , eol_))
        if self.GROUP_M is not None:
            namespaceprefix_ = self.GROUP_M_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_M>%s</%sGROUP_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_M, input_name='GROUP_M'), namespaceprefix_ , eol_))
        if self.GROUP_A is not None:
            namespaceprefix_ = self.GROUP_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_A>%s</%sGROUP_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_A, input_name='GROUP_A'), namespaceprefix_ , eol_))
        if self.OTHER_U is not None:
            namespaceprefix_ = self.OTHER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_U>%s</%sOTHER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_U, input_name='OTHER_U'), namespaceprefix_ , eol_))
        if self.OTHER_M is not None:
            namespaceprefix_ = self.OTHER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_M>%s</%sOTHER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_M, input_name='OTHER_M'), namespaceprefix_ , eol_))
        if self.OTHER_A is not None:
            namespaceprefix_ = self.OTHER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_A>%s</%sOTHER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_A, input_name='OTHER_A'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OWNER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_U')
            self.OWNER_U = ival_
            self.OWNER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_M')
            self.OWNER_M = ival_
            self.OWNER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_A')
            self.OWNER_A = ival_
            self.OWNER_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_U')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_U')
            self.GROUP_U = ival_
            self.GROUP_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_M')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_M')
            self.GROUP_M = ival_
            self.GROUP_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_A')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_A')
            self.GROUP_A = ival_
            self.GROUP_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_U')
            self.OTHER_U = ival_
            self.OTHER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_M')
            self.OTHER_M = ival_
            self.OTHER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_A')
            self.OTHER_A = ival_
            self.OTHER_A_nsprefix_ = child_.prefix
# end class PERMISSIONSType32


class VMSType33(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMSType33)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMSType33.subclass:
            return VMSType33.subclass(*args_, **kwargs_)
        else:
            return VMSType33(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMSType33', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMSType33')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMSType33':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMSType33')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMSType33', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMSType33'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMSType33', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class VMSType33


class CLONESType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, CLONESType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if CLONESType.subclass:
            return CLONESType.subclass(*args_, **kwargs_)
        else:
            return CLONESType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLONESType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLONESType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'CLONESType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLONESType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLONESType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CLONESType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLONESType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class CLONESType


class APP_CLONESType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, APP_CLONESType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if APP_CLONESType.subclass:
            return APP_CLONESType.subclass(*args_, **kwargs_)
        else:
            return APP_CLONESType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='APP_CLONESType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('APP_CLONESType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'APP_CLONESType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='APP_CLONESType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='APP_CLONESType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='APP_CLONESType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='APP_CLONESType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class APP_CLONESType


class TEMPLATEType34(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VCENTER_IMPORTED=None, anytypeobjs_=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VCENTER_IMPORTED = VCENTER_IMPORTED
        self.VCENTER_IMPORTED_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, TEMPLATEType34)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if TEMPLATEType34.subclass:
            return TEMPLATEType34.subclass(*args_, **kwargs_)
        else:
            return TEMPLATEType34(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VCENTER_IMPORTED(self):
        return self.VCENTER_IMPORTED
    def set_VCENTER_IMPORTED(self, VCENTER_IMPORTED):
        self.VCENTER_IMPORTED = VCENTER_IMPORTED
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.VCENTER_IMPORTED is not None or
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType34', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('TEMPLATEType34')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'TEMPLATEType34':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TEMPLATEType34')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TEMPLATEType34', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TEMPLATEType34'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType34', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VCENTER_IMPORTED is not None:
            namespaceprefix_ = self.VCENTER_IMPORTED_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_IMPORTED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_IMPORTED>%s</%sVCENTER_IMPORTED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_IMPORTED), input_name='VCENTER_IMPORTED')), namespaceprefix_ , eol_))
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VCENTER_IMPORTED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_IMPORTED')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_IMPORTED')
            self.VCENTER_IMPORTED = value_
            self.VCENTER_IMPORTED_nsprefix_ = child_.prefix
        else:
            content_ = self.gds_build_any(child_, 'TEMPLATEType34')
            self.add_anytypeobjs_(content_)
# end class TEMPLATEType34


class SNAPSHOTSType35(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ALLOW_ORPHANS=None, CURRENT_BASE=None, NEXT_SNAPSHOT=None, SNAPSHOT=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ALLOW_ORPHANS = ALLOW_ORPHANS
        self.ALLOW_ORPHANS_nsprefix_ = None
        self.CURRENT_BASE = CURRENT_BASE
        self.CURRENT_BASE_nsprefix_ = None
        self.NEXT_SNAPSHOT = NEXT_SNAPSHOT
        self.NEXT_SNAPSHOT_nsprefix_ = None
        if SNAPSHOT is None:
            self.SNAPSHOT = []
        else:
            self.SNAPSHOT = SNAPSHOT
        self.SNAPSHOT_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SNAPSHOTSType35)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SNAPSHOTSType35.subclass:
            return SNAPSHOTSType35.subclass(*args_, **kwargs_)
        else:
            return SNAPSHOTSType35(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ALLOW_ORPHANS(self):
        return self.ALLOW_ORPHANS
    def set_ALLOW_ORPHANS(self, ALLOW_ORPHANS):
        self.ALLOW_ORPHANS = ALLOW_ORPHANS
    def get_CURRENT_BASE(self):
        return self.CURRENT_BASE
    def set_CURRENT_BASE(self, CURRENT_BASE):
        self.CURRENT_BASE = CURRENT_BASE
    def get_NEXT_SNAPSHOT(self):
        return self.NEXT_SNAPSHOT
    def set_NEXT_SNAPSHOT(self, NEXT_SNAPSHOT):
        self.NEXT_SNAPSHOT = NEXT_SNAPSHOT
    def get_SNAPSHOT(self):
        return self.SNAPSHOT
    def set_SNAPSHOT(self, SNAPSHOT):
        self.SNAPSHOT = SNAPSHOT
    def add_SNAPSHOT(self, value):
        self.SNAPSHOT.append(value)
    def insert_SNAPSHOT_at(self, index, value):
        self.SNAPSHOT.insert(index, value)
    def replace_SNAPSHOT_at(self, index, value):
        self.SNAPSHOT[index] = value
    def hasContent_(self):
        if (
            self.ALLOW_ORPHANS is not None or
            self.CURRENT_BASE is not None or
            self.NEXT_SNAPSHOT is not None or
            self.SNAPSHOT
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTSType35', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SNAPSHOTSType35')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SNAPSHOTSType35':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SNAPSHOTSType35')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SNAPSHOTSType35', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SNAPSHOTSType35'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTSType35', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ALLOW_ORPHANS is not None:
            namespaceprefix_ = self.ALLOW_ORPHANS_nsprefix_ + ':' if (UseCapturedNS_ and self.ALLOW_ORPHANS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sALLOW_ORPHANS>%s</%sALLOW_ORPHANS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ALLOW_ORPHANS), input_name='ALLOW_ORPHANS')), namespaceprefix_ , eol_))
        if self.CURRENT_BASE is not None:
            namespaceprefix_ = self.CURRENT_BASE_nsprefix_ + ':' if (UseCapturedNS_ and self.CURRENT_BASE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCURRENT_BASE>%s</%sCURRENT_BASE>%s' % (namespaceprefix_ , self.gds_format_integer(self.CURRENT_BASE, input_name='CURRENT_BASE'), namespaceprefix_ , eol_))
        if self.NEXT_SNAPSHOT is not None:
            namespaceprefix_ = self.NEXT_SNAPSHOT_nsprefix_ + ':' if (UseCapturedNS_ and self.NEXT_SNAPSHOT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNEXT_SNAPSHOT>%s</%sNEXT_SNAPSHOT>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NEXT_SNAPSHOT), input_name='NEXT_SNAPSHOT')), namespaceprefix_ , eol_))
        for SNAPSHOT_ in self.SNAPSHOT:
            namespaceprefix_ = self.SNAPSHOT_nsprefix_ + ':' if (UseCapturedNS_ and self.SNAPSHOT_nsprefix_) else ''
            SNAPSHOT_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SNAPSHOT', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ALLOW_ORPHANS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ALLOW_ORPHANS')
            value_ = self.gds_validate_string(value_, node, 'ALLOW_ORPHANS')
            self.ALLOW_ORPHANS = value_
            self.ALLOW_ORPHANS_nsprefix_ = child_.prefix
        elif nodeName_ == 'CURRENT_BASE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'CURRENT_BASE')
            ival_ = self.gds_validate_integer(ival_, node, 'CURRENT_BASE')
            self.CURRENT_BASE = ival_
            self.CURRENT_BASE_nsprefix_ = child_.prefix
        elif nodeName_ == 'NEXT_SNAPSHOT':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NEXT_SNAPSHOT')
            value_ = self.gds_validate_string(value_, node, 'NEXT_SNAPSHOT')
            self.NEXT_SNAPSHOT = value_
            self.NEXT_SNAPSHOT_nsprefix_ = child_.prefix
        elif nodeName_ == 'SNAPSHOT':
            obj_ = SNAPSHOTType36.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SNAPSHOT.append(obj_)
            obj_.original_tagname_ = 'SNAPSHOT'
# end class SNAPSHOTSType35


class SNAPSHOTType36(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CHILDREN=None, ACTIVE=None, DATE=None, ID=None, NAME=None, PARENT=None, SIZE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.CHILDREN = CHILDREN
        self.CHILDREN_nsprefix_ = None
        self.ACTIVE = ACTIVE
        self.ACTIVE_nsprefix_ = None
        self.DATE = DATE
        self.DATE_nsprefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.PARENT = PARENT
        self.PARENT_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SNAPSHOTType36)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SNAPSHOTType36.subclass:
            return SNAPSHOTType36.subclass(*args_, **kwargs_)
        else:
            return SNAPSHOTType36(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CHILDREN(self):
        return self.CHILDREN
    def set_CHILDREN(self, CHILDREN):
        self.CHILDREN = CHILDREN
    def get_ACTIVE(self):
        return self.ACTIVE
    def set_ACTIVE(self, ACTIVE):
        self.ACTIVE = ACTIVE
    def get_DATE(self):
        return self.DATE
    def set_DATE(self, DATE):
        self.DATE = DATE
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_PARENT(self):
        return self.PARENT
    def set_PARENT(self, PARENT):
        self.PARENT = PARENT
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def hasContent_(self):
        if (
            self.CHILDREN is not None or
            self.ACTIVE is not None or
            self.DATE is not None or
            self.ID is not None or
            self.NAME is not None or
            self.PARENT is not None or
            self.SIZE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTType36', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SNAPSHOTType36')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SNAPSHOTType36':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SNAPSHOTType36')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SNAPSHOTType36', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SNAPSHOTType36'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTType36', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.CHILDREN is not None:
            namespaceprefix_ = self.CHILDREN_nsprefix_ + ':' if (UseCapturedNS_ and self.CHILDREN_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCHILDREN>%s</%sCHILDREN>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CHILDREN), input_name='CHILDREN')), namespaceprefix_ , eol_))
        if self.ACTIVE is not None:
            namespaceprefix_ = self.ACTIVE_nsprefix_ + ':' if (UseCapturedNS_ and self.ACTIVE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sACTIVE>%s</%sACTIVE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ACTIVE), input_name='ACTIVE')), namespaceprefix_ , eol_))
        if self.DATE is not None:
            namespaceprefix_ = self.DATE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDATE>%s</%sDATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.DATE, input_name='DATE'), namespaceprefix_ , eol_))
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.PARENT is not None:
            namespaceprefix_ = self.PARENT_nsprefix_ + ':' if (UseCapturedNS_ and self.PARENT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPARENT>%s</%sPARENT>%s' % (namespaceprefix_ , self.gds_format_integer(self.PARENT, input_name='PARENT'), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.SIZE, input_name='SIZE'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CHILDREN':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CHILDREN')
            value_ = self.gds_validate_string(value_, node, 'CHILDREN')
            self.CHILDREN = value_
            self.CHILDREN_nsprefix_ = child_.prefix
        elif nodeName_ == 'ACTIVE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ACTIVE')
            value_ = self.gds_validate_string(value_, node, 'ACTIVE')
            self.ACTIVE = value_
            self.ACTIVE_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DATE')
            ival_ = self.gds_validate_integer(ival_, node, 'DATE')
            self.DATE = ival_
            self.DATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PARENT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PARENT')
            ival_ = self.gds_validate_integer(ival_, node, 'PARENT')
            self.PARENT = ival_
            self.PARENT_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'SIZE')
            self.SIZE = ival_
            self.SIZE_nsprefix_ = child_.prefix
# end class SNAPSHOTType36


class LOCKType37(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, LOCKED=None, OWNER=None, TIME=None, REQ_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.LOCKED = LOCKED
        self.LOCKED_nsprefix_ = None
        self.OWNER = OWNER
        self.OWNER_nsprefix_ = None
        self.TIME = TIME
        self.TIME_nsprefix_ = None
        self.REQ_ID = REQ_ID
        self.REQ_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, LOCKType37)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LOCKType37.subclass:
            return LOCKType37.subclass(*args_, **kwargs_)
        else:
            return LOCKType37(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_LOCKED(self):
        return self.LOCKED
    def set_LOCKED(self, LOCKED):
        self.LOCKED = LOCKED
    def get_OWNER(self):
        return self.OWNER
    def set_OWNER(self, OWNER):
        self.OWNER = OWNER
    def get_TIME(self):
        return self.TIME
    def set_TIME(self, TIME):
        self.TIME = TIME
    def get_REQ_ID(self):
        return self.REQ_ID
    def set_REQ_ID(self, REQ_ID):
        self.REQ_ID = REQ_ID
    def hasContent_(self):
        if (
            self.LOCKED is not None or
            self.OWNER is not None or
            self.TIME is not None or
            self.REQ_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType37', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LOCKType37')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'LOCKType37':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LOCKType37')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LOCKType37', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LOCKType37'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType37', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.LOCKED is not None:
            namespaceprefix_ = self.LOCKED_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCKED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLOCKED>%s</%sLOCKED>%s' % (namespaceprefix_ , self.gds_format_integer(self.LOCKED, input_name='LOCKED'), namespaceprefix_ , eol_))
        if self.OWNER is not None:
            namespaceprefix_ = self.OWNER_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER>%s</%sOWNER>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER, input_name='OWNER'), namespaceprefix_ , eol_))
        if self.TIME is not None:
            namespaceprefix_ = self.TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTIME>%s</%sTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.TIME, input_name='TIME'), namespaceprefix_ , eol_))
        if self.REQ_ID is not None:
            namespaceprefix_ = self.REQ_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.REQ_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREQ_ID>%s</%sREQ_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.REQ_ID, input_name='REQ_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'LOCKED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LOCKED')
            ival_ = self.gds_validate_integer(ival_, node, 'LOCKED')
            self.LOCKED = ival_
            self.LOCKED_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER')
            self.OWNER = ival_
            self.OWNER_nsprefix_ = child_.prefix
        elif nodeName_ == 'TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'TIME')
            self.TIME = ival_
            self.TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'REQ_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REQ_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'REQ_ID')
            self.REQ_ID = ival_
            self.REQ_ID_nsprefix_ = child_.prefix
# end class LOCKType37


class PERMISSIONSType38(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OWNER_U=None, OWNER_M=None, OWNER_A=None, GROUP_U=None, GROUP_M=None, GROUP_A=None, OTHER_U=None, OTHER_M=None, OTHER_A=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OWNER_U = OWNER_U
        self.OWNER_U_nsprefix_ = None
        self.OWNER_M = OWNER_M
        self.OWNER_M_nsprefix_ = None
        self.OWNER_A = OWNER_A
        self.OWNER_A_nsprefix_ = None
        self.GROUP_U = GROUP_U
        self.GROUP_U_nsprefix_ = None
        self.GROUP_M = GROUP_M
        self.GROUP_M_nsprefix_ = None
        self.GROUP_A = GROUP_A
        self.GROUP_A_nsprefix_ = None
        self.OTHER_U = OTHER_U
        self.OTHER_U_nsprefix_ = None
        self.OTHER_M = OTHER_M
        self.OTHER_M_nsprefix_ = None
        self.OTHER_A = OTHER_A
        self.OTHER_A_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PERMISSIONSType38)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONSType38.subclass:
            return PERMISSIONSType38.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONSType38(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OWNER_U(self):
        return self.OWNER_U
    def set_OWNER_U(self, OWNER_U):
        self.OWNER_U = OWNER_U
    def get_OWNER_M(self):
        return self.OWNER_M
    def set_OWNER_M(self, OWNER_M):
        self.OWNER_M = OWNER_M
    def get_OWNER_A(self):
        return self.OWNER_A
    def set_OWNER_A(self, OWNER_A):
        self.OWNER_A = OWNER_A
    def get_GROUP_U(self):
        return self.GROUP_U
    def set_GROUP_U(self, GROUP_U):
        self.GROUP_U = GROUP_U
    def get_GROUP_M(self):
        return self.GROUP_M
    def set_GROUP_M(self, GROUP_M):
        self.GROUP_M = GROUP_M
    def get_GROUP_A(self):
        return self.GROUP_A
    def set_GROUP_A(self, GROUP_A):
        self.GROUP_A = GROUP_A
    def get_OTHER_U(self):
        return self.OTHER_U
    def set_OTHER_U(self, OTHER_U):
        self.OTHER_U = OTHER_U
    def get_OTHER_M(self):
        return self.OTHER_M
    def set_OTHER_M(self, OTHER_M):
        self.OTHER_M = OTHER_M
    def get_OTHER_A(self):
        return self.OTHER_A
    def set_OTHER_A(self, OTHER_A):
        self.OTHER_A = OTHER_A
    def hasContent_(self):
        if (
            self.OWNER_U is not None or
            self.OWNER_M is not None or
            self.OWNER_A is not None or
            self.GROUP_U is not None or
            self.GROUP_M is not None or
            self.GROUP_A is not None or
            self.OTHER_U is not None or
            self.OTHER_M is not None or
            self.OTHER_A is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType38', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONSType38')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PERMISSIONSType38':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PERMISSIONSType38')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONSType38', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PERMISSIONSType38'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType38', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OWNER_U is not None:
            namespaceprefix_ = self.OWNER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_U>%s</%sOWNER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_U, input_name='OWNER_U'), namespaceprefix_ , eol_))
        if self.OWNER_M is not None:
            namespaceprefix_ = self.OWNER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_M>%s</%sOWNER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_M, input_name='OWNER_M'), namespaceprefix_ , eol_))
        if self.OWNER_A is not None:
            namespaceprefix_ = self.OWNER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_A>%s</%sOWNER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_A, input_name='OWNER_A'), namespaceprefix_ , eol_))
        if self.GROUP_U is not None:
            namespaceprefix_ = self.GROUP_U_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_U>%s</%sGROUP_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_U, input_name='GROUP_U'), namespaceprefix_ , eol_))
        if self.GROUP_M is not None:
            namespaceprefix_ = self.GROUP_M_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_M>%s</%sGROUP_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_M, input_name='GROUP_M'), namespaceprefix_ , eol_))
        if self.GROUP_A is not None:
            namespaceprefix_ = self.GROUP_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_A>%s</%sGROUP_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_A, input_name='GROUP_A'), namespaceprefix_ , eol_))
        if self.OTHER_U is not None:
            namespaceprefix_ = self.OTHER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_U>%s</%sOTHER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_U, input_name='OTHER_U'), namespaceprefix_ , eol_))
        if self.OTHER_M is not None:
            namespaceprefix_ = self.OTHER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_M>%s</%sOTHER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_M, input_name='OTHER_M'), namespaceprefix_ , eol_))
        if self.OTHER_A is not None:
            namespaceprefix_ = self.OTHER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_A>%s</%sOTHER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_A, input_name='OTHER_A'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OWNER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_U')
            self.OWNER_U = ival_
            self.OWNER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_M')
            self.OWNER_M = ival_
            self.OWNER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_A')
            self.OWNER_A = ival_
            self.OWNER_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_U')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_U')
            self.GROUP_U = ival_
            self.GROUP_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_M')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_M')
            self.GROUP_M = ival_
            self.GROUP_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_A')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_A')
            self.GROUP_A = ival_
            self.GROUP_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_U')
            self.OTHER_U = ival_
            self.OTHER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_M')
            self.OTHER_M = ival_
            self.OTHER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_A')
            self.OTHER_A = ival_
            self.OTHER_A_nsprefix_ = child_.prefix
# end class PERMISSIONSType38


class MARKETPLACEAPPSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, MARKETPLACEAPPSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if MARKETPLACEAPPSType.subclass:
            return MARKETPLACEAPPSType.subclass(*args_, **kwargs_)
        else:
            return MARKETPLACEAPPSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MARKETPLACEAPPSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('MARKETPLACEAPPSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'MARKETPLACEAPPSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MARKETPLACEAPPSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MARKETPLACEAPPSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MARKETPLACEAPPSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MARKETPLACEAPPSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class MARKETPLACEAPPSType


class PERMISSIONSType39(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OWNER_U=None, OWNER_M=None, OWNER_A=None, GROUP_U=None, GROUP_M=None, GROUP_A=None, OTHER_U=None, OTHER_M=None, OTHER_A=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OWNER_U = OWNER_U
        self.OWNER_U_nsprefix_ = None
        self.OWNER_M = OWNER_M
        self.OWNER_M_nsprefix_ = None
        self.OWNER_A = OWNER_A
        self.OWNER_A_nsprefix_ = None
        self.GROUP_U = GROUP_U
        self.GROUP_U_nsprefix_ = None
        self.GROUP_M = GROUP_M
        self.GROUP_M_nsprefix_ = None
        self.GROUP_A = GROUP_A
        self.GROUP_A_nsprefix_ = None
        self.OTHER_U = OTHER_U
        self.OTHER_U_nsprefix_ = None
        self.OTHER_M = OTHER_M
        self.OTHER_M_nsprefix_ = None
        self.OTHER_A = OTHER_A
        self.OTHER_A_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PERMISSIONSType39)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONSType39.subclass:
            return PERMISSIONSType39.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONSType39(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OWNER_U(self):
        return self.OWNER_U
    def set_OWNER_U(self, OWNER_U):
        self.OWNER_U = OWNER_U
    def get_OWNER_M(self):
        return self.OWNER_M
    def set_OWNER_M(self, OWNER_M):
        self.OWNER_M = OWNER_M
    def get_OWNER_A(self):
        return self.OWNER_A
    def set_OWNER_A(self, OWNER_A):
        self.OWNER_A = OWNER_A
    def get_GROUP_U(self):
        return self.GROUP_U
    def set_GROUP_U(self, GROUP_U):
        self.GROUP_U = GROUP_U
    def get_GROUP_M(self):
        return self.GROUP_M
    def set_GROUP_M(self, GROUP_M):
        self.GROUP_M = GROUP_M
    def get_GROUP_A(self):
        return self.GROUP_A
    def set_GROUP_A(self, GROUP_A):
        self.GROUP_A = GROUP_A
    def get_OTHER_U(self):
        return self.OTHER_U
    def set_OTHER_U(self, OTHER_U):
        self.OTHER_U = OTHER_U
    def get_OTHER_M(self):
        return self.OTHER_M
    def set_OTHER_M(self, OTHER_M):
        self.OTHER_M = OTHER_M
    def get_OTHER_A(self):
        return self.OTHER_A
    def set_OTHER_A(self, OTHER_A):
        self.OTHER_A = OTHER_A
    def hasContent_(self):
        if (
            self.OWNER_U is not None or
            self.OWNER_M is not None or
            self.OWNER_A is not None or
            self.GROUP_U is not None or
            self.GROUP_M is not None or
            self.GROUP_A is not None or
            self.OTHER_U is not None or
            self.OTHER_M is not None or
            self.OTHER_A is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType39', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONSType39')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PERMISSIONSType39':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PERMISSIONSType39')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONSType39', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PERMISSIONSType39'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType39', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OWNER_U is not None:
            namespaceprefix_ = self.OWNER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_U>%s</%sOWNER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_U, input_name='OWNER_U'), namespaceprefix_ , eol_))
        if self.OWNER_M is not None:
            namespaceprefix_ = self.OWNER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_M>%s</%sOWNER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_M, input_name='OWNER_M'), namespaceprefix_ , eol_))
        if self.OWNER_A is not None:
            namespaceprefix_ = self.OWNER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_A>%s</%sOWNER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_A, input_name='OWNER_A'), namespaceprefix_ , eol_))
        if self.GROUP_U is not None:
            namespaceprefix_ = self.GROUP_U_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_U>%s</%sGROUP_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_U, input_name='GROUP_U'), namespaceprefix_ , eol_))
        if self.GROUP_M is not None:
            namespaceprefix_ = self.GROUP_M_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_M>%s</%sGROUP_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_M, input_name='GROUP_M'), namespaceprefix_ , eol_))
        if self.GROUP_A is not None:
            namespaceprefix_ = self.GROUP_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_A>%s</%sGROUP_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_A, input_name='GROUP_A'), namespaceprefix_ , eol_))
        if self.OTHER_U is not None:
            namespaceprefix_ = self.OTHER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_U>%s</%sOTHER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_U, input_name='OTHER_U'), namespaceprefix_ , eol_))
        if self.OTHER_M is not None:
            namespaceprefix_ = self.OTHER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_M>%s</%sOTHER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_M, input_name='OTHER_M'), namespaceprefix_ , eol_))
        if self.OTHER_A is not None:
            namespaceprefix_ = self.OTHER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_A>%s</%sOTHER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_A, input_name='OTHER_A'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OWNER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_U')
            self.OWNER_U = ival_
            self.OWNER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_M')
            self.OWNER_M = ival_
            self.OWNER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_A')
            self.OWNER_A = ival_
            self.OWNER_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_U')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_U')
            self.GROUP_U = ival_
            self.GROUP_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_M')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_M')
            self.GROUP_M = ival_
            self.GROUP_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_A')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_A')
            self.GROUP_A = ival_
            self.GROUP_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_U')
            self.OTHER_U = ival_
            self.OTHER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_M')
            self.OTHER_M = ival_
            self.OTHER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_A')
            self.OTHER_A = ival_
            self.OTHER_A_nsprefix_ = child_.prefix
# end class PERMISSIONSType39


class USERType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, GID=None, GROUPS=None, GNAME=None, NAME=None, PASSWORD=None, AUTH_DRIVER=None, ENABLED=None, LOGIN_TOKEN=None, TEMPLATE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.GROUPS = GROUPS
        self.GROUPS_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.PASSWORD = PASSWORD
        self.PASSWORD_nsprefix_ = None
        self.AUTH_DRIVER = AUTH_DRIVER
        self.AUTH_DRIVER_nsprefix_ = None
        self.ENABLED = ENABLED
        self.ENABLED_nsprefix_ = None
        if LOGIN_TOKEN is None:
            self.LOGIN_TOKEN = []
        else:
            self.LOGIN_TOKEN = LOGIN_TOKEN
        self.LOGIN_TOKEN_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, USERType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if USERType.subclass:
            return USERType.subclass(*args_, **kwargs_)
        else:
            return USERType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_GROUPS(self):
        return self.GROUPS
    def set_GROUPS(self, GROUPS):
        self.GROUPS = GROUPS
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_PASSWORD(self):
        return self.PASSWORD
    def set_PASSWORD(self, PASSWORD):
        self.PASSWORD = PASSWORD
    def get_AUTH_DRIVER(self):
        return self.AUTH_DRIVER
    def set_AUTH_DRIVER(self, AUTH_DRIVER):
        self.AUTH_DRIVER = AUTH_DRIVER
    def get_ENABLED(self):
        return self.ENABLED
    def set_ENABLED(self, ENABLED):
        self.ENABLED = ENABLED
    def get_LOGIN_TOKEN(self):
        return self.LOGIN_TOKEN
    def set_LOGIN_TOKEN(self, LOGIN_TOKEN):
        self.LOGIN_TOKEN = LOGIN_TOKEN
    def add_LOGIN_TOKEN(self, value):
        self.LOGIN_TOKEN.append(value)
    def insert_LOGIN_TOKEN_at(self, index, value):
        self.LOGIN_TOKEN.insert(index, value)
    def replace_LOGIN_TOKEN_at(self, index, value):
        self.LOGIN_TOKEN[index] = value
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def hasContent_(self):
        if (
            self.ID is not None or
            self.GID is not None or
            self.GROUPS is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.PASSWORD is not None or
            self.AUTH_DRIVER is not None or
            self.ENABLED is not None or
            self.LOGIN_TOKEN or
            self.TEMPLATE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USERType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('USERType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'USERType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='USERType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='USERType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='USERType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USERType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.GROUPS is not None:
            namespaceprefix_ = self.GROUPS_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUPS_nsprefix_) else ''
            self.GROUPS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GROUPS', pretty_print=pretty_print)
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.PASSWORD is not None:
            namespaceprefix_ = self.PASSWORD_nsprefix_ + ':' if (UseCapturedNS_ and self.PASSWORD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPASSWORD>%s</%sPASSWORD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PASSWORD), input_name='PASSWORD')), namespaceprefix_ , eol_))
        if self.AUTH_DRIVER is not None:
            namespaceprefix_ = self.AUTH_DRIVER_nsprefix_ + ':' if (UseCapturedNS_ and self.AUTH_DRIVER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sAUTH_DRIVER>%s</%sAUTH_DRIVER>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AUTH_DRIVER), input_name='AUTH_DRIVER')), namespaceprefix_ , eol_))
        if self.ENABLED is not None:
            namespaceprefix_ = self.ENABLED_nsprefix_ + ':' if (UseCapturedNS_ and self.ENABLED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sENABLED>%s</%sENABLED>%s' % (namespaceprefix_ , self.gds_format_integer(self.ENABLED, input_name='ENABLED'), namespaceprefix_ , eol_))
        for LOGIN_TOKEN_ in self.LOGIN_TOKEN:
            namespaceprefix_ = self.LOGIN_TOKEN_nsprefix_ + ':' if (UseCapturedNS_ and self.LOGIN_TOKEN_nsprefix_) else ''
            LOGIN_TOKEN_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LOGIN_TOKEN', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTEMPLATE>%s</%sTEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TEMPLATE), input_name='TEMPLATE')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUPS':
            obj_ = GROUPSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.GROUPS = obj_
            obj_.original_tagname_ = 'GROUPS'
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PASSWORD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PASSWORD')
            value_ = self.gds_validate_string(value_, node, 'PASSWORD')
            self.PASSWORD = value_
            self.PASSWORD_nsprefix_ = child_.prefix
        elif nodeName_ == 'AUTH_DRIVER':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'AUTH_DRIVER')
            value_ = self.gds_validate_string(value_, node, 'AUTH_DRIVER')
            self.AUTH_DRIVER = value_
            self.AUTH_DRIVER_nsprefix_ = child_.prefix
        elif nodeName_ == 'ENABLED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ENABLED')
            ival_ = self.gds_validate_integer(ival_, node, 'ENABLED')
            self.ENABLED = ival_
            self.ENABLED_nsprefix_ = child_.prefix
        elif nodeName_ == 'LOGIN_TOKEN':
            obj_ = LOGIN_TOKENType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOGIN_TOKEN.append(obj_)
            obj_.original_tagname_ = 'LOGIN_TOKEN'
        elif nodeName_ == 'TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'TEMPLATE')
            self.TEMPLATE = value_
            self.TEMPLATE_nsprefix_ = child_.prefix
# end class USERType


class GROUPSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, GROUPSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if GROUPSType.subclass:
            return GROUPSType.subclass(*args_, **kwargs_)
        else:
            return GROUPSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='GROUPSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('GROUPSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'GROUPSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GROUPSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GROUPSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GROUPSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='GROUPSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class GROUPSType


class LOGIN_TOKENType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, TOKEN=None, EXPIRATION_TIME=None, EGID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.TOKEN = TOKEN
        self.TOKEN_nsprefix_ = None
        self.EXPIRATION_TIME = EXPIRATION_TIME
        self.EXPIRATION_TIME_nsprefix_ = None
        self.EGID = EGID
        self.EGID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, LOGIN_TOKENType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LOGIN_TOKENType.subclass:
            return LOGIN_TOKENType.subclass(*args_, **kwargs_)
        else:
            return LOGIN_TOKENType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_TOKEN(self):
        return self.TOKEN
    def set_TOKEN(self, TOKEN):
        self.TOKEN = TOKEN
    def get_EXPIRATION_TIME(self):
        return self.EXPIRATION_TIME
    def set_EXPIRATION_TIME(self, EXPIRATION_TIME):
        self.EXPIRATION_TIME = EXPIRATION_TIME
    def get_EGID(self):
        return self.EGID
    def set_EGID(self, EGID):
        self.EGID = EGID
    def hasContent_(self):
        if (
            self.TOKEN is not None or
            self.EXPIRATION_TIME is not None or
            self.EGID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOGIN_TOKENType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LOGIN_TOKENType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'LOGIN_TOKENType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LOGIN_TOKENType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LOGIN_TOKENType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LOGIN_TOKENType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOGIN_TOKENType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.TOKEN is not None:
            namespaceprefix_ = self.TOKEN_nsprefix_ + ':' if (UseCapturedNS_ and self.TOKEN_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTOKEN>%s</%sTOKEN>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TOKEN), input_name='TOKEN')), namespaceprefix_ , eol_))
        if self.EXPIRATION_TIME is not None:
            namespaceprefix_ = self.EXPIRATION_TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.EXPIRATION_TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sEXPIRATION_TIME>%s</%sEXPIRATION_TIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.EXPIRATION_TIME, input_name='EXPIRATION_TIME'), namespaceprefix_ , eol_))
        if self.EGID is not None:
            namespaceprefix_ = self.EGID_nsprefix_ + ':' if (UseCapturedNS_ and self.EGID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sEGID>%s</%sEGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.EGID, input_name='EGID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'TOKEN':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TOKEN')
            value_ = self.gds_validate_string(value_, node, 'TOKEN')
            self.TOKEN = value_
            self.TOKEN_nsprefix_ = child_.prefix
        elif nodeName_ == 'EXPIRATION_TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'EXPIRATION_TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'EXPIRATION_TIME')
            self.EXPIRATION_TIME = ival_
            self.EXPIRATION_TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'EGID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'EGID')
            ival_ = self.gds_validate_integer(ival_, node, 'EGID')
            self.EGID = ival_
            self.EGID_nsprefix_ = child_.prefix
# end class LOGIN_TOKENType


class QUOTASType40(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, DATASTORE_QUOTA=None, NETWORK_QUOTA=None, VM_QUOTA=None, IMAGE_QUOTA=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
        self.DATASTORE_QUOTA_nsprefix_ = None
        self.NETWORK_QUOTA = NETWORK_QUOTA
        self.NETWORK_QUOTA_nsprefix_ = None
        self.VM_QUOTA = VM_QUOTA
        self.VM_QUOTA_nsprefix_ = None
        self.IMAGE_QUOTA = IMAGE_QUOTA
        self.IMAGE_QUOTA_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, QUOTASType40)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if QUOTASType40.subclass:
            return QUOTASType40.subclass(*args_, **kwargs_)
        else:
            return QUOTASType40(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_DATASTORE_QUOTA(self):
        return self.DATASTORE_QUOTA
    def set_DATASTORE_QUOTA(self, DATASTORE_QUOTA):
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
    def get_NETWORK_QUOTA(self):
        return self.NETWORK_QUOTA
    def set_NETWORK_QUOTA(self, NETWORK_QUOTA):
        self.NETWORK_QUOTA = NETWORK_QUOTA
    def get_VM_QUOTA(self):
        return self.VM_QUOTA
    def set_VM_QUOTA(self, VM_QUOTA):
        self.VM_QUOTA = VM_QUOTA
    def get_IMAGE_QUOTA(self):
        return self.IMAGE_QUOTA
    def set_IMAGE_QUOTA(self, IMAGE_QUOTA):
        self.IMAGE_QUOTA = IMAGE_QUOTA
    def hasContent_(self):
        if (
            self.ID is not None or
            self.DATASTORE_QUOTA is not None or
            self.NETWORK_QUOTA is not None or
            self.VM_QUOTA is not None or
            self.IMAGE_QUOTA is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='QUOTASType40', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('QUOTASType40')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'QUOTASType40':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='QUOTASType40')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='QUOTASType40', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='QUOTASType40'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='QUOTASType40', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.DATASTORE_QUOTA is not None:
            namespaceprefix_ = self.DATASTORE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_QUOTA_nsprefix_) else ''
            self.DATASTORE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE_QUOTA', pretty_print=pretty_print)
        if self.NETWORK_QUOTA is not None:
            namespaceprefix_ = self.NETWORK_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_QUOTA_nsprefix_) else ''
            self.NETWORK_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK_QUOTA', pretty_print=pretty_print)
        if self.VM_QUOTA is not None:
            namespaceprefix_ = self.VM_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_QUOTA_nsprefix_) else ''
            self.VM_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM_QUOTA', pretty_print=pretty_print)
        if self.IMAGE_QUOTA is not None:
            namespaceprefix_ = self.IMAGE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_QUOTA_nsprefix_) else ''
            self.IMAGE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE_QUOTA', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATASTORE_QUOTA':
            obj_ = DATASTORE_QUOTAType41.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE_QUOTA = obj_
            obj_.original_tagname_ = 'DATASTORE_QUOTA'
        elif nodeName_ == 'NETWORK_QUOTA':
            obj_ = NETWORK_QUOTAType43.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK_QUOTA = obj_
            obj_.original_tagname_ = 'NETWORK_QUOTA'
        elif nodeName_ == 'VM_QUOTA':
            obj_ = VM_QUOTAType45.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM_QUOTA = obj_
            obj_.original_tagname_ = 'VM_QUOTA'
        elif nodeName_ == 'IMAGE_QUOTA':
            obj_ = IMAGE_QUOTAType47.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE_QUOTA = obj_
            obj_.original_tagname_ = 'IMAGE_QUOTA'
# end class QUOTASType40


class DATASTORE_QUOTAType41(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DATASTORE is None:
            self.DATASTORE = []
        else:
            self.DATASTORE = DATASTORE
        self.DATASTORE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORE_QUOTAType41)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORE_QUOTAType41.subclass:
            return DATASTORE_QUOTAType41.subclass(*args_, **kwargs_)
        else:
            return DATASTORE_QUOTAType41(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE(self):
        return self.DATASTORE
    def set_DATASTORE(self, DATASTORE):
        self.DATASTORE = DATASTORE
    def add_DATASTORE(self, value):
        self.DATASTORE.append(value)
    def insert_DATASTORE_at(self, index, value):
        self.DATASTORE.insert(index, value)
    def replace_DATASTORE_at(self, index, value):
        self.DATASTORE[index] = value
    def hasContent_(self):
        if (
            self.DATASTORE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType41', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORE_QUOTAType41')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORE_QUOTAType41':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORE_QUOTAType41')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORE_QUOTAType41', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORE_QUOTAType41'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType41', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DATASTORE_ in self.DATASTORE:
            namespaceprefix_ = self.DATASTORE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_nsprefix_) else ''
            DATASTORE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE':
            obj_ = DATASTOREType42.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE.append(obj_)
            obj_.original_tagname_ = 'DATASTORE'
# end class DATASTORE_QUOTAType41


class DATASTOREType42(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, IMAGES=None, IMAGES_USED=None, SIZE=None, SIZE_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.IMAGES = IMAGES
        self.IMAGES_nsprefix_ = None
        self.IMAGES_USED = IMAGES_USED
        self.IMAGES_USED_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.SIZE_USED = SIZE_USED
        self.SIZE_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTOREType42)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTOREType42.subclass:
            return DATASTOREType42.subclass(*args_, **kwargs_)
        else:
            return DATASTOREType42(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_IMAGES(self):
        return self.IMAGES
    def set_IMAGES(self, IMAGES):
        self.IMAGES = IMAGES
    def get_IMAGES_USED(self):
        return self.IMAGES_USED
    def set_IMAGES_USED(self, IMAGES_USED):
        self.IMAGES_USED = IMAGES_USED
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_SIZE_USED(self):
        return self.SIZE_USED
    def set_SIZE_USED(self, SIZE_USED):
        self.SIZE_USED = SIZE_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.IMAGES is not None or
            self.IMAGES_USED is not None or
            self.SIZE is not None or
            self.SIZE_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType42', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTOREType42')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTOREType42':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTOREType42')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTOREType42', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTOREType42'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType42', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.IMAGES is not None:
            namespaceprefix_ = self.IMAGES_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES>%s</%sIMAGES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES), input_name='IMAGES')), namespaceprefix_ , eol_))
        if self.IMAGES_USED is not None:
            namespaceprefix_ = self.IMAGES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES_USED>%s</%sIMAGES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES_USED), input_name='IMAGES_USED')), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE), input_name='SIZE')), namespaceprefix_ , eol_))
        if self.SIZE_USED is not None:
            namespaceprefix_ = self.SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE_USED>%s</%sSIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE_USED), input_name='SIZE_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES')
            value_ = self.gds_validate_string(value_, node, 'IMAGES')
            self.IMAGES = value_
            self.IMAGES_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES_USED')
            value_ = self.gds_validate_string(value_, node, 'IMAGES_USED')
            self.IMAGES_USED = value_
            self.IMAGES_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE')
            value_ = self.gds_validate_string(value_, node, 'SIZE')
            self.SIZE = value_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SIZE_USED')
            self.SIZE_USED = value_
            self.SIZE_USED_nsprefix_ = child_.prefix
# end class DATASTOREType42


class NETWORK_QUOTAType43(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, NETWORK=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if NETWORK is None:
            self.NETWORK = []
        else:
            self.NETWORK = NETWORK
        self.NETWORK_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORK_QUOTAType43)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORK_QUOTAType43.subclass:
            return NETWORK_QUOTAType43.subclass(*args_, **kwargs_)
        else:
            return NETWORK_QUOTAType43(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_NETWORK(self):
        return self.NETWORK
    def set_NETWORK(self, NETWORK):
        self.NETWORK = NETWORK
    def add_NETWORK(self, value):
        self.NETWORK.append(value)
    def insert_NETWORK_at(self, index, value):
        self.NETWORK.insert(index, value)
    def replace_NETWORK_at(self, index, value):
        self.NETWORK[index] = value
    def hasContent_(self):
        if (
            self.NETWORK
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType43', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORK_QUOTAType43')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORK_QUOTAType43':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORK_QUOTAType43')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORK_QUOTAType43', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORK_QUOTAType43'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType43', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for NETWORK_ in self.NETWORK:
            namespaceprefix_ = self.NETWORK_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_nsprefix_) else ''
            NETWORK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'NETWORK':
            obj_ = NETWORKType44.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK.append(obj_)
            obj_.original_tagname_ = 'NETWORK'
# end class NETWORK_QUOTAType43


class NETWORKType44(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, LEASES=None, LEASES_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.LEASES = LEASES
        self.LEASES_nsprefix_ = None
        self.LEASES_USED = LEASES_USED
        self.LEASES_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORKType44)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORKType44.subclass:
            return NETWORKType44.subclass(*args_, **kwargs_)
        else:
            return NETWORKType44(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_LEASES(self):
        return self.LEASES
    def set_LEASES(self, LEASES):
        self.LEASES = LEASES
    def get_LEASES_USED(self):
        return self.LEASES_USED
    def set_LEASES_USED(self, LEASES_USED):
        self.LEASES_USED = LEASES_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.LEASES is not None or
            self.LEASES_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType44', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORKType44')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORKType44':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORKType44')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORKType44', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORKType44'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType44', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.LEASES is not None:
            namespaceprefix_ = self.LEASES_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES>%s</%sLEASES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES), input_name='LEASES')), namespaceprefix_ , eol_))
        if self.LEASES_USED is not None:
            namespaceprefix_ = self.LEASES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES_USED>%s</%sLEASES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES_USED), input_name='LEASES_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES')
            value_ = self.gds_validate_string(value_, node, 'LEASES')
            self.LEASES = value_
            self.LEASES_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES_USED')
            value_ = self.gds_validate_string(value_, node, 'LEASES_USED')
            self.LEASES_USED = value_
            self.LEASES_USED_nsprefix_ = child_.prefix
# end class NETWORKType44


class VM_QUOTAType45(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VM=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VM = VM
        self.VM_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VM_QUOTAType45)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VM_QUOTAType45.subclass:
            return VM_QUOTAType45.subclass(*args_, **kwargs_)
        else:
            return VM_QUOTAType45(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VM(self):
        return self.VM
    def set_VM(self, VM):
        self.VM = VM
    def hasContent_(self):
        if (
            self.VM is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType45', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VM_QUOTAType45')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VM_QUOTAType45':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VM_QUOTAType45')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VM_QUOTAType45', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VM_QUOTAType45'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType45', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VM is not None:
            namespaceprefix_ = self.VM_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_nsprefix_) else ''
            self.VM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VM':
            obj_ = VMType46.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM = obj_
            obj_.original_tagname_ = 'VM'
# end class VM_QUOTAType45


class VMType46(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CPU=None, CPU_USED=None, MEMORY=None, MEMORY_USED=None, RUNNING_CPU=None, RUNNING_CPU_USED=None, RUNNING_MEMORY=None, RUNNING_MEMORY_USED=None, RUNNING_VMS=None, RUNNING_VMS_USED=None, SYSTEM_DISK_SIZE=None, SYSTEM_DISK_SIZE_USED=None, VMS=None, VMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.CPU = CPU
        self.CPU_nsprefix_ = None
        self.CPU_USED = CPU_USED
        self.CPU_USED_nsprefix_ = None
        self.MEMORY = MEMORY
        self.MEMORY_nsprefix_ = None
        self.MEMORY_USED = MEMORY_USED
        self.MEMORY_USED_nsprefix_ = None
        self.RUNNING_CPU = RUNNING_CPU
        self.RUNNING_CPU_nsprefix_ = None
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
        self.RUNNING_CPU_USED_nsprefix_ = None
        self.RUNNING_MEMORY = RUNNING_MEMORY
        self.RUNNING_MEMORY_nsprefix_ = None
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
        self.RUNNING_MEMORY_USED_nsprefix_ = None
        self.RUNNING_VMS = RUNNING_VMS
        self.RUNNING_VMS_nsprefix_ = None
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
        self.RUNNING_VMS_USED_nsprefix_ = None
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
        self.SYSTEM_DISK_SIZE_nsprefix_ = None
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
        self.SYSTEM_DISK_SIZE_USED_nsprefix_ = None
        self.VMS = VMS
        self.VMS_nsprefix_ = None
        self.VMS_USED = VMS_USED
        self.VMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMType46)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMType46.subclass:
            return VMType46.subclass(*args_, **kwargs_)
        else:
            return VMType46(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CPU(self):
        return self.CPU
    def set_CPU(self, CPU):
        self.CPU = CPU
    def get_CPU_USED(self):
        return self.CPU_USED
    def set_CPU_USED(self, CPU_USED):
        self.CPU_USED = CPU_USED
    def get_MEMORY(self):
        return self.MEMORY
    def set_MEMORY(self, MEMORY):
        self.MEMORY = MEMORY
    def get_MEMORY_USED(self):
        return self.MEMORY_USED
    def set_MEMORY_USED(self, MEMORY_USED):
        self.MEMORY_USED = MEMORY_USED
    def get_RUNNING_CPU(self):
        return self.RUNNING_CPU
    def set_RUNNING_CPU(self, RUNNING_CPU):
        self.RUNNING_CPU = RUNNING_CPU
    def get_RUNNING_CPU_USED(self):
        return self.RUNNING_CPU_USED
    def set_RUNNING_CPU_USED(self, RUNNING_CPU_USED):
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
    def get_RUNNING_MEMORY(self):
        return self.RUNNING_MEMORY
    def set_RUNNING_MEMORY(self, RUNNING_MEMORY):
        self.RUNNING_MEMORY = RUNNING_MEMORY
    def get_RUNNING_MEMORY_USED(self):
        return self.RUNNING_MEMORY_USED
    def set_RUNNING_MEMORY_USED(self, RUNNING_MEMORY_USED):
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
    def get_RUNNING_VMS(self):
        return self.RUNNING_VMS
    def set_RUNNING_VMS(self, RUNNING_VMS):
        self.RUNNING_VMS = RUNNING_VMS
    def get_RUNNING_VMS_USED(self):
        return self.RUNNING_VMS_USED
    def set_RUNNING_VMS_USED(self, RUNNING_VMS_USED):
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
    def get_SYSTEM_DISK_SIZE(self):
        return self.SYSTEM_DISK_SIZE
    def set_SYSTEM_DISK_SIZE(self, SYSTEM_DISK_SIZE):
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
    def get_SYSTEM_DISK_SIZE_USED(self):
        return self.SYSTEM_DISK_SIZE_USED
    def set_SYSTEM_DISK_SIZE_USED(self, SYSTEM_DISK_SIZE_USED):
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
    def get_VMS(self):
        return self.VMS
    def set_VMS(self, VMS):
        self.VMS = VMS
    def get_VMS_USED(self):
        return self.VMS_USED
    def set_VMS_USED(self, VMS_USED):
        self.VMS_USED = VMS_USED
    def hasContent_(self):
        if (
            self.CPU is not None or
            self.CPU_USED is not None or
            self.MEMORY is not None or
            self.MEMORY_USED is not None or
            self.RUNNING_CPU is not None or
            self.RUNNING_CPU_USED is not None or
            self.RUNNING_MEMORY is not None or
            self.RUNNING_MEMORY_USED is not None or
            self.RUNNING_VMS is not None or
            self.RUNNING_VMS_USED is not None or
            self.SYSTEM_DISK_SIZE is not None or
            self.SYSTEM_DISK_SIZE_USED is not None or
            self.VMS is not None or
            self.VMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType46', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMType46')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMType46':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMType46')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMType46', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMType46'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType46', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.CPU is not None:
            namespaceprefix_ = self.CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU>%s</%sCPU>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPU), input_name='CPU')), namespaceprefix_ , eol_))
        if self.CPU_USED is not None:
            namespaceprefix_ = self.CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU_USED>%s</%sCPU_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPU_USED), input_name='CPU_USED')), namespaceprefix_ , eol_))
        if self.MEMORY is not None:
            namespaceprefix_ = self.MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY>%s</%sMEMORY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MEMORY), input_name='MEMORY')), namespaceprefix_ , eol_))
        if self.MEMORY_USED is not None:
            namespaceprefix_ = self.MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY_USED>%s</%sMEMORY_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MEMORY_USED), input_name='MEMORY_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_CPU is not None:
            namespaceprefix_ = self.RUNNING_CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU>%s</%sRUNNING_CPU>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_CPU), input_name='RUNNING_CPU')), namespaceprefix_ , eol_))
        if self.RUNNING_CPU_USED is not None:
            namespaceprefix_ = self.RUNNING_CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU_USED>%s</%sRUNNING_CPU_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_CPU_USED), input_name='RUNNING_CPU_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY>%s</%sRUNNING_MEMORY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_MEMORY), input_name='RUNNING_MEMORY')), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY_USED is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY_USED>%s</%sRUNNING_MEMORY_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_MEMORY_USED), input_name='RUNNING_MEMORY_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_VMS is not None:
            namespaceprefix_ = self.RUNNING_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS>%s</%sRUNNING_VMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_VMS), input_name='RUNNING_VMS')), namespaceprefix_ , eol_))
        if self.RUNNING_VMS_USED is not None:
            namespaceprefix_ = self.RUNNING_VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS_USED>%s</%sRUNNING_VMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_VMS_USED), input_name='RUNNING_VMS_USED')), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE>%s</%sSYSTEM_DISK_SIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SYSTEM_DISK_SIZE), input_name='SYSTEM_DISK_SIZE')), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE_USED is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE_USED>%s</%sSYSTEM_DISK_SIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SYSTEM_DISK_SIZE_USED), input_name='SYSTEM_DISK_SIZE_USED')), namespaceprefix_ , eol_))
        if self.VMS is not None:
            namespaceprefix_ = self.VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS>%s</%sVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMS), input_name='VMS')), namespaceprefix_ , eol_))
        if self.VMS_USED is not None:
            namespaceprefix_ = self.VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS_USED>%s</%sVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMS_USED), input_name='VMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CPU':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPU')
            value_ = self.gds_validate_string(value_, node, 'CPU')
            self.CPU = value_
            self.CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'CPU_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPU_USED')
            value_ = self.gds_validate_string(value_, node, 'CPU_USED')
            self.CPU_USED = value_
            self.CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MEMORY')
            value_ = self.gds_validate_string(value_, node, 'MEMORY')
            self.MEMORY = value_
            self.MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MEMORY_USED')
            value_ = self.gds_validate_string(value_, node, 'MEMORY_USED')
            self.MEMORY_USED = value_
            self.MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_CPU')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_CPU')
            self.RUNNING_CPU = value_
            self.RUNNING_CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_CPU_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_CPU_USED')
            self.RUNNING_CPU_USED = value_
            self.RUNNING_CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_MEMORY')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_MEMORY')
            self.RUNNING_MEMORY = value_
            self.RUNNING_MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_MEMORY_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_MEMORY_USED')
            self.RUNNING_MEMORY_USED = value_
            self.RUNNING_MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_VMS')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_VMS')
            self.RUNNING_VMS = value_
            self.RUNNING_VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_VMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_VMS_USED')
            self.RUNNING_VMS_USED = value_
            self.RUNNING_VMS_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SYSTEM_DISK_SIZE')
            value_ = self.gds_validate_string(value_, node, 'SYSTEM_DISK_SIZE')
            self.SYSTEM_DISK_SIZE = value_
            self.SYSTEM_DISK_SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SYSTEM_DISK_SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SYSTEM_DISK_SIZE_USED')
            self.SYSTEM_DISK_SIZE_USED = value_
            self.SYSTEM_DISK_SIZE_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMS')
            value_ = self.gds_validate_string(value_, node, 'VMS')
            self.VMS = value_
            self.VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMS_USED')
            value_ = self.gds_validate_string(value_, node, 'VMS_USED')
            self.VMS_USED = value_
            self.VMS_USED_nsprefix_ = child_.prefix
# end class VMType46


class IMAGE_QUOTAType47(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, IMAGE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if IMAGE is None:
            self.IMAGE = []
        else:
            self.IMAGE = IMAGE
        self.IMAGE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGE_QUOTAType47)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGE_QUOTAType47.subclass:
            return IMAGE_QUOTAType47.subclass(*args_, **kwargs_)
        else:
            return IMAGE_QUOTAType47(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_IMAGE(self):
        return self.IMAGE
    def set_IMAGE(self, IMAGE):
        self.IMAGE = IMAGE
    def add_IMAGE(self, value):
        self.IMAGE.append(value)
    def insert_IMAGE_at(self, index, value):
        self.IMAGE.insert(index, value)
    def replace_IMAGE_at(self, index, value):
        self.IMAGE[index] = value
    def hasContent_(self):
        if (
            self.IMAGE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType47', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGE_QUOTAType47')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGE_QUOTAType47':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGE_QUOTAType47')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGE_QUOTAType47', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGE_QUOTAType47'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType47', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for IMAGE_ in self.IMAGE:
            namespaceprefix_ = self.IMAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_nsprefix_) else ''
            IMAGE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'IMAGE':
            obj_ = IMAGEType48.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE.append(obj_)
            obj_.original_tagname_ = 'IMAGE'
# end class IMAGE_QUOTAType47


class IMAGEType48(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, RVMS=None, RVMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.RVMS = RVMS
        self.RVMS_nsprefix_ = None
        self.RVMS_USED = RVMS_USED
        self.RVMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGEType48)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGEType48.subclass:
            return IMAGEType48.subclass(*args_, **kwargs_)
        else:
            return IMAGEType48(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_RVMS(self):
        return self.RVMS
    def set_RVMS(self, RVMS):
        self.RVMS = RVMS
    def get_RVMS_USED(self):
        return self.RVMS_USED
    def set_RVMS_USED(self, RVMS_USED):
        self.RVMS_USED = RVMS_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.RVMS is not None or
            self.RVMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType48', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGEType48')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGEType48':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGEType48')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGEType48', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGEType48'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType48', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.RVMS is not None:
            namespaceprefix_ = self.RVMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS>%s</%sRVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS), input_name='RVMS')), namespaceprefix_ , eol_))
        if self.RVMS_USED is not None:
            namespaceprefix_ = self.RVMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS_USED>%s</%sRVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS_USED), input_name='RVMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS')
            value_ = self.gds_validate_string(value_, node, 'RVMS')
            self.RVMS = value_
            self.RVMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RVMS_USED')
            self.RVMS_USED = value_
            self.RVMS_USED_nsprefix_ = child_.prefix
# end class IMAGEType48


class DEFAULT_USER_QUOTASType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE_QUOTA=None, NETWORK_QUOTA=None, VM_QUOTA=None, IMAGE_QUOTA=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
        self.DATASTORE_QUOTA_nsprefix_ = None
        self.NETWORK_QUOTA = NETWORK_QUOTA
        self.NETWORK_QUOTA_nsprefix_ = None
        self.VM_QUOTA = VM_QUOTA
        self.VM_QUOTA_nsprefix_ = None
        self.IMAGE_QUOTA = IMAGE_QUOTA
        self.IMAGE_QUOTA_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DEFAULT_USER_QUOTASType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DEFAULT_USER_QUOTASType.subclass:
            return DEFAULT_USER_QUOTASType.subclass(*args_, **kwargs_)
        else:
            return DEFAULT_USER_QUOTASType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE_QUOTA(self):
        return self.DATASTORE_QUOTA
    def set_DATASTORE_QUOTA(self, DATASTORE_QUOTA):
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
    def get_NETWORK_QUOTA(self):
        return self.NETWORK_QUOTA
    def set_NETWORK_QUOTA(self, NETWORK_QUOTA):
        self.NETWORK_QUOTA = NETWORK_QUOTA
    def get_VM_QUOTA(self):
        return self.VM_QUOTA
    def set_VM_QUOTA(self, VM_QUOTA):
        self.VM_QUOTA = VM_QUOTA
    def get_IMAGE_QUOTA(self):
        return self.IMAGE_QUOTA
    def set_IMAGE_QUOTA(self, IMAGE_QUOTA):
        self.IMAGE_QUOTA = IMAGE_QUOTA
    def hasContent_(self):
        if (
            self.DATASTORE_QUOTA is not None or
            self.NETWORK_QUOTA is not None or
            self.VM_QUOTA is not None or
            self.IMAGE_QUOTA is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DEFAULT_USER_QUOTASType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DEFAULT_USER_QUOTASType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DEFAULT_USER_QUOTASType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DEFAULT_USER_QUOTASType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DEFAULT_USER_QUOTASType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DEFAULT_USER_QUOTASType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DEFAULT_USER_QUOTASType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.DATASTORE_QUOTA is not None:
            namespaceprefix_ = self.DATASTORE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_QUOTA_nsprefix_) else ''
            self.DATASTORE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE_QUOTA', pretty_print=pretty_print)
        if self.NETWORK_QUOTA is not None:
            namespaceprefix_ = self.NETWORK_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_QUOTA_nsprefix_) else ''
            self.NETWORK_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK_QUOTA', pretty_print=pretty_print)
        if self.VM_QUOTA is not None:
            namespaceprefix_ = self.VM_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_QUOTA_nsprefix_) else ''
            self.VM_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM_QUOTA', pretty_print=pretty_print)
        if self.IMAGE_QUOTA is not None:
            namespaceprefix_ = self.IMAGE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_QUOTA_nsprefix_) else ''
            self.IMAGE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE_QUOTA', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE_QUOTA':
            obj_ = DATASTORE_QUOTAType49.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE_QUOTA = obj_
            obj_.original_tagname_ = 'DATASTORE_QUOTA'
        elif nodeName_ == 'NETWORK_QUOTA':
            obj_ = NETWORK_QUOTAType51.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK_QUOTA = obj_
            obj_.original_tagname_ = 'NETWORK_QUOTA'
        elif nodeName_ == 'VM_QUOTA':
            obj_ = VM_QUOTAType53.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM_QUOTA = obj_
            obj_.original_tagname_ = 'VM_QUOTA'
        elif nodeName_ == 'IMAGE_QUOTA':
            obj_ = IMAGE_QUOTAType55.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE_QUOTA = obj_
            obj_.original_tagname_ = 'IMAGE_QUOTA'
# end class DEFAULT_USER_QUOTASType


class DATASTORE_QUOTAType49(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DATASTORE is None:
            self.DATASTORE = []
        else:
            self.DATASTORE = DATASTORE
        self.DATASTORE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORE_QUOTAType49)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORE_QUOTAType49.subclass:
            return DATASTORE_QUOTAType49.subclass(*args_, **kwargs_)
        else:
            return DATASTORE_QUOTAType49(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE(self):
        return self.DATASTORE
    def set_DATASTORE(self, DATASTORE):
        self.DATASTORE = DATASTORE
    def add_DATASTORE(self, value):
        self.DATASTORE.append(value)
    def insert_DATASTORE_at(self, index, value):
        self.DATASTORE.insert(index, value)
    def replace_DATASTORE_at(self, index, value):
        self.DATASTORE[index] = value
    def hasContent_(self):
        if (
            self.DATASTORE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType49', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORE_QUOTAType49')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORE_QUOTAType49':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORE_QUOTAType49')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORE_QUOTAType49', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORE_QUOTAType49'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType49', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DATASTORE_ in self.DATASTORE:
            namespaceprefix_ = self.DATASTORE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_nsprefix_) else ''
            DATASTORE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE':
            obj_ = DATASTOREType50.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE.append(obj_)
            obj_.original_tagname_ = 'DATASTORE'
# end class DATASTORE_QUOTAType49


class DATASTOREType50(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, IMAGES=None, IMAGES_USED=None, SIZE=None, SIZE_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.IMAGES = IMAGES
        self.IMAGES_nsprefix_ = None
        self.IMAGES_USED = IMAGES_USED
        self.IMAGES_USED_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.SIZE_USED = SIZE_USED
        self.SIZE_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTOREType50)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTOREType50.subclass:
            return DATASTOREType50.subclass(*args_, **kwargs_)
        else:
            return DATASTOREType50(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_IMAGES(self):
        return self.IMAGES
    def set_IMAGES(self, IMAGES):
        self.IMAGES = IMAGES
    def get_IMAGES_USED(self):
        return self.IMAGES_USED
    def set_IMAGES_USED(self, IMAGES_USED):
        self.IMAGES_USED = IMAGES_USED
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_SIZE_USED(self):
        return self.SIZE_USED
    def set_SIZE_USED(self, SIZE_USED):
        self.SIZE_USED = SIZE_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.IMAGES is not None or
            self.IMAGES_USED is not None or
            self.SIZE is not None or
            self.SIZE_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType50', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTOREType50')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTOREType50':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTOREType50')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTOREType50', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTOREType50'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType50', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.IMAGES is not None:
            namespaceprefix_ = self.IMAGES_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES>%s</%sIMAGES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES), input_name='IMAGES')), namespaceprefix_ , eol_))
        if self.IMAGES_USED is not None:
            namespaceprefix_ = self.IMAGES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES_USED>%s</%sIMAGES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES_USED), input_name='IMAGES_USED')), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE), input_name='SIZE')), namespaceprefix_ , eol_))
        if self.SIZE_USED is not None:
            namespaceprefix_ = self.SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE_USED>%s</%sSIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE_USED), input_name='SIZE_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES')
            value_ = self.gds_validate_string(value_, node, 'IMAGES')
            self.IMAGES = value_
            self.IMAGES_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES_USED')
            value_ = self.gds_validate_string(value_, node, 'IMAGES_USED')
            self.IMAGES_USED = value_
            self.IMAGES_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE')
            value_ = self.gds_validate_string(value_, node, 'SIZE')
            self.SIZE = value_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SIZE_USED')
            self.SIZE_USED = value_
            self.SIZE_USED_nsprefix_ = child_.prefix
# end class DATASTOREType50


class NETWORK_QUOTAType51(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, NETWORK=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if NETWORK is None:
            self.NETWORK = []
        else:
            self.NETWORK = NETWORK
        self.NETWORK_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORK_QUOTAType51)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORK_QUOTAType51.subclass:
            return NETWORK_QUOTAType51.subclass(*args_, **kwargs_)
        else:
            return NETWORK_QUOTAType51(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_NETWORK(self):
        return self.NETWORK
    def set_NETWORK(self, NETWORK):
        self.NETWORK = NETWORK
    def add_NETWORK(self, value):
        self.NETWORK.append(value)
    def insert_NETWORK_at(self, index, value):
        self.NETWORK.insert(index, value)
    def replace_NETWORK_at(self, index, value):
        self.NETWORK[index] = value
    def hasContent_(self):
        if (
            self.NETWORK
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType51', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORK_QUOTAType51')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORK_QUOTAType51':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORK_QUOTAType51')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORK_QUOTAType51', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORK_QUOTAType51'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType51', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for NETWORK_ in self.NETWORK:
            namespaceprefix_ = self.NETWORK_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_nsprefix_) else ''
            NETWORK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'NETWORK':
            obj_ = NETWORKType52.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK.append(obj_)
            obj_.original_tagname_ = 'NETWORK'
# end class NETWORK_QUOTAType51


class NETWORKType52(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, LEASES=None, LEASES_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.LEASES = LEASES
        self.LEASES_nsprefix_ = None
        self.LEASES_USED = LEASES_USED
        self.LEASES_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORKType52)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORKType52.subclass:
            return NETWORKType52.subclass(*args_, **kwargs_)
        else:
            return NETWORKType52(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_LEASES(self):
        return self.LEASES
    def set_LEASES(self, LEASES):
        self.LEASES = LEASES
    def get_LEASES_USED(self):
        return self.LEASES_USED
    def set_LEASES_USED(self, LEASES_USED):
        self.LEASES_USED = LEASES_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.LEASES is not None or
            self.LEASES_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType52', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORKType52')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORKType52':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORKType52')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORKType52', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORKType52'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType52', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.LEASES is not None:
            namespaceprefix_ = self.LEASES_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES>%s</%sLEASES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES), input_name='LEASES')), namespaceprefix_ , eol_))
        if self.LEASES_USED is not None:
            namespaceprefix_ = self.LEASES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES_USED>%s</%sLEASES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES_USED), input_name='LEASES_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES')
            value_ = self.gds_validate_string(value_, node, 'LEASES')
            self.LEASES = value_
            self.LEASES_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES_USED')
            value_ = self.gds_validate_string(value_, node, 'LEASES_USED')
            self.LEASES_USED = value_
            self.LEASES_USED_nsprefix_ = child_.prefix
# end class NETWORKType52


class VM_QUOTAType53(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VM=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VM = VM
        self.VM_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VM_QUOTAType53)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VM_QUOTAType53.subclass:
            return VM_QUOTAType53.subclass(*args_, **kwargs_)
        else:
            return VM_QUOTAType53(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VM(self):
        return self.VM
    def set_VM(self, VM):
        self.VM = VM
    def hasContent_(self):
        if (
            self.VM is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType53', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VM_QUOTAType53')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VM_QUOTAType53':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VM_QUOTAType53')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VM_QUOTAType53', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VM_QUOTAType53'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType53', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VM is not None:
            namespaceprefix_ = self.VM_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_nsprefix_) else ''
            self.VM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VM':
            obj_ = VMType54.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM = obj_
            obj_.original_tagname_ = 'VM'
# end class VM_QUOTAType53


class VMType54(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CPU=None, CPU_USED=None, MEMORY=None, MEMORY_USED=None, RUNNING_CPU=None, RUNNING_CPU_USED=None, RUNNING_MEMORY=None, RUNNING_MEMORY_USED=None, RUNNING_VMS=None, RUNNING_VMS_USED=None, SYSTEM_DISK_SIZE=None, SYSTEM_DISK_SIZE_USED=None, VMS=None, VMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.CPU = CPU
        self.CPU_nsprefix_ = None
        self.CPU_USED = CPU_USED
        self.CPU_USED_nsprefix_ = None
        self.MEMORY = MEMORY
        self.MEMORY_nsprefix_ = None
        self.MEMORY_USED = MEMORY_USED
        self.MEMORY_USED_nsprefix_ = None
        self.RUNNING_CPU = RUNNING_CPU
        self.RUNNING_CPU_nsprefix_ = None
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
        self.RUNNING_CPU_USED_nsprefix_ = None
        self.RUNNING_MEMORY = RUNNING_MEMORY
        self.RUNNING_MEMORY_nsprefix_ = None
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
        self.RUNNING_MEMORY_USED_nsprefix_ = None
        self.RUNNING_VMS = RUNNING_VMS
        self.RUNNING_VMS_nsprefix_ = None
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
        self.RUNNING_VMS_USED_nsprefix_ = None
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
        self.SYSTEM_DISK_SIZE_nsprefix_ = None
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
        self.SYSTEM_DISK_SIZE_USED_nsprefix_ = None
        self.VMS = VMS
        self.VMS_nsprefix_ = None
        self.VMS_USED = VMS_USED
        self.VMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMType54)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMType54.subclass:
            return VMType54.subclass(*args_, **kwargs_)
        else:
            return VMType54(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CPU(self):
        return self.CPU
    def set_CPU(self, CPU):
        self.CPU = CPU
    def get_CPU_USED(self):
        return self.CPU_USED
    def set_CPU_USED(self, CPU_USED):
        self.CPU_USED = CPU_USED
    def get_MEMORY(self):
        return self.MEMORY
    def set_MEMORY(self, MEMORY):
        self.MEMORY = MEMORY
    def get_MEMORY_USED(self):
        return self.MEMORY_USED
    def set_MEMORY_USED(self, MEMORY_USED):
        self.MEMORY_USED = MEMORY_USED
    def get_RUNNING_CPU(self):
        return self.RUNNING_CPU
    def set_RUNNING_CPU(self, RUNNING_CPU):
        self.RUNNING_CPU = RUNNING_CPU
    def get_RUNNING_CPU_USED(self):
        return self.RUNNING_CPU_USED
    def set_RUNNING_CPU_USED(self, RUNNING_CPU_USED):
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
    def get_RUNNING_MEMORY(self):
        return self.RUNNING_MEMORY
    def set_RUNNING_MEMORY(self, RUNNING_MEMORY):
        self.RUNNING_MEMORY = RUNNING_MEMORY
    def get_RUNNING_MEMORY_USED(self):
        return self.RUNNING_MEMORY_USED
    def set_RUNNING_MEMORY_USED(self, RUNNING_MEMORY_USED):
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
    def get_RUNNING_VMS(self):
        return self.RUNNING_VMS
    def set_RUNNING_VMS(self, RUNNING_VMS):
        self.RUNNING_VMS = RUNNING_VMS
    def get_RUNNING_VMS_USED(self):
        return self.RUNNING_VMS_USED
    def set_RUNNING_VMS_USED(self, RUNNING_VMS_USED):
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
    def get_SYSTEM_DISK_SIZE(self):
        return self.SYSTEM_DISK_SIZE
    def set_SYSTEM_DISK_SIZE(self, SYSTEM_DISK_SIZE):
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
    def get_SYSTEM_DISK_SIZE_USED(self):
        return self.SYSTEM_DISK_SIZE_USED
    def set_SYSTEM_DISK_SIZE_USED(self, SYSTEM_DISK_SIZE_USED):
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
    def get_VMS(self):
        return self.VMS
    def set_VMS(self, VMS):
        self.VMS = VMS
    def get_VMS_USED(self):
        return self.VMS_USED
    def set_VMS_USED(self, VMS_USED):
        self.VMS_USED = VMS_USED
    def hasContent_(self):
        if (
            self.CPU is not None or
            self.CPU_USED is not None or
            self.MEMORY is not None or
            self.MEMORY_USED is not None or
            self.RUNNING_CPU is not None or
            self.RUNNING_CPU_USED is not None or
            self.RUNNING_MEMORY is not None or
            self.RUNNING_MEMORY_USED is not None or
            self.RUNNING_VMS is not None or
            self.RUNNING_VMS_USED is not None or
            self.SYSTEM_DISK_SIZE is not None or
            self.SYSTEM_DISK_SIZE_USED is not None or
            self.VMS is not None or
            self.VMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType54', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMType54')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMType54':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMType54')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMType54', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMType54'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType54', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.CPU is not None:
            namespaceprefix_ = self.CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU>%s</%sCPU>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPU), input_name='CPU')), namespaceprefix_ , eol_))
        if self.CPU_USED is not None:
            namespaceprefix_ = self.CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU_USED>%s</%sCPU_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPU_USED), input_name='CPU_USED')), namespaceprefix_ , eol_))
        if self.MEMORY is not None:
            namespaceprefix_ = self.MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY>%s</%sMEMORY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MEMORY), input_name='MEMORY')), namespaceprefix_ , eol_))
        if self.MEMORY_USED is not None:
            namespaceprefix_ = self.MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY_USED>%s</%sMEMORY_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MEMORY_USED), input_name='MEMORY_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_CPU is not None:
            namespaceprefix_ = self.RUNNING_CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU>%s</%sRUNNING_CPU>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_CPU), input_name='RUNNING_CPU')), namespaceprefix_ , eol_))
        if self.RUNNING_CPU_USED is not None:
            namespaceprefix_ = self.RUNNING_CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU_USED>%s</%sRUNNING_CPU_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_CPU_USED), input_name='RUNNING_CPU_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY>%s</%sRUNNING_MEMORY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_MEMORY), input_name='RUNNING_MEMORY')), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY_USED is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY_USED>%s</%sRUNNING_MEMORY_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_MEMORY_USED), input_name='RUNNING_MEMORY_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_VMS is not None:
            namespaceprefix_ = self.RUNNING_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS>%s</%sRUNNING_VMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_VMS), input_name='RUNNING_VMS')), namespaceprefix_ , eol_))
        if self.RUNNING_VMS_USED is not None:
            namespaceprefix_ = self.RUNNING_VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS_USED>%s</%sRUNNING_VMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_VMS_USED), input_name='RUNNING_VMS_USED')), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE>%s</%sSYSTEM_DISK_SIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SYSTEM_DISK_SIZE), input_name='SYSTEM_DISK_SIZE')), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE_USED is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE_USED>%s</%sSYSTEM_DISK_SIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SYSTEM_DISK_SIZE_USED), input_name='SYSTEM_DISK_SIZE_USED')), namespaceprefix_ , eol_))
        if self.VMS is not None:
            namespaceprefix_ = self.VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS>%s</%sVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMS), input_name='VMS')), namespaceprefix_ , eol_))
        if self.VMS_USED is not None:
            namespaceprefix_ = self.VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS_USED>%s</%sVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMS_USED), input_name='VMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CPU':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPU')
            value_ = self.gds_validate_string(value_, node, 'CPU')
            self.CPU = value_
            self.CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'CPU_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPU_USED')
            value_ = self.gds_validate_string(value_, node, 'CPU_USED')
            self.CPU_USED = value_
            self.CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MEMORY')
            value_ = self.gds_validate_string(value_, node, 'MEMORY')
            self.MEMORY = value_
            self.MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MEMORY_USED')
            value_ = self.gds_validate_string(value_, node, 'MEMORY_USED')
            self.MEMORY_USED = value_
            self.MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_CPU')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_CPU')
            self.RUNNING_CPU = value_
            self.RUNNING_CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_CPU_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_CPU_USED')
            self.RUNNING_CPU_USED = value_
            self.RUNNING_CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_MEMORY')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_MEMORY')
            self.RUNNING_MEMORY = value_
            self.RUNNING_MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_MEMORY_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_MEMORY_USED')
            self.RUNNING_MEMORY_USED = value_
            self.RUNNING_MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_VMS')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_VMS')
            self.RUNNING_VMS = value_
            self.RUNNING_VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_VMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_VMS_USED')
            self.RUNNING_VMS_USED = value_
            self.RUNNING_VMS_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SYSTEM_DISK_SIZE')
            value_ = self.gds_validate_string(value_, node, 'SYSTEM_DISK_SIZE')
            self.SYSTEM_DISK_SIZE = value_
            self.SYSTEM_DISK_SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SYSTEM_DISK_SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SYSTEM_DISK_SIZE_USED')
            self.SYSTEM_DISK_SIZE_USED = value_
            self.SYSTEM_DISK_SIZE_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMS')
            value_ = self.gds_validate_string(value_, node, 'VMS')
            self.VMS = value_
            self.VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMS_USED')
            value_ = self.gds_validate_string(value_, node, 'VMS_USED')
            self.VMS_USED = value_
            self.VMS_USED_nsprefix_ = child_.prefix
# end class VMType54


class IMAGE_QUOTAType55(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, IMAGE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if IMAGE is None:
            self.IMAGE = []
        else:
            self.IMAGE = IMAGE
        self.IMAGE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGE_QUOTAType55)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGE_QUOTAType55.subclass:
            return IMAGE_QUOTAType55.subclass(*args_, **kwargs_)
        else:
            return IMAGE_QUOTAType55(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_IMAGE(self):
        return self.IMAGE
    def set_IMAGE(self, IMAGE):
        self.IMAGE = IMAGE
    def add_IMAGE(self, value):
        self.IMAGE.append(value)
    def insert_IMAGE_at(self, index, value):
        self.IMAGE.insert(index, value)
    def replace_IMAGE_at(self, index, value):
        self.IMAGE[index] = value
    def hasContent_(self):
        if (
            self.IMAGE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType55', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGE_QUOTAType55')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGE_QUOTAType55':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGE_QUOTAType55')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGE_QUOTAType55', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGE_QUOTAType55'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType55', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for IMAGE_ in self.IMAGE:
            namespaceprefix_ = self.IMAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_nsprefix_) else ''
            IMAGE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'IMAGE':
            obj_ = IMAGEType56.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE.append(obj_)
            obj_.original_tagname_ = 'IMAGE'
# end class IMAGE_QUOTAType55


class IMAGEType56(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, RVMS=None, RVMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.RVMS = RVMS
        self.RVMS_nsprefix_ = None
        self.RVMS_USED = RVMS_USED
        self.RVMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGEType56)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGEType56.subclass:
            return IMAGEType56.subclass(*args_, **kwargs_)
        else:
            return IMAGEType56(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_RVMS(self):
        return self.RVMS
    def set_RVMS(self, RVMS):
        self.RVMS = RVMS
    def get_RVMS_USED(self):
        return self.RVMS_USED
    def set_RVMS_USED(self, RVMS_USED):
        self.RVMS_USED = RVMS_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.RVMS is not None or
            self.RVMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType56', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGEType56')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGEType56':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGEType56')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGEType56', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGEType56'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType56', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.RVMS is not None:
            namespaceprefix_ = self.RVMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS>%s</%sRVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS), input_name='RVMS')), namespaceprefix_ , eol_))
        if self.RVMS_USED is not None:
            namespaceprefix_ = self.RVMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS_USED>%s</%sRVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS_USED), input_name='RVMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS')
            value_ = self.gds_validate_string(value_, node, 'RVMS')
            self.RVMS = value_
            self.RVMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RVMS_USED')
            self.RVMS_USED = value_
            self.RVMS_USED_nsprefix_ = child_.prefix
# end class IMAGEType56


class GROUPSType57(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, GROUPSType57)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if GROUPSType57.subclass:
            return GROUPSType57.subclass(*args_, **kwargs_)
        else:
            return GROUPSType57(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='GROUPSType57', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('GROUPSType57')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'GROUPSType57':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GROUPSType57')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GROUPSType57', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GROUPSType57'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='GROUPSType57', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class GROUPSType57


class LOGIN_TOKENType58(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, TOKEN=None, EXPIRATION_TIME=None, EGID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.TOKEN = TOKEN
        self.TOKEN_nsprefix_ = None
        self.EXPIRATION_TIME = EXPIRATION_TIME
        self.EXPIRATION_TIME_nsprefix_ = None
        self.EGID = EGID
        self.EGID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, LOGIN_TOKENType58)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LOGIN_TOKENType58.subclass:
            return LOGIN_TOKENType58.subclass(*args_, **kwargs_)
        else:
            return LOGIN_TOKENType58(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_TOKEN(self):
        return self.TOKEN
    def set_TOKEN(self, TOKEN):
        self.TOKEN = TOKEN
    def get_EXPIRATION_TIME(self):
        return self.EXPIRATION_TIME
    def set_EXPIRATION_TIME(self, EXPIRATION_TIME):
        self.EXPIRATION_TIME = EXPIRATION_TIME
    def get_EGID(self):
        return self.EGID
    def set_EGID(self, EGID):
        self.EGID = EGID
    def hasContent_(self):
        if (
            self.TOKEN is not None or
            self.EXPIRATION_TIME is not None or
            self.EGID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOGIN_TOKENType58', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LOGIN_TOKENType58')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'LOGIN_TOKENType58':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LOGIN_TOKENType58')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LOGIN_TOKENType58', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LOGIN_TOKENType58'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOGIN_TOKENType58', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.TOKEN is not None:
            namespaceprefix_ = self.TOKEN_nsprefix_ + ':' if (UseCapturedNS_ and self.TOKEN_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTOKEN>%s</%sTOKEN>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TOKEN), input_name='TOKEN')), namespaceprefix_ , eol_))
        if self.EXPIRATION_TIME is not None:
            namespaceprefix_ = self.EXPIRATION_TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.EXPIRATION_TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sEXPIRATION_TIME>%s</%sEXPIRATION_TIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.EXPIRATION_TIME, input_name='EXPIRATION_TIME'), namespaceprefix_ , eol_))
        if self.EGID is not None:
            namespaceprefix_ = self.EGID_nsprefix_ + ':' if (UseCapturedNS_ and self.EGID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sEGID>%s</%sEGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.EGID, input_name='EGID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'TOKEN':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TOKEN')
            value_ = self.gds_validate_string(value_, node, 'TOKEN')
            self.TOKEN = value_
            self.TOKEN_nsprefix_ = child_.prefix
        elif nodeName_ == 'EXPIRATION_TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'EXPIRATION_TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'EXPIRATION_TIME')
            self.EXPIRATION_TIME = ival_
            self.EXPIRATION_TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'EGID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'EGID')
            ival_ = self.gds_validate_integer(ival_, node, 'EGID')
            self.EGID = ival_
            self.EGID_nsprefix_ = child_.prefix
# end class LOGIN_TOKENType58


class DATASTORE_QUOTAType59(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DATASTORE is None:
            self.DATASTORE = []
        else:
            self.DATASTORE = DATASTORE
        self.DATASTORE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORE_QUOTAType59)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORE_QUOTAType59.subclass:
            return DATASTORE_QUOTAType59.subclass(*args_, **kwargs_)
        else:
            return DATASTORE_QUOTAType59(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE(self):
        return self.DATASTORE
    def set_DATASTORE(self, DATASTORE):
        self.DATASTORE = DATASTORE
    def add_DATASTORE(self, value):
        self.DATASTORE.append(value)
    def insert_DATASTORE_at(self, index, value):
        self.DATASTORE.insert(index, value)
    def replace_DATASTORE_at(self, index, value):
        self.DATASTORE[index] = value
    def hasContent_(self):
        if (
            self.DATASTORE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType59', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORE_QUOTAType59')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORE_QUOTAType59':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORE_QUOTAType59')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORE_QUOTAType59', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORE_QUOTAType59'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType59', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DATASTORE_ in self.DATASTORE:
            namespaceprefix_ = self.DATASTORE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_nsprefix_) else ''
            DATASTORE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE':
            obj_ = DATASTOREType60.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE.append(obj_)
            obj_.original_tagname_ = 'DATASTORE'
# end class DATASTORE_QUOTAType59


class DATASTOREType60(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, IMAGES=None, IMAGES_USED=None, SIZE=None, SIZE_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.IMAGES = IMAGES
        self.IMAGES_nsprefix_ = None
        self.IMAGES_USED = IMAGES_USED
        self.IMAGES_USED_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.SIZE_USED = SIZE_USED
        self.SIZE_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTOREType60)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTOREType60.subclass:
            return DATASTOREType60.subclass(*args_, **kwargs_)
        else:
            return DATASTOREType60(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_IMAGES(self):
        return self.IMAGES
    def set_IMAGES(self, IMAGES):
        self.IMAGES = IMAGES
    def get_IMAGES_USED(self):
        return self.IMAGES_USED
    def set_IMAGES_USED(self, IMAGES_USED):
        self.IMAGES_USED = IMAGES_USED
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_SIZE_USED(self):
        return self.SIZE_USED
    def set_SIZE_USED(self, SIZE_USED):
        self.SIZE_USED = SIZE_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.IMAGES is not None or
            self.IMAGES_USED is not None or
            self.SIZE is not None or
            self.SIZE_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType60', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTOREType60')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTOREType60':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTOREType60')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTOREType60', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTOREType60'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType60', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.IMAGES is not None:
            namespaceprefix_ = self.IMAGES_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES>%s</%sIMAGES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES), input_name='IMAGES')), namespaceprefix_ , eol_))
        if self.IMAGES_USED is not None:
            namespaceprefix_ = self.IMAGES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES_USED>%s</%sIMAGES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES_USED), input_name='IMAGES_USED')), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE), input_name='SIZE')), namespaceprefix_ , eol_))
        if self.SIZE_USED is not None:
            namespaceprefix_ = self.SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE_USED>%s</%sSIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE_USED), input_name='SIZE_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES')
            value_ = self.gds_validate_string(value_, node, 'IMAGES')
            self.IMAGES = value_
            self.IMAGES_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES_USED')
            value_ = self.gds_validate_string(value_, node, 'IMAGES_USED')
            self.IMAGES_USED = value_
            self.IMAGES_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE')
            value_ = self.gds_validate_string(value_, node, 'SIZE')
            self.SIZE = value_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SIZE_USED')
            self.SIZE_USED = value_
            self.SIZE_USED_nsprefix_ = child_.prefix
# end class DATASTOREType60


class NETWORK_QUOTAType61(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, NETWORK=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if NETWORK is None:
            self.NETWORK = []
        else:
            self.NETWORK = NETWORK
        self.NETWORK_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORK_QUOTAType61)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORK_QUOTAType61.subclass:
            return NETWORK_QUOTAType61.subclass(*args_, **kwargs_)
        else:
            return NETWORK_QUOTAType61(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_NETWORK(self):
        return self.NETWORK
    def set_NETWORK(self, NETWORK):
        self.NETWORK = NETWORK
    def add_NETWORK(self, value):
        self.NETWORK.append(value)
    def insert_NETWORK_at(self, index, value):
        self.NETWORK.insert(index, value)
    def replace_NETWORK_at(self, index, value):
        self.NETWORK[index] = value
    def hasContent_(self):
        if (
            self.NETWORK
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType61', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORK_QUOTAType61')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORK_QUOTAType61':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORK_QUOTAType61')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORK_QUOTAType61', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORK_QUOTAType61'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType61', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for NETWORK_ in self.NETWORK:
            namespaceprefix_ = self.NETWORK_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_nsprefix_) else ''
            NETWORK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'NETWORK':
            obj_ = NETWORKType62.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK.append(obj_)
            obj_.original_tagname_ = 'NETWORK'
# end class NETWORK_QUOTAType61


class NETWORKType62(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, LEASES=None, LEASES_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.LEASES = LEASES
        self.LEASES_nsprefix_ = None
        self.LEASES_USED = LEASES_USED
        self.LEASES_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORKType62)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORKType62.subclass:
            return NETWORKType62.subclass(*args_, **kwargs_)
        else:
            return NETWORKType62(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_LEASES(self):
        return self.LEASES
    def set_LEASES(self, LEASES):
        self.LEASES = LEASES
    def get_LEASES_USED(self):
        return self.LEASES_USED
    def set_LEASES_USED(self, LEASES_USED):
        self.LEASES_USED = LEASES_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.LEASES is not None or
            self.LEASES_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType62', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORKType62')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORKType62':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORKType62')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORKType62', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORKType62'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType62', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.LEASES is not None:
            namespaceprefix_ = self.LEASES_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES>%s</%sLEASES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES), input_name='LEASES')), namespaceprefix_ , eol_))
        if self.LEASES_USED is not None:
            namespaceprefix_ = self.LEASES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES_USED>%s</%sLEASES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES_USED), input_name='LEASES_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES')
            value_ = self.gds_validate_string(value_, node, 'LEASES')
            self.LEASES = value_
            self.LEASES_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES_USED')
            value_ = self.gds_validate_string(value_, node, 'LEASES_USED')
            self.LEASES_USED = value_
            self.LEASES_USED_nsprefix_ = child_.prefix
# end class NETWORKType62


class VM_QUOTAType63(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VM=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VM = VM
        self.VM_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VM_QUOTAType63)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VM_QUOTAType63.subclass:
            return VM_QUOTAType63.subclass(*args_, **kwargs_)
        else:
            return VM_QUOTAType63(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VM(self):
        return self.VM
    def set_VM(self, VM):
        self.VM = VM
    def hasContent_(self):
        if (
            self.VM is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType63', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VM_QUOTAType63')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VM_QUOTAType63':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VM_QUOTAType63')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VM_QUOTAType63', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VM_QUOTAType63'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType63', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VM is not None:
            namespaceprefix_ = self.VM_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_nsprefix_) else ''
            self.VM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VM':
            obj_ = VMType64.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM = obj_
            obj_.original_tagname_ = 'VM'
# end class VM_QUOTAType63


class VMType64(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CPU=None, CPU_USED=None, MEMORY=None, MEMORY_USED=None, RUNNING_CPU=None, RUNNING_CPU_USED=None, RUNNING_MEMORY=None, RUNNING_MEMORY_USED=None, RUNNING_VMS=None, RUNNING_VMS_USED=None, SYSTEM_DISK_SIZE=None, SYSTEM_DISK_SIZE_USED=None, VMS=None, VMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.CPU = CPU
        self.CPU_nsprefix_ = None
        self.CPU_USED = CPU_USED
        self.CPU_USED_nsprefix_ = None
        self.MEMORY = MEMORY
        self.MEMORY_nsprefix_ = None
        self.MEMORY_USED = MEMORY_USED
        self.MEMORY_USED_nsprefix_ = None
        self.RUNNING_CPU = RUNNING_CPU
        self.RUNNING_CPU_nsprefix_ = None
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
        self.RUNNING_CPU_USED_nsprefix_ = None
        self.RUNNING_MEMORY = RUNNING_MEMORY
        self.RUNNING_MEMORY_nsprefix_ = None
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
        self.RUNNING_MEMORY_USED_nsprefix_ = None
        self.RUNNING_VMS = RUNNING_VMS
        self.RUNNING_VMS_nsprefix_ = None
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
        self.RUNNING_VMS_USED_nsprefix_ = None
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
        self.SYSTEM_DISK_SIZE_nsprefix_ = None
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
        self.SYSTEM_DISK_SIZE_USED_nsprefix_ = None
        self.VMS = VMS
        self.VMS_nsprefix_ = None
        self.VMS_USED = VMS_USED
        self.VMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMType64)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMType64.subclass:
            return VMType64.subclass(*args_, **kwargs_)
        else:
            return VMType64(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CPU(self):
        return self.CPU
    def set_CPU(self, CPU):
        self.CPU = CPU
    def get_CPU_USED(self):
        return self.CPU_USED
    def set_CPU_USED(self, CPU_USED):
        self.CPU_USED = CPU_USED
    def get_MEMORY(self):
        return self.MEMORY
    def set_MEMORY(self, MEMORY):
        self.MEMORY = MEMORY
    def get_MEMORY_USED(self):
        return self.MEMORY_USED
    def set_MEMORY_USED(self, MEMORY_USED):
        self.MEMORY_USED = MEMORY_USED
    def get_RUNNING_CPU(self):
        return self.RUNNING_CPU
    def set_RUNNING_CPU(self, RUNNING_CPU):
        self.RUNNING_CPU = RUNNING_CPU
    def get_RUNNING_CPU_USED(self):
        return self.RUNNING_CPU_USED
    def set_RUNNING_CPU_USED(self, RUNNING_CPU_USED):
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
    def get_RUNNING_MEMORY(self):
        return self.RUNNING_MEMORY
    def set_RUNNING_MEMORY(self, RUNNING_MEMORY):
        self.RUNNING_MEMORY = RUNNING_MEMORY
    def get_RUNNING_MEMORY_USED(self):
        return self.RUNNING_MEMORY_USED
    def set_RUNNING_MEMORY_USED(self, RUNNING_MEMORY_USED):
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
    def get_RUNNING_VMS(self):
        return self.RUNNING_VMS
    def set_RUNNING_VMS(self, RUNNING_VMS):
        self.RUNNING_VMS = RUNNING_VMS
    def get_RUNNING_VMS_USED(self):
        return self.RUNNING_VMS_USED
    def set_RUNNING_VMS_USED(self, RUNNING_VMS_USED):
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
    def get_SYSTEM_DISK_SIZE(self):
        return self.SYSTEM_DISK_SIZE
    def set_SYSTEM_DISK_SIZE(self, SYSTEM_DISK_SIZE):
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
    def get_SYSTEM_DISK_SIZE_USED(self):
        return self.SYSTEM_DISK_SIZE_USED
    def set_SYSTEM_DISK_SIZE_USED(self, SYSTEM_DISK_SIZE_USED):
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
    def get_VMS(self):
        return self.VMS
    def set_VMS(self, VMS):
        self.VMS = VMS
    def get_VMS_USED(self):
        return self.VMS_USED
    def set_VMS_USED(self, VMS_USED):
        self.VMS_USED = VMS_USED
    def hasContent_(self):
        if (
            self.CPU is not None or
            self.CPU_USED is not None or
            self.MEMORY is not None or
            self.MEMORY_USED is not None or
            self.RUNNING_CPU is not None or
            self.RUNNING_CPU_USED is not None or
            self.RUNNING_MEMORY is not None or
            self.RUNNING_MEMORY_USED is not None or
            self.RUNNING_VMS is not None or
            self.RUNNING_VMS_USED is not None or
            self.SYSTEM_DISK_SIZE is not None or
            self.SYSTEM_DISK_SIZE_USED is not None or
            self.VMS is not None or
            self.VMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType64', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMType64')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMType64':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMType64')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMType64', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMType64'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType64', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.CPU is not None:
            namespaceprefix_ = self.CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU>%s</%sCPU>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPU), input_name='CPU')), namespaceprefix_ , eol_))
        if self.CPU_USED is not None:
            namespaceprefix_ = self.CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU_USED>%s</%sCPU_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPU_USED), input_name='CPU_USED')), namespaceprefix_ , eol_))
        if self.MEMORY is not None:
            namespaceprefix_ = self.MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY>%s</%sMEMORY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MEMORY), input_name='MEMORY')), namespaceprefix_ , eol_))
        if self.MEMORY_USED is not None:
            namespaceprefix_ = self.MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY_USED>%s</%sMEMORY_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MEMORY_USED), input_name='MEMORY_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_CPU is not None:
            namespaceprefix_ = self.RUNNING_CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU>%s</%sRUNNING_CPU>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_CPU), input_name='RUNNING_CPU')), namespaceprefix_ , eol_))
        if self.RUNNING_CPU_USED is not None:
            namespaceprefix_ = self.RUNNING_CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU_USED>%s</%sRUNNING_CPU_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_CPU_USED), input_name='RUNNING_CPU_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY>%s</%sRUNNING_MEMORY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_MEMORY), input_name='RUNNING_MEMORY')), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY_USED is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY_USED>%s</%sRUNNING_MEMORY_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_MEMORY_USED), input_name='RUNNING_MEMORY_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_VMS is not None:
            namespaceprefix_ = self.RUNNING_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS>%s</%sRUNNING_VMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_VMS), input_name='RUNNING_VMS')), namespaceprefix_ , eol_))
        if self.RUNNING_VMS_USED is not None:
            namespaceprefix_ = self.RUNNING_VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS_USED>%s</%sRUNNING_VMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_VMS_USED), input_name='RUNNING_VMS_USED')), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE>%s</%sSYSTEM_DISK_SIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SYSTEM_DISK_SIZE), input_name='SYSTEM_DISK_SIZE')), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE_USED is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE_USED>%s</%sSYSTEM_DISK_SIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SYSTEM_DISK_SIZE_USED), input_name='SYSTEM_DISK_SIZE_USED')), namespaceprefix_ , eol_))
        if self.VMS is not None:
            namespaceprefix_ = self.VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS>%s</%sVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMS), input_name='VMS')), namespaceprefix_ , eol_))
        if self.VMS_USED is not None:
            namespaceprefix_ = self.VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS_USED>%s</%sVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMS_USED), input_name='VMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CPU':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPU')
            value_ = self.gds_validate_string(value_, node, 'CPU')
            self.CPU = value_
            self.CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'CPU_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPU_USED')
            value_ = self.gds_validate_string(value_, node, 'CPU_USED')
            self.CPU_USED = value_
            self.CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MEMORY')
            value_ = self.gds_validate_string(value_, node, 'MEMORY')
            self.MEMORY = value_
            self.MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MEMORY_USED')
            value_ = self.gds_validate_string(value_, node, 'MEMORY_USED')
            self.MEMORY_USED = value_
            self.MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_CPU')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_CPU')
            self.RUNNING_CPU = value_
            self.RUNNING_CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_CPU_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_CPU_USED')
            self.RUNNING_CPU_USED = value_
            self.RUNNING_CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_MEMORY')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_MEMORY')
            self.RUNNING_MEMORY = value_
            self.RUNNING_MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_MEMORY_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_MEMORY_USED')
            self.RUNNING_MEMORY_USED = value_
            self.RUNNING_MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_VMS')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_VMS')
            self.RUNNING_VMS = value_
            self.RUNNING_VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_VMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_VMS_USED')
            self.RUNNING_VMS_USED = value_
            self.RUNNING_VMS_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SYSTEM_DISK_SIZE')
            value_ = self.gds_validate_string(value_, node, 'SYSTEM_DISK_SIZE')
            self.SYSTEM_DISK_SIZE = value_
            self.SYSTEM_DISK_SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SYSTEM_DISK_SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SYSTEM_DISK_SIZE_USED')
            self.SYSTEM_DISK_SIZE_USED = value_
            self.SYSTEM_DISK_SIZE_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMS')
            value_ = self.gds_validate_string(value_, node, 'VMS')
            self.VMS = value_
            self.VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMS_USED')
            value_ = self.gds_validate_string(value_, node, 'VMS_USED')
            self.VMS_USED = value_
            self.VMS_USED_nsprefix_ = child_.prefix
# end class VMType64


class IMAGE_QUOTAType65(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, IMAGE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if IMAGE is None:
            self.IMAGE = []
        else:
            self.IMAGE = IMAGE
        self.IMAGE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGE_QUOTAType65)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGE_QUOTAType65.subclass:
            return IMAGE_QUOTAType65.subclass(*args_, **kwargs_)
        else:
            return IMAGE_QUOTAType65(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_IMAGE(self):
        return self.IMAGE
    def set_IMAGE(self, IMAGE):
        self.IMAGE = IMAGE
    def add_IMAGE(self, value):
        self.IMAGE.append(value)
    def insert_IMAGE_at(self, index, value):
        self.IMAGE.insert(index, value)
    def replace_IMAGE_at(self, index, value):
        self.IMAGE[index] = value
    def hasContent_(self):
        if (
            self.IMAGE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType65', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGE_QUOTAType65')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGE_QUOTAType65':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGE_QUOTAType65')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGE_QUOTAType65', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGE_QUOTAType65'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType65', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for IMAGE_ in self.IMAGE:
            namespaceprefix_ = self.IMAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_nsprefix_) else ''
            IMAGE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'IMAGE':
            obj_ = IMAGEType66.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE.append(obj_)
            obj_.original_tagname_ = 'IMAGE'
# end class IMAGE_QUOTAType65


class IMAGEType66(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, RVMS=None, RVMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.RVMS = RVMS
        self.RVMS_nsprefix_ = None
        self.RVMS_USED = RVMS_USED
        self.RVMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGEType66)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGEType66.subclass:
            return IMAGEType66.subclass(*args_, **kwargs_)
        else:
            return IMAGEType66(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_RVMS(self):
        return self.RVMS
    def set_RVMS(self, RVMS):
        self.RVMS = RVMS
    def get_RVMS_USED(self):
        return self.RVMS_USED
    def set_RVMS_USED(self, RVMS_USED):
        self.RVMS_USED = RVMS_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.RVMS is not None or
            self.RVMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType66', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGEType66')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGEType66':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGEType66')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGEType66', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGEType66'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType66', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.RVMS is not None:
            namespaceprefix_ = self.RVMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS>%s</%sRVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS), input_name='RVMS')), namespaceprefix_ , eol_))
        if self.RVMS_USED is not None:
            namespaceprefix_ = self.RVMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS_USED>%s</%sRVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS_USED), input_name='RVMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS')
            value_ = self.gds_validate_string(value_, node, 'RVMS')
            self.RVMS = value_
            self.RVMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RVMS_USED')
            self.RVMS_USED = value_
            self.RVMS_USED_nsprefix_ = child_.prefix
# end class IMAGEType66


class DEFAULT_USER_QUOTASType67(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE_QUOTA=None, NETWORK_QUOTA=None, VM_QUOTA=None, IMAGE_QUOTA=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
        self.DATASTORE_QUOTA_nsprefix_ = None
        self.NETWORK_QUOTA = NETWORK_QUOTA
        self.NETWORK_QUOTA_nsprefix_ = None
        self.VM_QUOTA = VM_QUOTA
        self.VM_QUOTA_nsprefix_ = None
        self.IMAGE_QUOTA = IMAGE_QUOTA
        self.IMAGE_QUOTA_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DEFAULT_USER_QUOTASType67)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DEFAULT_USER_QUOTASType67.subclass:
            return DEFAULT_USER_QUOTASType67.subclass(*args_, **kwargs_)
        else:
            return DEFAULT_USER_QUOTASType67(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE_QUOTA(self):
        return self.DATASTORE_QUOTA
    def set_DATASTORE_QUOTA(self, DATASTORE_QUOTA):
        self.DATASTORE_QUOTA = DATASTORE_QUOTA
    def get_NETWORK_QUOTA(self):
        return self.NETWORK_QUOTA
    def set_NETWORK_QUOTA(self, NETWORK_QUOTA):
        self.NETWORK_QUOTA = NETWORK_QUOTA
    def get_VM_QUOTA(self):
        return self.VM_QUOTA
    def set_VM_QUOTA(self, VM_QUOTA):
        self.VM_QUOTA = VM_QUOTA
    def get_IMAGE_QUOTA(self):
        return self.IMAGE_QUOTA
    def set_IMAGE_QUOTA(self, IMAGE_QUOTA):
        self.IMAGE_QUOTA = IMAGE_QUOTA
    def hasContent_(self):
        if (
            self.DATASTORE_QUOTA is not None or
            self.NETWORK_QUOTA is not None or
            self.VM_QUOTA is not None or
            self.IMAGE_QUOTA is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DEFAULT_USER_QUOTASType67', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DEFAULT_USER_QUOTASType67')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DEFAULT_USER_QUOTASType67':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DEFAULT_USER_QUOTASType67')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DEFAULT_USER_QUOTASType67', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DEFAULT_USER_QUOTASType67'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DEFAULT_USER_QUOTASType67', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.DATASTORE_QUOTA is not None:
            namespaceprefix_ = self.DATASTORE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_QUOTA_nsprefix_) else ''
            self.DATASTORE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE_QUOTA', pretty_print=pretty_print)
        if self.NETWORK_QUOTA is not None:
            namespaceprefix_ = self.NETWORK_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_QUOTA_nsprefix_) else ''
            self.NETWORK_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK_QUOTA', pretty_print=pretty_print)
        if self.VM_QUOTA is not None:
            namespaceprefix_ = self.VM_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_QUOTA_nsprefix_) else ''
            self.VM_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM_QUOTA', pretty_print=pretty_print)
        if self.IMAGE_QUOTA is not None:
            namespaceprefix_ = self.IMAGE_QUOTA_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_QUOTA_nsprefix_) else ''
            self.IMAGE_QUOTA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE_QUOTA', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE_QUOTA':
            obj_ = DATASTORE_QUOTAType68.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE_QUOTA = obj_
            obj_.original_tagname_ = 'DATASTORE_QUOTA'
        elif nodeName_ == 'NETWORK_QUOTA':
            obj_ = NETWORK_QUOTAType70.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK_QUOTA = obj_
            obj_.original_tagname_ = 'NETWORK_QUOTA'
        elif nodeName_ == 'VM_QUOTA':
            obj_ = VM_QUOTAType72.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM_QUOTA = obj_
            obj_.original_tagname_ = 'VM_QUOTA'
        elif nodeName_ == 'IMAGE_QUOTA':
            obj_ = IMAGE_QUOTAType74.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE_QUOTA = obj_
            obj_.original_tagname_ = 'IMAGE_QUOTA'
# end class DEFAULT_USER_QUOTASType67


class DATASTORE_QUOTAType68(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DATASTORE is None:
            self.DATASTORE = []
        else:
            self.DATASTORE = DATASTORE
        self.DATASTORE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORE_QUOTAType68)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORE_QUOTAType68.subclass:
            return DATASTORE_QUOTAType68.subclass(*args_, **kwargs_)
        else:
            return DATASTORE_QUOTAType68(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE(self):
        return self.DATASTORE
    def set_DATASTORE(self, DATASTORE):
        self.DATASTORE = DATASTORE
    def add_DATASTORE(self, value):
        self.DATASTORE.append(value)
    def insert_DATASTORE_at(self, index, value):
        self.DATASTORE.insert(index, value)
    def replace_DATASTORE_at(self, index, value):
        self.DATASTORE[index] = value
    def hasContent_(self):
        if (
            self.DATASTORE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType68', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORE_QUOTAType68')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORE_QUOTAType68':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORE_QUOTAType68')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORE_QUOTAType68', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORE_QUOTAType68'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORE_QUOTAType68', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DATASTORE_ in self.DATASTORE:
            namespaceprefix_ = self.DATASTORE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_nsprefix_) else ''
            DATASTORE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE':
            obj_ = DATASTOREType69.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE.append(obj_)
            obj_.original_tagname_ = 'DATASTORE'
# end class DATASTORE_QUOTAType68


class DATASTOREType69(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, IMAGES=None, IMAGES_USED=None, SIZE=None, SIZE_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.IMAGES = IMAGES
        self.IMAGES_nsprefix_ = None
        self.IMAGES_USED = IMAGES_USED
        self.IMAGES_USED_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.SIZE_USED = SIZE_USED
        self.SIZE_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTOREType69)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTOREType69.subclass:
            return DATASTOREType69.subclass(*args_, **kwargs_)
        else:
            return DATASTOREType69(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_IMAGES(self):
        return self.IMAGES
    def set_IMAGES(self, IMAGES):
        self.IMAGES = IMAGES
    def get_IMAGES_USED(self):
        return self.IMAGES_USED
    def set_IMAGES_USED(self, IMAGES_USED):
        self.IMAGES_USED = IMAGES_USED
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_SIZE_USED(self):
        return self.SIZE_USED
    def set_SIZE_USED(self, SIZE_USED):
        self.SIZE_USED = SIZE_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.IMAGES is not None or
            self.IMAGES_USED is not None or
            self.SIZE is not None or
            self.SIZE_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType69', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTOREType69')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTOREType69':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTOREType69')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTOREType69', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTOREType69'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType69', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.IMAGES is not None:
            namespaceprefix_ = self.IMAGES_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES>%s</%sIMAGES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES), input_name='IMAGES')), namespaceprefix_ , eol_))
        if self.IMAGES_USED is not None:
            namespaceprefix_ = self.IMAGES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGES_USED>%s</%sIMAGES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IMAGES_USED), input_name='IMAGES_USED')), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE), input_name='SIZE')), namespaceprefix_ , eol_))
        if self.SIZE_USED is not None:
            namespaceprefix_ = self.SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE_USED>%s</%sSIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SIZE_USED), input_name='SIZE_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES')
            value_ = self.gds_validate_string(value_, node, 'IMAGES')
            self.IMAGES = value_
            self.IMAGES_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGES_USED')
            value_ = self.gds_validate_string(value_, node, 'IMAGES_USED')
            self.IMAGES_USED = value_
            self.IMAGES_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE')
            value_ = self.gds_validate_string(value_, node, 'SIZE')
            self.SIZE = value_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SIZE_USED')
            self.SIZE_USED = value_
            self.SIZE_USED_nsprefix_ = child_.prefix
# end class DATASTOREType69


class NETWORK_QUOTAType70(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, NETWORK=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if NETWORK is None:
            self.NETWORK = []
        else:
            self.NETWORK = NETWORK
        self.NETWORK_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORK_QUOTAType70)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORK_QUOTAType70.subclass:
            return NETWORK_QUOTAType70.subclass(*args_, **kwargs_)
        else:
            return NETWORK_QUOTAType70(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_NETWORK(self):
        return self.NETWORK
    def set_NETWORK(self, NETWORK):
        self.NETWORK = NETWORK
    def add_NETWORK(self, value):
        self.NETWORK.append(value)
    def insert_NETWORK_at(self, index, value):
        self.NETWORK.insert(index, value)
    def replace_NETWORK_at(self, index, value):
        self.NETWORK[index] = value
    def hasContent_(self):
        if (
            self.NETWORK
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType70', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORK_QUOTAType70')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORK_QUOTAType70':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORK_QUOTAType70')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORK_QUOTAType70', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORK_QUOTAType70'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORK_QUOTAType70', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for NETWORK_ in self.NETWORK:
            namespaceprefix_ = self.NETWORK_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_nsprefix_) else ''
            NETWORK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NETWORK', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'NETWORK':
            obj_ = NETWORKType71.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NETWORK.append(obj_)
            obj_.original_tagname_ = 'NETWORK'
# end class NETWORK_QUOTAType70


class NETWORKType71(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, LEASES=None, LEASES_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.LEASES = LEASES
        self.LEASES_nsprefix_ = None
        self.LEASES_USED = LEASES_USED
        self.LEASES_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NETWORKType71)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NETWORKType71.subclass:
            return NETWORKType71.subclass(*args_, **kwargs_)
        else:
            return NETWORKType71(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_LEASES(self):
        return self.LEASES
    def set_LEASES(self, LEASES):
        self.LEASES = LEASES
    def get_LEASES_USED(self):
        return self.LEASES_USED
    def set_LEASES_USED(self, LEASES_USED):
        self.LEASES_USED = LEASES_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.LEASES is not None or
            self.LEASES_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType71', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NETWORKType71')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NETWORKType71':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NETWORKType71')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NETWORKType71', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NETWORKType71'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NETWORKType71', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.LEASES is not None:
            namespaceprefix_ = self.LEASES_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES>%s</%sLEASES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES), input_name='LEASES')), namespaceprefix_ , eol_))
        if self.LEASES_USED is not None:
            namespaceprefix_ = self.LEASES_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLEASES_USED>%s</%sLEASES_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LEASES_USED), input_name='LEASES_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES')
            value_ = self.gds_validate_string(value_, node, 'LEASES')
            self.LEASES = value_
            self.LEASES_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LEASES_USED')
            value_ = self.gds_validate_string(value_, node, 'LEASES_USED')
            self.LEASES_USED = value_
            self.LEASES_USED_nsprefix_ = child_.prefix
# end class NETWORKType71


class VM_QUOTAType72(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VM=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VM = VM
        self.VM_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VM_QUOTAType72)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VM_QUOTAType72.subclass:
            return VM_QUOTAType72.subclass(*args_, **kwargs_)
        else:
            return VM_QUOTAType72(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VM(self):
        return self.VM
    def set_VM(self, VM):
        self.VM = VM
    def hasContent_(self):
        if (
            self.VM is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType72', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VM_QUOTAType72')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VM_QUOTAType72':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VM_QUOTAType72')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VM_QUOTAType72', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VM_QUOTAType72'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VM_QUOTAType72', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VM is not None:
            namespaceprefix_ = self.VM_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_nsprefix_) else ''
            self.VM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VM':
            obj_ = VMType73.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM = obj_
            obj_.original_tagname_ = 'VM'
# end class VM_QUOTAType72


class VMType73(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CPU=None, CPU_USED=None, MEMORY=None, MEMORY_USED=None, RUNNING_CPU=None, RUNNING_CPU_USED=None, RUNNING_MEMORY=None, RUNNING_MEMORY_USED=None, RUNNING_VMS=None, RUNNING_VMS_USED=None, SYSTEM_DISK_SIZE=None, SYSTEM_DISK_SIZE_USED=None, VMS=None, VMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.CPU = CPU
        self.CPU_nsprefix_ = None
        self.CPU_USED = CPU_USED
        self.CPU_USED_nsprefix_ = None
        self.MEMORY = MEMORY
        self.MEMORY_nsprefix_ = None
        self.MEMORY_USED = MEMORY_USED
        self.MEMORY_USED_nsprefix_ = None
        self.RUNNING_CPU = RUNNING_CPU
        self.RUNNING_CPU_nsprefix_ = None
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
        self.RUNNING_CPU_USED_nsprefix_ = None
        self.RUNNING_MEMORY = RUNNING_MEMORY
        self.RUNNING_MEMORY_nsprefix_ = None
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
        self.RUNNING_MEMORY_USED_nsprefix_ = None
        self.RUNNING_VMS = RUNNING_VMS
        self.RUNNING_VMS_nsprefix_ = None
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
        self.RUNNING_VMS_USED_nsprefix_ = None
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
        self.SYSTEM_DISK_SIZE_nsprefix_ = None
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
        self.SYSTEM_DISK_SIZE_USED_nsprefix_ = None
        self.VMS = VMS
        self.VMS_nsprefix_ = None
        self.VMS_USED = VMS_USED
        self.VMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMType73)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMType73.subclass:
            return VMType73.subclass(*args_, **kwargs_)
        else:
            return VMType73(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CPU(self):
        return self.CPU
    def set_CPU(self, CPU):
        self.CPU = CPU
    def get_CPU_USED(self):
        return self.CPU_USED
    def set_CPU_USED(self, CPU_USED):
        self.CPU_USED = CPU_USED
    def get_MEMORY(self):
        return self.MEMORY
    def set_MEMORY(self, MEMORY):
        self.MEMORY = MEMORY
    def get_MEMORY_USED(self):
        return self.MEMORY_USED
    def set_MEMORY_USED(self, MEMORY_USED):
        self.MEMORY_USED = MEMORY_USED
    def get_RUNNING_CPU(self):
        return self.RUNNING_CPU
    def set_RUNNING_CPU(self, RUNNING_CPU):
        self.RUNNING_CPU = RUNNING_CPU
    def get_RUNNING_CPU_USED(self):
        return self.RUNNING_CPU_USED
    def set_RUNNING_CPU_USED(self, RUNNING_CPU_USED):
        self.RUNNING_CPU_USED = RUNNING_CPU_USED
    def get_RUNNING_MEMORY(self):
        return self.RUNNING_MEMORY
    def set_RUNNING_MEMORY(self, RUNNING_MEMORY):
        self.RUNNING_MEMORY = RUNNING_MEMORY
    def get_RUNNING_MEMORY_USED(self):
        return self.RUNNING_MEMORY_USED
    def set_RUNNING_MEMORY_USED(self, RUNNING_MEMORY_USED):
        self.RUNNING_MEMORY_USED = RUNNING_MEMORY_USED
    def get_RUNNING_VMS(self):
        return self.RUNNING_VMS
    def set_RUNNING_VMS(self, RUNNING_VMS):
        self.RUNNING_VMS = RUNNING_VMS
    def get_RUNNING_VMS_USED(self):
        return self.RUNNING_VMS_USED
    def set_RUNNING_VMS_USED(self, RUNNING_VMS_USED):
        self.RUNNING_VMS_USED = RUNNING_VMS_USED
    def get_SYSTEM_DISK_SIZE(self):
        return self.SYSTEM_DISK_SIZE
    def set_SYSTEM_DISK_SIZE(self, SYSTEM_DISK_SIZE):
        self.SYSTEM_DISK_SIZE = SYSTEM_DISK_SIZE
    def get_SYSTEM_DISK_SIZE_USED(self):
        return self.SYSTEM_DISK_SIZE_USED
    def set_SYSTEM_DISK_SIZE_USED(self, SYSTEM_DISK_SIZE_USED):
        self.SYSTEM_DISK_SIZE_USED = SYSTEM_DISK_SIZE_USED
    def get_VMS(self):
        return self.VMS
    def set_VMS(self, VMS):
        self.VMS = VMS
    def get_VMS_USED(self):
        return self.VMS_USED
    def set_VMS_USED(self, VMS_USED):
        self.VMS_USED = VMS_USED
    def hasContent_(self):
        if (
            self.CPU is not None or
            self.CPU_USED is not None or
            self.MEMORY is not None or
            self.MEMORY_USED is not None or
            self.RUNNING_CPU is not None or
            self.RUNNING_CPU_USED is not None or
            self.RUNNING_MEMORY is not None or
            self.RUNNING_MEMORY_USED is not None or
            self.RUNNING_VMS is not None or
            self.RUNNING_VMS_USED is not None or
            self.SYSTEM_DISK_SIZE is not None or
            self.SYSTEM_DISK_SIZE_USED is not None or
            self.VMS is not None or
            self.VMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType73', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMType73')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMType73':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMType73')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMType73', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMType73'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType73', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.CPU is not None:
            namespaceprefix_ = self.CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU>%s</%sCPU>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPU), input_name='CPU')), namespaceprefix_ , eol_))
        if self.CPU_USED is not None:
            namespaceprefix_ = self.CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU_USED>%s</%sCPU_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CPU_USED), input_name='CPU_USED')), namespaceprefix_ , eol_))
        if self.MEMORY is not None:
            namespaceprefix_ = self.MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY>%s</%sMEMORY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MEMORY), input_name='MEMORY')), namespaceprefix_ , eol_))
        if self.MEMORY_USED is not None:
            namespaceprefix_ = self.MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY_USED>%s</%sMEMORY_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MEMORY_USED), input_name='MEMORY_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_CPU is not None:
            namespaceprefix_ = self.RUNNING_CPU_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU>%s</%sRUNNING_CPU>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_CPU), input_name='RUNNING_CPU')), namespaceprefix_ , eol_))
        if self.RUNNING_CPU_USED is not None:
            namespaceprefix_ = self.RUNNING_CPU_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_CPU_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_CPU_USED>%s</%sRUNNING_CPU_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_CPU_USED), input_name='RUNNING_CPU_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY>%s</%sRUNNING_MEMORY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_MEMORY), input_name='RUNNING_MEMORY')), namespaceprefix_ , eol_))
        if self.RUNNING_MEMORY_USED is not None:
            namespaceprefix_ = self.RUNNING_MEMORY_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_MEMORY_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_MEMORY_USED>%s</%sRUNNING_MEMORY_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_MEMORY_USED), input_name='RUNNING_MEMORY_USED')), namespaceprefix_ , eol_))
        if self.RUNNING_VMS is not None:
            namespaceprefix_ = self.RUNNING_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS>%s</%sRUNNING_VMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_VMS), input_name='RUNNING_VMS')), namespaceprefix_ , eol_))
        if self.RUNNING_VMS_USED is not None:
            namespaceprefix_ = self.RUNNING_VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RUNNING_VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRUNNING_VMS_USED>%s</%sRUNNING_VMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RUNNING_VMS_USED), input_name='RUNNING_VMS_USED')), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE>%s</%sSYSTEM_DISK_SIZE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SYSTEM_DISK_SIZE), input_name='SYSTEM_DISK_SIZE')), namespaceprefix_ , eol_))
        if self.SYSTEM_DISK_SIZE_USED is not None:
            namespaceprefix_ = self.SYSTEM_DISK_SIZE_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.SYSTEM_DISK_SIZE_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSYSTEM_DISK_SIZE_USED>%s</%sSYSTEM_DISK_SIZE_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SYSTEM_DISK_SIZE_USED), input_name='SYSTEM_DISK_SIZE_USED')), namespaceprefix_ , eol_))
        if self.VMS is not None:
            namespaceprefix_ = self.VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS>%s</%sVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMS), input_name='VMS')), namespaceprefix_ , eol_))
        if self.VMS_USED is not None:
            namespaceprefix_ = self.VMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.VMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMS_USED>%s</%sVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMS_USED), input_name='VMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CPU':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPU')
            value_ = self.gds_validate_string(value_, node, 'CPU')
            self.CPU = value_
            self.CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'CPU_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CPU_USED')
            value_ = self.gds_validate_string(value_, node, 'CPU_USED')
            self.CPU_USED = value_
            self.CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MEMORY')
            value_ = self.gds_validate_string(value_, node, 'MEMORY')
            self.MEMORY = value_
            self.MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MEMORY_USED')
            value_ = self.gds_validate_string(value_, node, 'MEMORY_USED')
            self.MEMORY_USED = value_
            self.MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_CPU')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_CPU')
            self.RUNNING_CPU = value_
            self.RUNNING_CPU_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_CPU_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_CPU_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_CPU_USED')
            self.RUNNING_CPU_USED = value_
            self.RUNNING_CPU_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_MEMORY')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_MEMORY')
            self.RUNNING_MEMORY = value_
            self.RUNNING_MEMORY_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_MEMORY_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_MEMORY_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_MEMORY_USED')
            self.RUNNING_MEMORY_USED = value_
            self.RUNNING_MEMORY_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_VMS')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_VMS')
            self.RUNNING_VMS = value_
            self.RUNNING_VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RUNNING_VMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RUNNING_VMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RUNNING_VMS_USED')
            self.RUNNING_VMS_USED = value_
            self.RUNNING_VMS_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SYSTEM_DISK_SIZE')
            value_ = self.gds_validate_string(value_, node, 'SYSTEM_DISK_SIZE')
            self.SYSTEM_DISK_SIZE = value_
            self.SYSTEM_DISK_SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'SYSTEM_DISK_SIZE_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SYSTEM_DISK_SIZE_USED')
            value_ = self.gds_validate_string(value_, node, 'SYSTEM_DISK_SIZE_USED')
            self.SYSTEM_DISK_SIZE_USED = value_
            self.SYSTEM_DISK_SIZE_USED_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMS')
            value_ = self.gds_validate_string(value_, node, 'VMS')
            self.VMS = value_
            self.VMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMS_USED')
            value_ = self.gds_validate_string(value_, node, 'VMS_USED')
            self.VMS_USED = value_
            self.VMS_USED_nsprefix_ = child_.prefix
# end class VMType73


class IMAGE_QUOTAType74(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, IMAGE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if IMAGE is None:
            self.IMAGE = []
        else:
            self.IMAGE = IMAGE
        self.IMAGE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGE_QUOTAType74)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGE_QUOTAType74.subclass:
            return IMAGE_QUOTAType74.subclass(*args_, **kwargs_)
        else:
            return IMAGE_QUOTAType74(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_IMAGE(self):
        return self.IMAGE
    def set_IMAGE(self, IMAGE):
        self.IMAGE = IMAGE
    def add_IMAGE(self, value):
        self.IMAGE.append(value)
    def insert_IMAGE_at(self, index, value):
        self.IMAGE.insert(index, value)
    def replace_IMAGE_at(self, index, value):
        self.IMAGE[index] = value
    def hasContent_(self):
        if (
            self.IMAGE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType74', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGE_QUOTAType74')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGE_QUOTAType74':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGE_QUOTAType74')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGE_QUOTAType74', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGE_QUOTAType74'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGE_QUOTAType74', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for IMAGE_ in self.IMAGE:
            namespaceprefix_ = self.IMAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_nsprefix_) else ''
            IMAGE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IMAGE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'IMAGE':
            obj_ = IMAGEType75.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IMAGE.append(obj_)
            obj_.original_tagname_ = 'IMAGE'
# end class IMAGE_QUOTAType74


class IMAGEType75(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, RVMS=None, RVMS_USED=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.RVMS = RVMS
        self.RVMS_nsprefix_ = None
        self.RVMS_USED = RVMS_USED
        self.RVMS_USED_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, IMAGEType75)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IMAGEType75.subclass:
            return IMAGEType75.subclass(*args_, **kwargs_)
        else:
            return IMAGEType75(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_RVMS(self):
        return self.RVMS
    def set_RVMS(self, RVMS):
        self.RVMS = RVMS
    def get_RVMS_USED(self):
        return self.RVMS_USED
    def set_RVMS_USED(self, RVMS_USED):
        self.RVMS_USED = RVMS_USED
    def hasContent_(self):
        if (
            self.ID is not None or
            self.RVMS is not None or
            self.RVMS_USED is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType75', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IMAGEType75')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'IMAGEType75':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='IMAGEType75')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IMAGEType75', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='IMAGEType75'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IMAGEType75', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ID), input_name='ID')), namespaceprefix_ , eol_))
        if self.RVMS is not None:
            namespaceprefix_ = self.RVMS_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS>%s</%sRVMS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS), input_name='RVMS')), namespaceprefix_ , eol_))
        if self.RVMS_USED is not None:
            namespaceprefix_ = self.RVMS_USED_nsprefix_ + ':' if (UseCapturedNS_ and self.RVMS_USED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRVMS_USED>%s</%sRVMS_USED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RVMS_USED), input_name='RVMS_USED')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ID')
            value_ = self.gds_validate_string(value_, node, 'ID')
            self.ID = value_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS')
            value_ = self.gds_validate_string(value_, node, 'RVMS')
            self.RVMS = value_
            self.RVMS_nsprefix_ = child_.prefix
        elif nodeName_ == 'RVMS_USED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RVMS_USED')
            value_ = self.gds_validate_string(value_, node, 'RVMS_USED')
            self.RVMS_USED = value_
            self.RVMS_USED_nsprefix_ = child_.prefix
# end class IMAGEType75


class GROUPSType76(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, GROUPSType76)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if GROUPSType76.subclass:
            return GROUPSType76.subclass(*args_, **kwargs_)
        else:
            return GROUPSType76(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='GROUPSType76', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('GROUPSType76')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'GROUPSType76':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='GROUPSType76')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='GROUPSType76', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='GROUPSType76'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='GROUPSType76', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class GROUPSType76


class CLUSTERSType77(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CLUSTER=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if CLUSTER is None:
            self.CLUSTER = []
        else:
            self.CLUSTER = CLUSTER
        self.CLUSTER_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, CLUSTERSType77)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if CLUSTERSType77.subclass:
            return CLUSTERSType77.subclass(*args_, **kwargs_)
        else:
            return CLUSTERSType77(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CLUSTER(self):
        return self.CLUSTER
    def set_CLUSTER(self, CLUSTER):
        self.CLUSTER = CLUSTER
    def add_CLUSTER(self, value):
        self.CLUSTER.append(value)
    def insert_CLUSTER_at(self, index, value):
        self.CLUSTER.insert(index, value)
    def replace_CLUSTER_at(self, index, value):
        self.CLUSTER[index] = value
    def hasContent_(self):
        if (
            self.CLUSTER
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTERSType77', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLUSTERSType77')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'CLUSTERSType77':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLUSTERSType77')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLUSTERSType77', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CLUSTERSType77'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTERSType77', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for CLUSTER_ in self.CLUSTER:
            namespaceprefix_ = self.CLUSTER_nsprefix_ + ':' if (UseCapturedNS_ and self.CLUSTER_nsprefix_) else ''
            CLUSTER_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CLUSTER', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CLUSTER':
            obj_ = CLUSTERType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.CLUSTER.append(obj_)
            obj_.original_tagname_ = 'CLUSTER'
# end class CLUSTERSType77


class CLUSTERType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ZONE_ID=None, CLUSTER_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ZONE_ID = ZONE_ID
        self.ZONE_ID_nsprefix_ = None
        self.CLUSTER_ID = CLUSTER_ID
        self.CLUSTER_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, CLUSTERType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if CLUSTERType.subclass:
            return CLUSTERType.subclass(*args_, **kwargs_)
        else:
            return CLUSTERType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ZONE_ID(self):
        return self.ZONE_ID
    def set_ZONE_ID(self, ZONE_ID):
        self.ZONE_ID = ZONE_ID
    def get_CLUSTER_ID(self):
        return self.CLUSTER_ID
    def set_CLUSTER_ID(self, CLUSTER_ID):
        self.CLUSTER_ID = CLUSTER_ID
    def hasContent_(self):
        if (
            self.ZONE_ID is not None or
            self.CLUSTER_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTERType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLUSTERType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'CLUSTERType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLUSTERType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLUSTERType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CLUSTERType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTERType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ZONE_ID is not None:
            namespaceprefix_ = self.ZONE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ZONE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sZONE_ID>%s</%sZONE_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ZONE_ID, input_name='ZONE_ID'), namespaceprefix_ , eol_))
        if self.CLUSTER_ID is not None:
            namespaceprefix_ = self.CLUSTER_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.CLUSTER_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCLUSTER_ID>%s</%sCLUSTER_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.CLUSTER_ID, input_name='CLUSTER_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ZONE_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ZONE_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ZONE_ID')
            self.ZONE_ID = ival_
            self.ZONE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'CLUSTER_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'CLUSTER_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'CLUSTER_ID')
            self.CLUSTER_ID = ival_
            self.CLUSTER_ID_nsprefix_ = child_.prefix
# end class CLUSTERType


class HOSTSType78(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, HOST=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if HOST is None:
            self.HOST = []
        else:
            self.HOST = HOST
        self.HOST_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HOSTSType78)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HOSTSType78.subclass:
            return HOSTSType78.subclass(*args_, **kwargs_)
        else:
            return HOSTSType78(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_HOST(self):
        return self.HOST
    def set_HOST(self, HOST):
        self.HOST = HOST
    def add_HOST(self, value):
        self.HOST.append(value)
    def insert_HOST_at(self, index, value):
        self.HOST.insert(index, value)
    def replace_HOST_at(self, index, value):
        self.HOST[index] = value
    def hasContent_(self):
        if (
            self.HOST
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOSTSType78', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HOSTSType78')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HOSTSType78':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HOSTSType78')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HOSTSType78', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HOSTSType78'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOSTSType78', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for HOST_ in self.HOST:
            namespaceprefix_ = self.HOST_nsprefix_ + ':' if (UseCapturedNS_ and self.HOST_nsprefix_) else ''
            HOST_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HOST', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'HOST':
            obj_ = HOSTType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HOST.append(obj_)
            obj_.original_tagname_ = 'HOST'
# end class HOSTSType78


class HOSTType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ZONE_ID=None, HOST_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ZONE_ID = ZONE_ID
        self.ZONE_ID_nsprefix_ = None
        self.HOST_ID = HOST_ID
        self.HOST_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HOSTType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HOSTType.subclass:
            return HOSTType.subclass(*args_, **kwargs_)
        else:
            return HOSTType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ZONE_ID(self):
        return self.ZONE_ID
    def set_ZONE_ID(self, ZONE_ID):
        self.ZONE_ID = ZONE_ID
    def get_HOST_ID(self):
        return self.HOST_ID
    def set_HOST_ID(self, HOST_ID):
        self.HOST_ID = HOST_ID
    def hasContent_(self):
        if (
            self.ZONE_ID is not None or
            self.HOST_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOSTType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HOSTType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HOSTType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HOSTType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HOSTType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HOSTType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOSTType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ZONE_ID is not None:
            namespaceprefix_ = self.ZONE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ZONE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sZONE_ID>%s</%sZONE_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ZONE_ID, input_name='ZONE_ID'), namespaceprefix_ , eol_))
        if self.HOST_ID is not None:
            namespaceprefix_ = self.HOST_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.HOST_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sHOST_ID>%s</%sHOST_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.HOST_ID, input_name='HOST_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ZONE_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ZONE_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ZONE_ID')
            self.ZONE_ID = ival_
            self.ZONE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'HOST_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'HOST_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'HOST_ID')
            self.HOST_ID = ival_
            self.HOST_ID_nsprefix_ = child_.prefix
# end class HOSTType


class DATASTORESType79(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DATASTORE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DATASTORE is None:
            self.DATASTORE = []
        else:
            self.DATASTORE = DATASTORE
        self.DATASTORE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTORESType79)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTORESType79.subclass:
            return DATASTORESType79.subclass(*args_, **kwargs_)
        else:
            return DATASTORESType79(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DATASTORE(self):
        return self.DATASTORE
    def set_DATASTORE(self, DATASTORE):
        self.DATASTORE = DATASTORE
    def add_DATASTORE(self, value):
        self.DATASTORE.append(value)
    def insert_DATASTORE_at(self, index, value):
        self.DATASTORE.insert(index, value)
    def replace_DATASTORE_at(self, index, value):
        self.DATASTORE[index] = value
    def hasContent_(self):
        if (
            self.DATASTORE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORESType79', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTORESType79')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTORESType79':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTORESType79')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTORESType79', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTORESType79'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTORESType79', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DATASTORE_ in self.DATASTORE:
            namespaceprefix_ = self.DATASTORE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_nsprefix_) else ''
            DATASTORE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DATASTORE':
            obj_ = DATASTOREType80.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE.append(obj_)
            obj_.original_tagname_ = 'DATASTORE'
# end class DATASTORESType79


class DATASTOREType80(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ZONE_ID=None, DATASTORE_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ZONE_ID = ZONE_ID
        self.ZONE_ID_nsprefix_ = None
        self.DATASTORE_ID = DATASTORE_ID
        self.DATASTORE_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DATASTOREType80)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DATASTOREType80.subclass:
            return DATASTOREType80.subclass(*args_, **kwargs_)
        else:
            return DATASTOREType80(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ZONE_ID(self):
        return self.ZONE_ID
    def set_ZONE_ID(self, ZONE_ID):
        self.ZONE_ID = ZONE_ID
    def get_DATASTORE_ID(self):
        return self.DATASTORE_ID
    def set_DATASTORE_ID(self, DATASTORE_ID):
        self.DATASTORE_ID = DATASTORE_ID
    def hasContent_(self):
        if (
            self.ZONE_ID is not None or
            self.DATASTORE_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType80', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DATASTOREType80')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DATASTOREType80':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DATASTOREType80')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DATASTOREType80', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DATASTOREType80'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DATASTOREType80', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ZONE_ID is not None:
            namespaceprefix_ = self.ZONE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ZONE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sZONE_ID>%s</%sZONE_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ZONE_ID, input_name='ZONE_ID'), namespaceprefix_ , eol_))
        if self.DATASTORE_ID is not None:
            namespaceprefix_ = self.DATASTORE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDATASTORE_ID>%s</%sDATASTORE_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.DATASTORE_ID, input_name='DATASTORE_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ZONE_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ZONE_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ZONE_ID')
            self.ZONE_ID = ival_
            self.ZONE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATASTORE_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DATASTORE_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'DATASTORE_ID')
            self.DATASTORE_ID = ival_
            self.DATASTORE_ID_nsprefix_ = child_.prefix
# end class DATASTOREType80


class VNETSType81(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VNET=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if VNET is None:
            self.VNET = []
        else:
            self.VNET = VNET
        self.VNET_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VNETSType81)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VNETSType81.subclass:
            return VNETSType81.subclass(*args_, **kwargs_)
        else:
            return VNETSType81(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VNET(self):
        return self.VNET
    def set_VNET(self, VNET):
        self.VNET = VNET
    def add_VNET(self, value):
        self.VNET.append(value)
    def insert_VNET_at(self, index, value):
        self.VNET.insert(index, value)
    def replace_VNET_at(self, index, value):
        self.VNET[index] = value
    def hasContent_(self):
        if (
            self.VNET
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNETSType81', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VNETSType81')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VNETSType81':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VNETSType81')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VNETSType81', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VNETSType81'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNETSType81', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for VNET_ in self.VNET:
            namespaceprefix_ = self.VNET_nsprefix_ + ':' if (UseCapturedNS_ and self.VNET_nsprefix_) else ''
            VNET_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VNET', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VNET':
            obj_ = VNETType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VNET.append(obj_)
            obj_.original_tagname_ = 'VNET'
# end class VNETSType81


class VNETType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ZONE_ID=None, VNET_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ZONE_ID = ZONE_ID
        self.ZONE_ID_nsprefix_ = None
        self.VNET_ID = VNET_ID
        self.VNET_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VNETType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VNETType.subclass:
            return VNETType.subclass(*args_, **kwargs_)
        else:
            return VNETType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ZONE_ID(self):
        return self.ZONE_ID
    def set_ZONE_ID(self, ZONE_ID):
        self.ZONE_ID = ZONE_ID
    def get_VNET_ID(self):
        return self.VNET_ID
    def set_VNET_ID(self, VNET_ID):
        self.VNET_ID = VNET_ID
    def hasContent_(self):
        if (
            self.ZONE_ID is not None or
            self.VNET_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNETType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VNETType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VNETType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VNETType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VNETType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VNETType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNETType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ZONE_ID is not None:
            namespaceprefix_ = self.ZONE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ZONE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sZONE_ID>%s</%sZONE_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ZONE_ID, input_name='ZONE_ID'), namespaceprefix_ , eol_))
        if self.VNET_ID is not None:
            namespaceprefix_ = self.VNET_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VNET_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVNET_ID>%s</%sVNET_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.VNET_ID, input_name='VNET_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ZONE_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ZONE_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ZONE_ID')
            self.ZONE_ID = ival_
            self.ZONE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VNET_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'VNET_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'VNET_ID')
            self.VNET_ID = ival_
            self.VNET_ID_nsprefix_ = child_.prefix
# end class VNETType


class PERMISSIONSType82(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OWNER_U=None, OWNER_M=None, OWNER_A=None, GROUP_U=None, GROUP_M=None, GROUP_A=None, OTHER_U=None, OTHER_M=None, OTHER_A=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OWNER_U = OWNER_U
        self.OWNER_U_nsprefix_ = None
        self.OWNER_M = OWNER_M
        self.OWNER_M_nsprefix_ = None
        self.OWNER_A = OWNER_A
        self.OWNER_A_nsprefix_ = None
        self.GROUP_U = GROUP_U
        self.GROUP_U_nsprefix_ = None
        self.GROUP_M = GROUP_M
        self.GROUP_M_nsprefix_ = None
        self.GROUP_A = GROUP_A
        self.GROUP_A_nsprefix_ = None
        self.OTHER_U = OTHER_U
        self.OTHER_U_nsprefix_ = None
        self.OTHER_M = OTHER_M
        self.OTHER_M_nsprefix_ = None
        self.OTHER_A = OTHER_A
        self.OTHER_A_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PERMISSIONSType82)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONSType82.subclass:
            return PERMISSIONSType82.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONSType82(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OWNER_U(self):
        return self.OWNER_U
    def set_OWNER_U(self, OWNER_U):
        self.OWNER_U = OWNER_U
    def get_OWNER_M(self):
        return self.OWNER_M
    def set_OWNER_M(self, OWNER_M):
        self.OWNER_M = OWNER_M
    def get_OWNER_A(self):
        return self.OWNER_A
    def set_OWNER_A(self, OWNER_A):
        self.OWNER_A = OWNER_A
    def get_GROUP_U(self):
        return self.GROUP_U
    def set_GROUP_U(self, GROUP_U):
        self.GROUP_U = GROUP_U
    def get_GROUP_M(self):
        return self.GROUP_M
    def set_GROUP_M(self, GROUP_M):
        self.GROUP_M = GROUP_M
    def get_GROUP_A(self):
        return self.GROUP_A
    def set_GROUP_A(self, GROUP_A):
        self.GROUP_A = GROUP_A
    def get_OTHER_U(self):
        return self.OTHER_U
    def set_OTHER_U(self, OTHER_U):
        self.OTHER_U = OTHER_U
    def get_OTHER_M(self):
        return self.OTHER_M
    def set_OTHER_M(self, OTHER_M):
        self.OTHER_M = OTHER_M
    def get_OTHER_A(self):
        return self.OTHER_A
    def set_OTHER_A(self, OTHER_A):
        self.OTHER_A = OTHER_A
    def hasContent_(self):
        if (
            self.OWNER_U is not None or
            self.OWNER_M is not None or
            self.OWNER_A is not None or
            self.GROUP_U is not None or
            self.GROUP_M is not None or
            self.GROUP_A is not None or
            self.OTHER_U is not None or
            self.OTHER_M is not None or
            self.OTHER_A is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType82', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONSType82')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PERMISSIONSType82':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PERMISSIONSType82')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONSType82', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PERMISSIONSType82'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType82', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OWNER_U is not None:
            namespaceprefix_ = self.OWNER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_U>%s</%sOWNER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_U, input_name='OWNER_U'), namespaceprefix_ , eol_))
        if self.OWNER_M is not None:
            namespaceprefix_ = self.OWNER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_M>%s</%sOWNER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_M, input_name='OWNER_M'), namespaceprefix_ , eol_))
        if self.OWNER_A is not None:
            namespaceprefix_ = self.OWNER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_A>%s</%sOWNER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_A, input_name='OWNER_A'), namespaceprefix_ , eol_))
        if self.GROUP_U is not None:
            namespaceprefix_ = self.GROUP_U_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_U>%s</%sGROUP_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_U, input_name='GROUP_U'), namespaceprefix_ , eol_))
        if self.GROUP_M is not None:
            namespaceprefix_ = self.GROUP_M_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_M>%s</%sGROUP_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_M, input_name='GROUP_M'), namespaceprefix_ , eol_))
        if self.GROUP_A is not None:
            namespaceprefix_ = self.GROUP_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_A>%s</%sGROUP_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_A, input_name='GROUP_A'), namespaceprefix_ , eol_))
        if self.OTHER_U is not None:
            namespaceprefix_ = self.OTHER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_U>%s</%sOTHER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_U, input_name='OTHER_U'), namespaceprefix_ , eol_))
        if self.OTHER_M is not None:
            namespaceprefix_ = self.OTHER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_M>%s</%sOTHER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_M, input_name='OTHER_M'), namespaceprefix_ , eol_))
        if self.OTHER_A is not None:
            namespaceprefix_ = self.OTHER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_A>%s</%sOTHER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_A, input_name='OTHER_A'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OWNER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_U')
            self.OWNER_U = ival_
            self.OWNER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_M')
            self.OWNER_M = ival_
            self.OWNER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_A')
            self.OWNER_A = ival_
            self.OWNER_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_U')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_U')
            self.GROUP_U = ival_
            self.GROUP_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_M')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_M')
            self.GROUP_M = ival_
            self.GROUP_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_A')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_A')
            self.GROUP_A = ival_
            self.GROUP_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_U')
            self.OTHER_U = ival_
            self.OTHER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_M')
            self.OTHER_M = ival_
            self.OTHER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_A')
            self.OTHER_A = ival_
            self.OTHER_A_nsprefix_ = child_.prefix
# end class PERMISSIONSType82


class LOCKType83(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, LOCKED=None, OWNER=None, TIME=None, REQ_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.LOCKED = LOCKED
        self.LOCKED_nsprefix_ = None
        self.OWNER = OWNER
        self.OWNER_nsprefix_ = None
        self.TIME = TIME
        self.TIME_nsprefix_ = None
        self.REQ_ID = REQ_ID
        self.REQ_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, LOCKType83)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LOCKType83.subclass:
            return LOCKType83.subclass(*args_, **kwargs_)
        else:
            return LOCKType83(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_LOCKED(self):
        return self.LOCKED
    def set_LOCKED(self, LOCKED):
        self.LOCKED = LOCKED
    def get_OWNER(self):
        return self.OWNER
    def set_OWNER(self, OWNER):
        self.OWNER = OWNER
    def get_TIME(self):
        return self.TIME
    def set_TIME(self, TIME):
        self.TIME = TIME
    def get_REQ_ID(self):
        return self.REQ_ID
    def set_REQ_ID(self, REQ_ID):
        self.REQ_ID = REQ_ID
    def hasContent_(self):
        if (
            self.LOCKED is not None or
            self.OWNER is not None or
            self.TIME is not None or
            self.REQ_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType83', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LOCKType83')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'LOCKType83':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LOCKType83')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LOCKType83', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LOCKType83'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType83', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.LOCKED is not None:
            namespaceprefix_ = self.LOCKED_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCKED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLOCKED>%s</%sLOCKED>%s' % (namespaceprefix_ , self.gds_format_integer(self.LOCKED, input_name='LOCKED'), namespaceprefix_ , eol_))
        if self.OWNER is not None:
            namespaceprefix_ = self.OWNER_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER>%s</%sOWNER>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER, input_name='OWNER'), namespaceprefix_ , eol_))
        if self.TIME is not None:
            namespaceprefix_ = self.TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTIME>%s</%sTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.TIME, input_name='TIME'), namespaceprefix_ , eol_))
        if self.REQ_ID is not None:
            namespaceprefix_ = self.REQ_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.REQ_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREQ_ID>%s</%sREQ_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.REQ_ID, input_name='REQ_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'LOCKED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LOCKED')
            ival_ = self.gds_validate_integer(ival_, node, 'LOCKED')
            self.LOCKED = ival_
            self.LOCKED_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER')
            self.OWNER = ival_
            self.OWNER_nsprefix_ = child_.prefix
        elif nodeName_ == 'TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'TIME')
            self.TIME = ival_
            self.TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'REQ_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REQ_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'REQ_ID')
            self.REQ_ID = ival_
            self.REQ_ID_nsprefix_ = child_.prefix
# end class LOCKType83


class ROLESType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ROLE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ROLE is None:
            self.ROLE = []
        else:
            self.ROLE = ROLE
        self.ROLE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, ROLESType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if ROLESType.subclass:
            return ROLESType.subclass(*args_, **kwargs_)
        else:
            return ROLESType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ROLE(self):
        return self.ROLE
    def set_ROLE(self, ROLE):
        self.ROLE = ROLE
    def add_ROLE(self, value):
        self.ROLE.append(value)
    def insert_ROLE_at(self, index, value):
        self.ROLE.insert(index, value)
    def replace_ROLE_at(self, index, value):
        self.ROLE[index] = value
    def hasContent_(self):
        if (
            self.ROLE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ROLESType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('ROLESType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'ROLESType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ROLESType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ROLESType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ROLESType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ROLESType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ROLE_ in self.ROLE:
            namespaceprefix_ = self.ROLE_nsprefix_ + ':' if (UseCapturedNS_ and self.ROLE_nsprefix_) else ''
            ROLE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ROLE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ROLE':
            obj_ = ROLEType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.ROLE.append(obj_)
            obj_.original_tagname_ = 'ROLE'
# end class ROLESType


class ROLEType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, HOST_AFFINED=None, HOST_ANTI_AFFINED=None, ID=None, NAME=None, POLICY=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.HOST_AFFINED = HOST_AFFINED
        self.HOST_AFFINED_nsprefix_ = None
        self.HOST_ANTI_AFFINED = HOST_ANTI_AFFINED
        self.HOST_ANTI_AFFINED_nsprefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.POLICY = POLICY
        self.POLICY_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, ROLEType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if ROLEType.subclass:
            return ROLEType.subclass(*args_, **kwargs_)
        else:
            return ROLEType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_HOST_AFFINED(self):
        return self.HOST_AFFINED
    def set_HOST_AFFINED(self, HOST_AFFINED):
        self.HOST_AFFINED = HOST_AFFINED
    def get_HOST_ANTI_AFFINED(self):
        return self.HOST_ANTI_AFFINED
    def set_HOST_ANTI_AFFINED(self, HOST_ANTI_AFFINED):
        self.HOST_ANTI_AFFINED = HOST_ANTI_AFFINED
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_POLICY(self):
        return self.POLICY
    def set_POLICY(self, POLICY):
        self.POLICY = POLICY
    def hasContent_(self):
        if (
            self.HOST_AFFINED is not None or
            self.HOST_ANTI_AFFINED is not None or
            self.ID is not None or
            self.NAME is not None or
            self.POLICY is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ROLEType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('ROLEType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'ROLEType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ROLEType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ROLEType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ROLEType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ROLEType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.HOST_AFFINED is not None:
            namespaceprefix_ = self.HOST_AFFINED_nsprefix_ + ':' if (UseCapturedNS_ and self.HOST_AFFINED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sHOST_AFFINED>%s</%sHOST_AFFINED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.HOST_AFFINED), input_name='HOST_AFFINED')), namespaceprefix_ , eol_))
        if self.HOST_ANTI_AFFINED is not None:
            namespaceprefix_ = self.HOST_ANTI_AFFINED_nsprefix_ + ':' if (UseCapturedNS_ and self.HOST_ANTI_AFFINED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sHOST_ANTI_AFFINED>%s</%sHOST_ANTI_AFFINED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.HOST_ANTI_AFFINED), input_name='HOST_ANTI_AFFINED')), namespaceprefix_ , eol_))
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.POLICY is not None:
            namespaceprefix_ = self.POLICY_nsprefix_ + ':' if (UseCapturedNS_ and self.POLICY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPOLICY>%s</%sPOLICY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.POLICY), input_name='POLICY')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'HOST_AFFINED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'HOST_AFFINED')
            value_ = self.gds_validate_string(value_, node, 'HOST_AFFINED')
            self.HOST_AFFINED = value_
            self.HOST_AFFINED_nsprefix_ = child_.prefix
        elif nodeName_ == 'HOST_ANTI_AFFINED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'HOST_ANTI_AFFINED')
            value_ = self.gds_validate_string(value_, node, 'HOST_ANTI_AFFINED')
            self.HOST_ANTI_AFFINED = value_
            self.HOST_ANTI_AFFINED_nsprefix_ = child_.prefix
        elif nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'POLICY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'POLICY')
            value_ = self.gds_validate_string(value_, node, 'POLICY')
            self.POLICY = value_
            self.POLICY_nsprefix_ = child_.prefix
# end class ROLEType


class VMType84(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, LAST_POLL=None, STATE=None, LCM_STATE=None, RESCHED=None, STIME=None, ETIME=None, DEPLOY_ID=None, TEMPLATE=None, MONITORING=None, USER_TEMPLATE=None, HISTORY_RECORDS=None, SNAPSHOTS=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.LAST_POLL = LAST_POLL
        self.LAST_POLL_nsprefix_ = None
        self.STATE = STATE
        self.STATE_nsprefix_ = None
        self.LCM_STATE = LCM_STATE
        self.LCM_STATE_nsprefix_ = None
        self.RESCHED = RESCHED
        self.RESCHED_nsprefix_ = None
        self.STIME = STIME
        self.STIME_nsprefix_ = None
        self.ETIME = ETIME
        self.ETIME_nsprefix_ = None
        self.DEPLOY_ID = DEPLOY_ID
        self.DEPLOY_ID_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
        self.MONITORING = MONITORING
        self.MONITORING_nsprefix_ = None
        self.USER_TEMPLATE = USER_TEMPLATE
        self.USER_TEMPLATE_nsprefix_ = None
        self.HISTORY_RECORDS = HISTORY_RECORDS
        self.HISTORY_RECORDS_nsprefix_ = None
        if SNAPSHOTS is None:
            self.SNAPSHOTS = []
        else:
            self.SNAPSHOTS = SNAPSHOTS
        self.SNAPSHOTS_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMType84)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMType84.subclass:
            return VMType84.subclass(*args_, **kwargs_)
        else:
            return VMType84(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_LAST_POLL(self):
        return self.LAST_POLL
    def set_LAST_POLL(self, LAST_POLL):
        self.LAST_POLL = LAST_POLL
    def get_STATE(self):
        return self.STATE
    def set_STATE(self, STATE):
        self.STATE = STATE
    def get_LCM_STATE(self):
        return self.LCM_STATE
    def set_LCM_STATE(self, LCM_STATE):
        self.LCM_STATE = LCM_STATE
    def get_RESCHED(self):
        return self.RESCHED
    def set_RESCHED(self, RESCHED):
        self.RESCHED = RESCHED
    def get_STIME(self):
        return self.STIME
    def set_STIME(self, STIME):
        self.STIME = STIME
    def get_ETIME(self):
        return self.ETIME
    def set_ETIME(self, ETIME):
        self.ETIME = ETIME
    def get_DEPLOY_ID(self):
        return self.DEPLOY_ID
    def set_DEPLOY_ID(self, DEPLOY_ID):
        self.DEPLOY_ID = DEPLOY_ID
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def get_MONITORING(self):
        return self.MONITORING
    def set_MONITORING(self, MONITORING):
        self.MONITORING = MONITORING
    def get_USER_TEMPLATE(self):
        return self.USER_TEMPLATE
    def set_USER_TEMPLATE(self, USER_TEMPLATE):
        self.USER_TEMPLATE = USER_TEMPLATE
    def get_HISTORY_RECORDS(self):
        return self.HISTORY_RECORDS
    def set_HISTORY_RECORDS(self, HISTORY_RECORDS):
        self.HISTORY_RECORDS = HISTORY_RECORDS
    def get_SNAPSHOTS(self):
        return self.SNAPSHOTS
    def set_SNAPSHOTS(self, SNAPSHOTS):
        self.SNAPSHOTS = SNAPSHOTS
    def add_SNAPSHOTS(self, value):
        self.SNAPSHOTS.append(value)
    def insert_SNAPSHOTS_at(self, index, value):
        self.SNAPSHOTS.insert(index, value)
    def replace_SNAPSHOTS_at(self, index, value):
        self.SNAPSHOTS[index] = value
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.LAST_POLL is not None or
            self.STATE is not None or
            self.LCM_STATE is not None or
            self.RESCHED is not None or
            self.STIME is not None or
            self.ETIME is not None or
            self.DEPLOY_ID is not None or
            self.TEMPLATE is not None or
            self.MONITORING is not None or
            self.USER_TEMPLATE is not None or
            self.HISTORY_RECORDS is not None or
            self.SNAPSHOTS
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType84', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMType84')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMType84':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMType84')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMType84', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMType84'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMType84', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.LAST_POLL is not None:
            namespaceprefix_ = self.LAST_POLL_nsprefix_ + ':' if (UseCapturedNS_ and self.LAST_POLL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLAST_POLL>%s</%sLAST_POLL>%s' % (namespaceprefix_ , self.gds_format_integer(self.LAST_POLL, input_name='LAST_POLL'), namespaceprefix_ , eol_))
        if self.STATE is not None:
            namespaceprefix_ = self.STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTATE>%s</%sSTATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.STATE, input_name='STATE'), namespaceprefix_ , eol_))
        if self.LCM_STATE is not None:
            namespaceprefix_ = self.LCM_STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.LCM_STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLCM_STATE>%s</%sLCM_STATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.LCM_STATE, input_name='LCM_STATE'), namespaceprefix_ , eol_))
        if self.RESCHED is not None:
            namespaceprefix_ = self.RESCHED_nsprefix_ + ':' if (UseCapturedNS_ and self.RESCHED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRESCHED>%s</%sRESCHED>%s' % (namespaceprefix_ , self.gds_format_integer(self.RESCHED, input_name='RESCHED'), namespaceprefix_ , eol_))
        if self.STIME is not None:
            namespaceprefix_ = self.STIME_nsprefix_ + ':' if (UseCapturedNS_ and self.STIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTIME>%s</%sSTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.STIME, input_name='STIME'), namespaceprefix_ , eol_))
        if self.ETIME is not None:
            namespaceprefix_ = self.ETIME_nsprefix_ + ':' if (UseCapturedNS_ and self.ETIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sETIME>%s</%sETIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.ETIME, input_name='ETIME'), namespaceprefix_ , eol_))
        if self.DEPLOY_ID is not None:
            namespaceprefix_ = self.DEPLOY_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.DEPLOY_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEPLOY_ID>%s</%sDEPLOY_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.DEPLOY_ID), input_name='DEPLOY_ID')), namespaceprefix_ , eol_))
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            self.TEMPLATE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TEMPLATE', pretty_print=pretty_print)
        if self.MONITORING is not None:
            namespaceprefix_ = self.MONITORING_nsprefix_ + ':' if (UseCapturedNS_ and self.MONITORING_nsprefix_) else ''
            self.MONITORING.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MONITORING', pretty_print=pretty_print)
        if self.USER_TEMPLATE is not None:
            namespaceprefix_ = self.USER_TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.USER_TEMPLATE_nsprefix_) else ''
            self.USER_TEMPLATE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='USER_TEMPLATE', pretty_print=pretty_print)
        if self.HISTORY_RECORDS is not None:
            namespaceprefix_ = self.HISTORY_RECORDS_nsprefix_ + ':' if (UseCapturedNS_ and self.HISTORY_RECORDS_nsprefix_) else ''
            self.HISTORY_RECORDS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HISTORY_RECORDS', pretty_print=pretty_print)
        for SNAPSHOTS_ in self.SNAPSHOTS:
            namespaceprefix_ = self.SNAPSHOTS_nsprefix_ + ':' if (UseCapturedNS_ and self.SNAPSHOTS_nsprefix_) else ''
            SNAPSHOTS_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SNAPSHOTS', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'LAST_POLL' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LAST_POLL')
            ival_ = self.gds_validate_integer(ival_, node, 'LAST_POLL')
            self.LAST_POLL = ival_
            self.LAST_POLL_nsprefix_ = child_.prefix
        elif nodeName_ == 'STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'STATE')
            self.STATE = ival_
            self.STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'LCM_STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LCM_STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'LCM_STATE')
            self.LCM_STATE = ival_
            self.LCM_STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'RESCHED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RESCHED')
            ival_ = self.gds_validate_integer(ival_, node, 'RESCHED')
            self.RESCHED = ival_
            self.RESCHED_nsprefix_ = child_.prefix
        elif nodeName_ == 'STIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STIME')
            ival_ = self.gds_validate_integer(ival_, node, 'STIME')
            self.STIME = ival_
            self.STIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'ETIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ETIME')
            ival_ = self.gds_validate_integer(ival_, node, 'ETIME')
            self.ETIME = ival_
            self.ETIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEPLOY_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEPLOY_ID')
            value_ = self.gds_validate_string(value_, node, 'DEPLOY_ID')
            self.DEPLOY_ID = value_
            self.DEPLOY_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'TEMPLATE':
            obj_ = TEMPLATEType85.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
        elif nodeName_ == 'MONITORING':
            obj_ = MONITORINGType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.MONITORING = obj_
            obj_.original_tagname_ = 'MONITORING'
        elif nodeName_ == 'USER_TEMPLATE':
            obj_ = USER_TEMPLATEType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.USER_TEMPLATE = obj_
            obj_.original_tagname_ = 'USER_TEMPLATE'
        elif nodeName_ == 'HISTORY_RECORDS':
            obj_ = HISTORY_RECORDSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HISTORY_RECORDS = obj_
            obj_.original_tagname_ = 'HISTORY_RECORDS'
        elif nodeName_ == 'SNAPSHOTS':
            obj_ = SNAPSHOTSType86.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SNAPSHOTS.append(obj_)
            obj_.original_tagname_ = 'SNAPSHOTS'
# end class VMType84


class TEMPLATEType85(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DISK=None, anytypeobjs_=None, NIC=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DISK is None:
            self.DISK = []
        else:
            self.DISK = DISK
        self.DISK_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
        if NIC is None:
            self.NIC = []
        else:
            self.NIC = NIC
        self.NIC_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, TEMPLATEType85)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if TEMPLATEType85.subclass:
            return TEMPLATEType85.subclass(*args_, **kwargs_)
        else:
            return TEMPLATEType85(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DISK(self):
        return self.DISK
    def set_DISK(self, DISK):
        self.DISK = DISK
    def add_DISK(self, value):
        self.DISK.append(value)
    def insert_DISK_at(self, index, value):
        self.DISK.insert(index, value)
    def replace_DISK_at(self, index, value):
        self.DISK[index] = value
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def get_NIC(self):
        return self.NIC
    def set_NIC(self, NIC):
        self.NIC = NIC
    def add_NIC(self, value):
        self.NIC.append(value)
    def insert_NIC_at(self, index, value):
        self.NIC.insert(index, value)
    def replace_NIC_at(self, index, value):
        self.NIC[index] = value
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.DISK or
            self.anytypeobjs_ or
            self.NIC or
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType85', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('TEMPLATEType85')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'TEMPLATEType85':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TEMPLATEType85')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TEMPLATEType85', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TEMPLATEType85'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType85', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DISK_ in self.DISK:
            namespaceprefix_ = self.DISK_nsprefix_ + ':' if (UseCapturedNS_ and self.DISK_nsprefix_) else ''
            DISK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DISK', pretty_print=pretty_print)
        for NIC_ in self.NIC:
            namespaceprefix_ = self.NIC_nsprefix_ + ':' if (UseCapturedNS_ and self.NIC_nsprefix_) else ''
            NIC_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NIC', pretty_print=pretty_print)
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DISK':
            obj_ = DISKType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DISK.append(obj_)
            obj_.original_tagname_ = 'DISK'
        elif nodeName_ == 'NIC':
            obj_ = NICType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NIC.append(obj_)
            obj_.original_tagname_ = 'NIC'
        else:
            content_ = self.gds_build_any(child_, 'TEMPLATEType85')
            self.add_anytypeobjs_(content_)
# end class TEMPLATEType85


class DISKType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VCENTER_DS_REF=None, VCENTER_INSTANCE_ID=None, anytypeobjs_=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VCENTER_DS_REF = VCENTER_DS_REF
        self.VCENTER_DS_REF_nsprefix_ = None
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
        self.VCENTER_INSTANCE_ID_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DISKType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DISKType.subclass:
            return DISKType.subclass(*args_, **kwargs_)
        else:
            return DISKType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VCENTER_DS_REF(self):
        return self.VCENTER_DS_REF
    def set_VCENTER_DS_REF(self, VCENTER_DS_REF):
        self.VCENTER_DS_REF = VCENTER_DS_REF
    def get_VCENTER_INSTANCE_ID(self):
        return self.VCENTER_INSTANCE_ID
    def set_VCENTER_INSTANCE_ID(self, VCENTER_INSTANCE_ID):
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.VCENTER_DS_REF is not None or
            self.VCENTER_INSTANCE_ID is not None or
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DISKType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DISKType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DISKType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DISKType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DISKType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DISKType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DISKType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VCENTER_DS_REF is not None:
            namespaceprefix_ = self.VCENTER_DS_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_DS_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_DS_REF>%s</%sVCENTER_DS_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_DS_REF), input_name='VCENTER_DS_REF')), namespaceprefix_ , eol_))
        if self.VCENTER_INSTANCE_ID is not None:
            namespaceprefix_ = self.VCENTER_INSTANCE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_INSTANCE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_INSTANCE_ID>%s</%sVCENTER_INSTANCE_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_INSTANCE_ID), input_name='VCENTER_INSTANCE_ID')), namespaceprefix_ , eol_))
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VCENTER_DS_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_DS_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_DS_REF')
            self.VCENTER_DS_REF = value_
            self.VCENTER_DS_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_INSTANCE_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_INSTANCE_ID')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_INSTANCE_ID')
            self.VCENTER_INSTANCE_ID = value_
            self.VCENTER_INSTANCE_ID_nsprefix_ = child_.prefix
        else:
            content_ = self.gds_build_any(child_, 'DISKType')
            self.add_anytypeobjs_(content_)
# end class DISKType


class NICType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, anytypeobjs_=None, VCENTER_INSTANCE_ID=None, VCENTER_NET_REF=None, VCENTER_PORTGROUP_TYPE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
        self.VCENTER_INSTANCE_ID_nsprefix_ = None
        self.VCENTER_NET_REF = VCENTER_NET_REF
        self.VCENTER_NET_REF_nsprefix_ = None
        self.VCENTER_PORTGROUP_TYPE = VCENTER_PORTGROUP_TYPE
        self.VCENTER_PORTGROUP_TYPE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NICType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NICType.subclass:
            return NICType.subclass(*args_, **kwargs_)
        else:
            return NICType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def get_VCENTER_INSTANCE_ID(self):
        return self.VCENTER_INSTANCE_ID
    def set_VCENTER_INSTANCE_ID(self, VCENTER_INSTANCE_ID):
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
    def get_VCENTER_NET_REF(self):
        return self.VCENTER_NET_REF
    def set_VCENTER_NET_REF(self, VCENTER_NET_REF):
        self.VCENTER_NET_REF = VCENTER_NET_REF
    def get_VCENTER_PORTGROUP_TYPE(self):
        return self.VCENTER_PORTGROUP_TYPE
    def set_VCENTER_PORTGROUP_TYPE(self, VCENTER_PORTGROUP_TYPE):
        self.VCENTER_PORTGROUP_TYPE = VCENTER_PORTGROUP_TYPE
    def hasContent_(self):
        if (
            self.anytypeobjs_ or
            self.VCENTER_INSTANCE_ID is not None or
            self.VCENTER_NET_REF is not None or
            self.VCENTER_PORTGROUP_TYPE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NICType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NICType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NICType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NICType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NICType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NICType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NICType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VCENTER_INSTANCE_ID is not None:
            namespaceprefix_ = self.VCENTER_INSTANCE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_INSTANCE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_INSTANCE_ID>%s</%sVCENTER_INSTANCE_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_INSTANCE_ID), input_name='VCENTER_INSTANCE_ID')), namespaceprefix_ , eol_))
        if self.VCENTER_NET_REF is not None:
            namespaceprefix_ = self.VCENTER_NET_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_NET_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_NET_REF>%s</%sVCENTER_NET_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_NET_REF), input_name='VCENTER_NET_REF')), namespaceprefix_ , eol_))
        if self.VCENTER_PORTGROUP_TYPE is not None:
            namespaceprefix_ = self.VCENTER_PORTGROUP_TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_PORTGROUP_TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_PORTGROUP_TYPE>%s</%sVCENTER_PORTGROUP_TYPE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_PORTGROUP_TYPE), input_name='VCENTER_PORTGROUP_TYPE')), namespaceprefix_ , eol_))
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VCENTER_INSTANCE_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_INSTANCE_ID')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_INSTANCE_ID')
            self.VCENTER_INSTANCE_ID = value_
            self.VCENTER_INSTANCE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_NET_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_NET_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_NET_REF')
            self.VCENTER_NET_REF = value_
            self.VCENTER_NET_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_PORTGROUP_TYPE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_PORTGROUP_TYPE')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_PORTGROUP_TYPE')
            self.VCENTER_PORTGROUP_TYPE = value_
            self.VCENTER_PORTGROUP_TYPE_nsprefix_ = child_.prefix
        else:
            content_ = self.gds_build_any(child_, 'NICType')
            self.add_anytypeobjs_(content_)
# end class NICType


class MONITORINGType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, anytypeobjs_=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, MONITORINGType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if MONITORINGType.subclass:
            return MONITORINGType.subclass(*args_, **kwargs_)
        else:
            return MONITORINGType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MONITORINGType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('MONITORINGType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'MONITORINGType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='MONITORINGType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MONITORINGType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='MONITORINGType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MONITORINGType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        content_ = self.gds_build_any(child_, 'MONITORINGType')
        self.add_anytypeobjs_(content_)
# end class MONITORINGType


class USER_TEMPLATEType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, anytypeobjs_=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, USER_TEMPLATEType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if USER_TEMPLATEType.subclass:
            return USER_TEMPLATEType.subclass(*args_, **kwargs_)
        else:
            return USER_TEMPLATEType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USER_TEMPLATEType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('USER_TEMPLATEType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'USER_TEMPLATEType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='USER_TEMPLATEType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='USER_TEMPLATEType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='USER_TEMPLATEType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USER_TEMPLATEType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        content_ = self.gds_build_any(child_, 'USER_TEMPLATEType')
        self.add_anytypeobjs_(content_)
# end class USER_TEMPLATEType


class HISTORY_RECORDSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, HISTORY=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if HISTORY is None:
            self.HISTORY = []
        else:
            self.HISTORY = HISTORY
        self.HISTORY_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HISTORY_RECORDSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HISTORY_RECORDSType.subclass:
            return HISTORY_RECORDSType.subclass(*args_, **kwargs_)
        else:
            return HISTORY_RECORDSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_HISTORY(self):
        return self.HISTORY
    def set_HISTORY(self, HISTORY):
        self.HISTORY = HISTORY
    def add_HISTORY(self, value):
        self.HISTORY.append(value)
    def insert_HISTORY_at(self, index, value):
        self.HISTORY.insert(index, value)
    def replace_HISTORY_at(self, index, value):
        self.HISTORY[index] = value
    def hasContent_(self):
        if (
            self.HISTORY
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HISTORY_RECORDSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HISTORY_RECORDSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HISTORY_RECORDSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HISTORY_RECORDSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HISTORY_RECORDSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HISTORY_RECORDSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HISTORY_RECORDSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for HISTORY_ in self.HISTORY:
            namespaceprefix_ = self.HISTORY_nsprefix_ + ':' if (UseCapturedNS_ and self.HISTORY_nsprefix_) else ''
            HISTORY_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HISTORY', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'HISTORY':
            obj_ = HISTORYType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HISTORY.append(obj_)
            obj_.original_tagname_ = 'HISTORY'
# end class HISTORY_RECORDSType


class HISTORYType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OID=None, SEQ=None, HOSTNAME=None, HID=None, CID=None, DS_ID=None, ACTION=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OID = OID
        self.OID_nsprefix_ = None
        self.SEQ = SEQ
        self.SEQ_nsprefix_ = None
        self.HOSTNAME = HOSTNAME
        self.HOSTNAME_nsprefix_ = None
        self.HID = HID
        self.HID_nsprefix_ = None
        self.CID = CID
        self.CID_nsprefix_ = None
        self.DS_ID = DS_ID
        self.DS_ID_nsprefix_ = None
        self.ACTION = ACTION
        self.ACTION_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HISTORYType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HISTORYType.subclass:
            return HISTORYType.subclass(*args_, **kwargs_)
        else:
            return HISTORYType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OID(self):
        return self.OID
    def set_OID(self, OID):
        self.OID = OID
    def get_SEQ(self):
        return self.SEQ
    def set_SEQ(self, SEQ):
        self.SEQ = SEQ
    def get_HOSTNAME(self):
        return self.HOSTNAME
    def set_HOSTNAME(self, HOSTNAME):
        self.HOSTNAME = HOSTNAME
    def get_HID(self):
        return self.HID
    def set_HID(self, HID):
        self.HID = HID
    def get_CID(self):
        return self.CID
    def set_CID(self, CID):
        self.CID = CID
    def get_DS_ID(self):
        return self.DS_ID
    def set_DS_ID(self, DS_ID):
        self.DS_ID = DS_ID
    def get_ACTION(self):
        return self.ACTION
    def set_ACTION(self, ACTION):
        self.ACTION = ACTION
    def hasContent_(self):
        if (
            self.OID is not None or
            self.SEQ is not None or
            self.HOSTNAME is not None or
            self.HID is not None or
            self.CID is not None or
            self.DS_ID is not None or
            self.ACTION is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HISTORYType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HISTORYType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HISTORYType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HISTORYType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HISTORYType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HISTORYType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HISTORYType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OID is not None:
            namespaceprefix_ = self.OID_nsprefix_ + ':' if (UseCapturedNS_ and self.OID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOID>%s</%sOID>%s' % (namespaceprefix_ , self.gds_format_integer(self.OID, input_name='OID'), namespaceprefix_ , eol_))
        if self.SEQ is not None:
            namespaceprefix_ = self.SEQ_nsprefix_ + ':' if (UseCapturedNS_ and self.SEQ_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSEQ>%s</%sSEQ>%s' % (namespaceprefix_ , self.gds_format_integer(self.SEQ, input_name='SEQ'), namespaceprefix_ , eol_))
        if self.HOSTNAME is not None:
            namespaceprefix_ = self.HOSTNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.HOSTNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sHOSTNAME>%s</%sHOSTNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.HOSTNAME), input_name='HOSTNAME')), namespaceprefix_ , eol_))
        if self.HID is not None:
            namespaceprefix_ = self.HID_nsprefix_ + ':' if (UseCapturedNS_ and self.HID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sHID>%s</%sHID>%s' % (namespaceprefix_ , self.gds_format_integer(self.HID, input_name='HID'), namespaceprefix_ , eol_))
        if self.CID is not None:
            namespaceprefix_ = self.CID_nsprefix_ + ':' if (UseCapturedNS_ and self.CID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCID>%s</%sCID>%s' % (namespaceprefix_ , self.gds_format_integer(self.CID, input_name='CID'), namespaceprefix_ , eol_))
        if self.DS_ID is not None:
            namespaceprefix_ = self.DS_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.DS_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDS_ID>%s</%sDS_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.DS_ID, input_name='DS_ID'), namespaceprefix_ , eol_))
        if self.ACTION is not None:
            namespaceprefix_ = self.ACTION_nsprefix_ + ':' if (UseCapturedNS_ and self.ACTION_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sACTION>%s</%sACTION>%s' % (namespaceprefix_ , self.gds_format_integer(self.ACTION, input_name='ACTION'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OID')
            ival_ = self.gds_validate_integer(ival_, node, 'OID')
            self.OID = ival_
            self.OID_nsprefix_ = child_.prefix
        elif nodeName_ == 'SEQ' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SEQ')
            ival_ = self.gds_validate_integer(ival_, node, 'SEQ')
            self.SEQ = ival_
            self.SEQ_nsprefix_ = child_.prefix
        elif nodeName_ == 'HOSTNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'HOSTNAME')
            value_ = self.gds_validate_string(value_, node, 'HOSTNAME')
            self.HOSTNAME = value_
            self.HOSTNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'HID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'HID')
            ival_ = self.gds_validate_integer(ival_, node, 'HID')
            self.HID = ival_
            self.HID_nsprefix_ = child_.prefix
        elif nodeName_ == 'CID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'CID')
            ival_ = self.gds_validate_integer(ival_, node, 'CID')
            self.CID = ival_
            self.CID_nsprefix_ = child_.prefix
        elif nodeName_ == 'DS_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DS_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'DS_ID')
            self.DS_ID = ival_
            self.DS_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'ACTION' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ACTION')
            ival_ = self.gds_validate_integer(ival_, node, 'ACTION')
            self.ACTION = ival_
            self.ACTION_nsprefix_ = child_.prefix
# end class HISTORYType


class SNAPSHOTSType86(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ALLOW_ORPHANS=None, CURRENT_BASE=None, DISK_ID=None, NEXT_SNAPSHOT=None, SNAPSHOT=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ALLOW_ORPHANS = ALLOW_ORPHANS
        self.ALLOW_ORPHANS_nsprefix_ = None
        self.CURRENT_BASE = CURRENT_BASE
        self.CURRENT_BASE_nsprefix_ = None
        self.DISK_ID = DISK_ID
        self.DISK_ID_nsprefix_ = None
        self.NEXT_SNAPSHOT = NEXT_SNAPSHOT
        self.NEXT_SNAPSHOT_nsprefix_ = None
        if SNAPSHOT is None:
            self.SNAPSHOT = []
        else:
            self.SNAPSHOT = SNAPSHOT
        self.SNAPSHOT_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SNAPSHOTSType86)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SNAPSHOTSType86.subclass:
            return SNAPSHOTSType86.subclass(*args_, **kwargs_)
        else:
            return SNAPSHOTSType86(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ALLOW_ORPHANS(self):
        return self.ALLOW_ORPHANS
    def set_ALLOW_ORPHANS(self, ALLOW_ORPHANS):
        self.ALLOW_ORPHANS = ALLOW_ORPHANS
    def get_CURRENT_BASE(self):
        return self.CURRENT_BASE
    def set_CURRENT_BASE(self, CURRENT_BASE):
        self.CURRENT_BASE = CURRENT_BASE
    def get_DISK_ID(self):
        return self.DISK_ID
    def set_DISK_ID(self, DISK_ID):
        self.DISK_ID = DISK_ID
    def get_NEXT_SNAPSHOT(self):
        return self.NEXT_SNAPSHOT
    def set_NEXT_SNAPSHOT(self, NEXT_SNAPSHOT):
        self.NEXT_SNAPSHOT = NEXT_SNAPSHOT
    def get_SNAPSHOT(self):
        return self.SNAPSHOT
    def set_SNAPSHOT(self, SNAPSHOT):
        self.SNAPSHOT = SNAPSHOT
    def add_SNAPSHOT(self, value):
        self.SNAPSHOT.append(value)
    def insert_SNAPSHOT_at(self, index, value):
        self.SNAPSHOT.insert(index, value)
    def replace_SNAPSHOT_at(self, index, value):
        self.SNAPSHOT[index] = value
    def hasContent_(self):
        if (
            self.ALLOW_ORPHANS is not None or
            self.CURRENT_BASE is not None or
            self.DISK_ID is not None or
            self.NEXT_SNAPSHOT is not None or
            self.SNAPSHOT
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTSType86', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SNAPSHOTSType86')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SNAPSHOTSType86':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SNAPSHOTSType86')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SNAPSHOTSType86', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SNAPSHOTSType86'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTSType86', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ALLOW_ORPHANS is not None:
            namespaceprefix_ = self.ALLOW_ORPHANS_nsprefix_ + ':' if (UseCapturedNS_ and self.ALLOW_ORPHANS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sALLOW_ORPHANS>%s</%sALLOW_ORPHANS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ALLOW_ORPHANS), input_name='ALLOW_ORPHANS')), namespaceprefix_ , eol_))
        if self.CURRENT_BASE is not None:
            namespaceprefix_ = self.CURRENT_BASE_nsprefix_ + ':' if (UseCapturedNS_ and self.CURRENT_BASE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCURRENT_BASE>%s</%sCURRENT_BASE>%s' % (namespaceprefix_ , self.gds_format_integer(self.CURRENT_BASE, input_name='CURRENT_BASE'), namespaceprefix_ , eol_))
        if self.DISK_ID is not None:
            namespaceprefix_ = self.DISK_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.DISK_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDISK_ID>%s</%sDISK_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.DISK_ID, input_name='DISK_ID'), namespaceprefix_ , eol_))
        if self.NEXT_SNAPSHOT is not None:
            namespaceprefix_ = self.NEXT_SNAPSHOT_nsprefix_ + ':' if (UseCapturedNS_ and self.NEXT_SNAPSHOT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNEXT_SNAPSHOT>%s</%sNEXT_SNAPSHOT>%s' % (namespaceprefix_ , self.gds_format_integer(self.NEXT_SNAPSHOT, input_name='NEXT_SNAPSHOT'), namespaceprefix_ , eol_))
        for SNAPSHOT_ in self.SNAPSHOT:
            namespaceprefix_ = self.SNAPSHOT_nsprefix_ + ':' if (UseCapturedNS_ and self.SNAPSHOT_nsprefix_) else ''
            SNAPSHOT_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SNAPSHOT', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ALLOW_ORPHANS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ALLOW_ORPHANS')
            value_ = self.gds_validate_string(value_, node, 'ALLOW_ORPHANS')
            self.ALLOW_ORPHANS = value_
            self.ALLOW_ORPHANS_nsprefix_ = child_.prefix
        elif nodeName_ == 'CURRENT_BASE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'CURRENT_BASE')
            ival_ = self.gds_validate_integer(ival_, node, 'CURRENT_BASE')
            self.CURRENT_BASE = ival_
            self.CURRENT_BASE_nsprefix_ = child_.prefix
        elif nodeName_ == 'DISK_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DISK_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'DISK_ID')
            self.DISK_ID = ival_
            self.DISK_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NEXT_SNAPSHOT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'NEXT_SNAPSHOT')
            ival_ = self.gds_validate_integer(ival_, node, 'NEXT_SNAPSHOT')
            self.NEXT_SNAPSHOT = ival_
            self.NEXT_SNAPSHOT_nsprefix_ = child_.prefix
        elif nodeName_ == 'SNAPSHOT':
            obj_ = SNAPSHOTType87.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SNAPSHOT.append(obj_)
            obj_.original_tagname_ = 'SNAPSHOT'
# end class SNAPSHOTSType86


class SNAPSHOTType87(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ACTIVE=None, CHILDREN=None, DATE=None, ID=None, NAME=None, PARENT=None, SIZE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ACTIVE = ACTIVE
        self.ACTIVE_nsprefix_ = None
        self.CHILDREN = CHILDREN
        self.CHILDREN_nsprefix_ = None
        self.DATE = DATE
        self.DATE_nsprefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.PARENT = PARENT
        self.PARENT_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SNAPSHOTType87)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SNAPSHOTType87.subclass:
            return SNAPSHOTType87.subclass(*args_, **kwargs_)
        else:
            return SNAPSHOTType87(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ACTIVE(self):
        return self.ACTIVE
    def set_ACTIVE(self, ACTIVE):
        self.ACTIVE = ACTIVE
    def get_CHILDREN(self):
        return self.CHILDREN
    def set_CHILDREN(self, CHILDREN):
        self.CHILDREN = CHILDREN
    def get_DATE(self):
        return self.DATE
    def set_DATE(self, DATE):
        self.DATE = DATE
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_PARENT(self):
        return self.PARENT
    def set_PARENT(self, PARENT):
        self.PARENT = PARENT
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def hasContent_(self):
        if (
            self.ACTIVE is not None or
            self.CHILDREN is not None or
            self.DATE is not None or
            self.ID is not None or
            self.NAME is not None or
            self.PARENT is not None or
            self.SIZE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTType87', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SNAPSHOTType87')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SNAPSHOTType87':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SNAPSHOTType87')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SNAPSHOTType87', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SNAPSHOTType87'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTType87', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ACTIVE is not None:
            namespaceprefix_ = self.ACTIVE_nsprefix_ + ':' if (UseCapturedNS_ and self.ACTIVE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sACTIVE>%s</%sACTIVE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ACTIVE), input_name='ACTIVE')), namespaceprefix_ , eol_))
        if self.CHILDREN is not None:
            namespaceprefix_ = self.CHILDREN_nsprefix_ + ':' if (UseCapturedNS_ and self.CHILDREN_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCHILDREN>%s</%sCHILDREN>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CHILDREN), input_name='CHILDREN')), namespaceprefix_ , eol_))
        if self.DATE is not None:
            namespaceprefix_ = self.DATE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDATE>%s</%sDATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.DATE, input_name='DATE'), namespaceprefix_ , eol_))
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.PARENT is not None:
            namespaceprefix_ = self.PARENT_nsprefix_ + ':' if (UseCapturedNS_ and self.PARENT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPARENT>%s</%sPARENT>%s' % (namespaceprefix_ , self.gds_format_integer(self.PARENT, input_name='PARENT'), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.SIZE, input_name='SIZE'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ACTIVE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ACTIVE')
            value_ = self.gds_validate_string(value_, node, 'ACTIVE')
            self.ACTIVE = value_
            self.ACTIVE_nsprefix_ = child_.prefix
        elif nodeName_ == 'CHILDREN':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CHILDREN')
            value_ = self.gds_validate_string(value_, node, 'CHILDREN')
            self.CHILDREN = value_
            self.CHILDREN_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DATE')
            ival_ = self.gds_validate_integer(ival_, node, 'DATE')
            self.DATE = ival_
            self.DATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PARENT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PARENT')
            ival_ = self.gds_validate_integer(ival_, node, 'PARENT')
            self.PARENT = ival_
            self.PARENT_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'SIZE')
            self.SIZE = ival_
            self.SIZE_nsprefix_ = child_.prefix
# end class SNAPSHOTType87


class LOCKType88(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, LOCKED=None, OWNER=None, TIME=None, REQ_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.LOCKED = LOCKED
        self.LOCKED_nsprefix_ = None
        self.OWNER = OWNER
        self.OWNER_nsprefix_ = None
        self.TIME = TIME
        self.TIME_nsprefix_ = None
        self.REQ_ID = REQ_ID
        self.REQ_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, LOCKType88)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LOCKType88.subclass:
            return LOCKType88.subclass(*args_, **kwargs_)
        else:
            return LOCKType88(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_LOCKED(self):
        return self.LOCKED
    def set_LOCKED(self, LOCKED):
        self.LOCKED = LOCKED
    def get_OWNER(self):
        return self.OWNER
    def set_OWNER(self, OWNER):
        self.OWNER = OWNER
    def get_TIME(self):
        return self.TIME
    def set_TIME(self, TIME):
        self.TIME = TIME
    def get_REQ_ID(self):
        return self.REQ_ID
    def set_REQ_ID(self, REQ_ID):
        self.REQ_ID = REQ_ID
    def hasContent_(self):
        if (
            self.LOCKED is not None or
            self.OWNER is not None or
            self.TIME is not None or
            self.REQ_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType88', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LOCKType88')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'LOCKType88':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LOCKType88')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LOCKType88', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LOCKType88'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType88', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.LOCKED is not None:
            namespaceprefix_ = self.LOCKED_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCKED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLOCKED>%s</%sLOCKED>%s' % (namespaceprefix_ , self.gds_format_integer(self.LOCKED, input_name='LOCKED'), namespaceprefix_ , eol_))
        if self.OWNER is not None:
            namespaceprefix_ = self.OWNER_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER>%s</%sOWNER>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER, input_name='OWNER'), namespaceprefix_ , eol_))
        if self.TIME is not None:
            namespaceprefix_ = self.TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTIME>%s</%sTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.TIME, input_name='TIME'), namespaceprefix_ , eol_))
        if self.REQ_ID is not None:
            namespaceprefix_ = self.REQ_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.REQ_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREQ_ID>%s</%sREQ_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.REQ_ID, input_name='REQ_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'LOCKED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LOCKED')
            ival_ = self.gds_validate_integer(ival_, node, 'LOCKED')
            self.LOCKED = ival_
            self.LOCKED_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER')
            self.OWNER = ival_
            self.OWNER_nsprefix_ = child_.prefix
        elif nodeName_ == 'TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'TIME')
            self.TIME = ival_
            self.TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'REQ_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REQ_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'REQ_ID')
            self.REQ_ID = ival_
            self.REQ_ID_nsprefix_ = child_.prefix
# end class LOCKType88


class PERMISSIONSType89(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OWNER_U=None, OWNER_M=None, OWNER_A=None, GROUP_U=None, GROUP_M=None, GROUP_A=None, OTHER_U=None, OTHER_M=None, OTHER_A=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OWNER_U = OWNER_U
        self.OWNER_U_nsprefix_ = None
        self.OWNER_M = OWNER_M
        self.OWNER_M_nsprefix_ = None
        self.OWNER_A = OWNER_A
        self.OWNER_A_nsprefix_ = None
        self.GROUP_U = GROUP_U
        self.GROUP_U_nsprefix_ = None
        self.GROUP_M = GROUP_M
        self.GROUP_M_nsprefix_ = None
        self.GROUP_A = GROUP_A
        self.GROUP_A_nsprefix_ = None
        self.OTHER_U = OTHER_U
        self.OTHER_U_nsprefix_ = None
        self.OTHER_M = OTHER_M
        self.OTHER_M_nsprefix_ = None
        self.OTHER_A = OTHER_A
        self.OTHER_A_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PERMISSIONSType89)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONSType89.subclass:
            return PERMISSIONSType89.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONSType89(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OWNER_U(self):
        return self.OWNER_U
    def set_OWNER_U(self, OWNER_U):
        self.OWNER_U = OWNER_U
    def get_OWNER_M(self):
        return self.OWNER_M
    def set_OWNER_M(self, OWNER_M):
        self.OWNER_M = OWNER_M
    def get_OWNER_A(self):
        return self.OWNER_A
    def set_OWNER_A(self, OWNER_A):
        self.OWNER_A = OWNER_A
    def get_GROUP_U(self):
        return self.GROUP_U
    def set_GROUP_U(self, GROUP_U):
        self.GROUP_U = GROUP_U
    def get_GROUP_M(self):
        return self.GROUP_M
    def set_GROUP_M(self, GROUP_M):
        self.GROUP_M = GROUP_M
    def get_GROUP_A(self):
        return self.GROUP_A
    def set_GROUP_A(self, GROUP_A):
        self.GROUP_A = GROUP_A
    def get_OTHER_U(self):
        return self.OTHER_U
    def set_OTHER_U(self, OTHER_U):
        self.OTHER_U = OTHER_U
    def get_OTHER_M(self):
        return self.OTHER_M
    def set_OTHER_M(self, OTHER_M):
        self.OTHER_M = OTHER_M
    def get_OTHER_A(self):
        return self.OTHER_A
    def set_OTHER_A(self, OTHER_A):
        self.OTHER_A = OTHER_A
    def hasContent_(self):
        if (
            self.OWNER_U is not None or
            self.OWNER_M is not None or
            self.OWNER_A is not None or
            self.GROUP_U is not None or
            self.GROUP_M is not None or
            self.GROUP_A is not None or
            self.OTHER_U is not None or
            self.OTHER_M is not None or
            self.OTHER_A is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType89', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONSType89')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PERMISSIONSType89':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PERMISSIONSType89')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONSType89', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PERMISSIONSType89'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType89', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OWNER_U is not None:
            namespaceprefix_ = self.OWNER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_U>%s</%sOWNER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_U, input_name='OWNER_U'), namespaceprefix_ , eol_))
        if self.OWNER_M is not None:
            namespaceprefix_ = self.OWNER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_M>%s</%sOWNER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_M, input_name='OWNER_M'), namespaceprefix_ , eol_))
        if self.OWNER_A is not None:
            namespaceprefix_ = self.OWNER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_A>%s</%sOWNER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_A, input_name='OWNER_A'), namespaceprefix_ , eol_))
        if self.GROUP_U is not None:
            namespaceprefix_ = self.GROUP_U_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_U>%s</%sGROUP_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_U, input_name='GROUP_U'), namespaceprefix_ , eol_))
        if self.GROUP_M is not None:
            namespaceprefix_ = self.GROUP_M_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_M>%s</%sGROUP_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_M, input_name='GROUP_M'), namespaceprefix_ , eol_))
        if self.GROUP_A is not None:
            namespaceprefix_ = self.GROUP_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_A>%s</%sGROUP_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_A, input_name='GROUP_A'), namespaceprefix_ , eol_))
        if self.OTHER_U is not None:
            namespaceprefix_ = self.OTHER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_U>%s</%sOTHER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_U, input_name='OTHER_U'), namespaceprefix_ , eol_))
        if self.OTHER_M is not None:
            namespaceprefix_ = self.OTHER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_M>%s</%sOTHER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_M, input_name='OTHER_M'), namespaceprefix_ , eol_))
        if self.OTHER_A is not None:
            namespaceprefix_ = self.OTHER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_A>%s</%sOTHER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_A, input_name='OTHER_A'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OWNER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_U')
            self.OWNER_U = ival_
            self.OWNER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_M')
            self.OWNER_M = ival_
            self.OWNER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_A')
            self.OWNER_A = ival_
            self.OWNER_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_U')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_U')
            self.GROUP_U = ival_
            self.GROUP_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_M')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_M')
            self.GROUP_M = ival_
            self.GROUP_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_A')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_A')
            self.GROUP_A = ival_
            self.GROUP_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_U')
            self.OTHER_U = ival_
            self.OTHER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_M')
            self.OTHER_M = ival_
            self.OTHER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_A')
            self.OTHER_A = ival_
            self.OTHER_A_nsprefix_ = child_.prefix
# end class PERMISSIONSType89


class TEMPLATEType90(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VCENTER_CCR_REF=None, VCENTER_INSTANCE_ID=None, VCENTER_TEMPLATE_REF=None, anytypeobjs_=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VCENTER_CCR_REF = VCENTER_CCR_REF
        self.VCENTER_CCR_REF_nsprefix_ = None
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
        self.VCENTER_INSTANCE_ID_nsprefix_ = None
        self.VCENTER_TEMPLATE_REF = VCENTER_TEMPLATE_REF
        self.VCENTER_TEMPLATE_REF_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, TEMPLATEType90)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if TEMPLATEType90.subclass:
            return TEMPLATEType90.subclass(*args_, **kwargs_)
        else:
            return TEMPLATEType90(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VCENTER_CCR_REF(self):
        return self.VCENTER_CCR_REF
    def set_VCENTER_CCR_REF(self, VCENTER_CCR_REF):
        self.VCENTER_CCR_REF = VCENTER_CCR_REF
    def get_VCENTER_INSTANCE_ID(self):
        return self.VCENTER_INSTANCE_ID
    def set_VCENTER_INSTANCE_ID(self, VCENTER_INSTANCE_ID):
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
    def get_VCENTER_TEMPLATE_REF(self):
        return self.VCENTER_TEMPLATE_REF
    def set_VCENTER_TEMPLATE_REF(self, VCENTER_TEMPLATE_REF):
        self.VCENTER_TEMPLATE_REF = VCENTER_TEMPLATE_REF
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.VCENTER_CCR_REF is not None or
            self.VCENTER_INSTANCE_ID is not None or
            self.VCENTER_TEMPLATE_REF is not None or
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType90', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('TEMPLATEType90')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'TEMPLATEType90':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TEMPLATEType90')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TEMPLATEType90', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TEMPLATEType90'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType90', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VCENTER_CCR_REF is not None:
            namespaceprefix_ = self.VCENTER_CCR_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_CCR_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_CCR_REF>%s</%sVCENTER_CCR_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_CCR_REF), input_name='VCENTER_CCR_REF')), namespaceprefix_ , eol_))
        if self.VCENTER_INSTANCE_ID is not None:
            namespaceprefix_ = self.VCENTER_INSTANCE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_INSTANCE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_INSTANCE_ID>%s</%sVCENTER_INSTANCE_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_INSTANCE_ID), input_name='VCENTER_INSTANCE_ID')), namespaceprefix_ , eol_))
        if self.VCENTER_TEMPLATE_REF is not None:
            namespaceprefix_ = self.VCENTER_TEMPLATE_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_TEMPLATE_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_TEMPLATE_REF>%s</%sVCENTER_TEMPLATE_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_TEMPLATE_REF), input_name='VCENTER_TEMPLATE_REF')), namespaceprefix_ , eol_))
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VCENTER_CCR_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_CCR_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_CCR_REF')
            self.VCENTER_CCR_REF = value_
            self.VCENTER_CCR_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_INSTANCE_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_INSTANCE_ID')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_INSTANCE_ID')
            self.VCENTER_INSTANCE_ID = value_
            self.VCENTER_INSTANCE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_TEMPLATE_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_TEMPLATE_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_TEMPLATE_REF')
            self.VCENTER_TEMPLATE_REF = value_
            self.VCENTER_TEMPLATE_REF_nsprefix_ = child_.prefix
        else:
            content_ = self.gds_build_any(child_, 'TEMPLATEType90')
            self.add_anytypeobjs_(content_)
# end class TEMPLATEType90


class PERMISSIONSType91(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OWNER_U=None, OWNER_M=None, OWNER_A=None, GROUP_U=None, GROUP_M=None, GROUP_A=None, OTHER_U=None, OTHER_M=None, OTHER_A=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OWNER_U = OWNER_U
        self.OWNER_U_nsprefix_ = None
        self.OWNER_M = OWNER_M
        self.OWNER_M_nsprefix_ = None
        self.OWNER_A = OWNER_A
        self.OWNER_A_nsprefix_ = None
        self.GROUP_U = GROUP_U
        self.GROUP_U_nsprefix_ = None
        self.GROUP_M = GROUP_M
        self.GROUP_M_nsprefix_ = None
        self.GROUP_A = GROUP_A
        self.GROUP_A_nsprefix_ = None
        self.OTHER_U = OTHER_U
        self.OTHER_U_nsprefix_ = None
        self.OTHER_M = OTHER_M
        self.OTHER_M_nsprefix_ = None
        self.OTHER_A = OTHER_A
        self.OTHER_A_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PERMISSIONSType91)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONSType91.subclass:
            return PERMISSIONSType91.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONSType91(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OWNER_U(self):
        return self.OWNER_U
    def set_OWNER_U(self, OWNER_U):
        self.OWNER_U = OWNER_U
    def get_OWNER_M(self):
        return self.OWNER_M
    def set_OWNER_M(self, OWNER_M):
        self.OWNER_M = OWNER_M
    def get_OWNER_A(self):
        return self.OWNER_A
    def set_OWNER_A(self, OWNER_A):
        self.OWNER_A = OWNER_A
    def get_GROUP_U(self):
        return self.GROUP_U
    def set_GROUP_U(self, GROUP_U):
        self.GROUP_U = GROUP_U
    def get_GROUP_M(self):
        return self.GROUP_M
    def set_GROUP_M(self, GROUP_M):
        self.GROUP_M = GROUP_M
    def get_GROUP_A(self):
        return self.GROUP_A
    def set_GROUP_A(self, GROUP_A):
        self.GROUP_A = GROUP_A
    def get_OTHER_U(self):
        return self.OTHER_U
    def set_OTHER_U(self, OTHER_U):
        self.OTHER_U = OTHER_U
    def get_OTHER_M(self):
        return self.OTHER_M
    def set_OTHER_M(self, OTHER_M):
        self.OTHER_M = OTHER_M
    def get_OTHER_A(self):
        return self.OTHER_A
    def set_OTHER_A(self, OTHER_A):
        self.OTHER_A = OTHER_A
    def hasContent_(self):
        if (
            self.OWNER_U is not None or
            self.OWNER_M is not None or
            self.OWNER_A is not None or
            self.GROUP_U is not None or
            self.GROUP_M is not None or
            self.GROUP_A is not None or
            self.OTHER_U is not None or
            self.OTHER_M is not None or
            self.OTHER_A is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType91', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONSType91')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PERMISSIONSType91':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PERMISSIONSType91')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONSType91', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PERMISSIONSType91'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType91', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OWNER_U is not None:
            namespaceprefix_ = self.OWNER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_U>%s</%sOWNER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_U, input_name='OWNER_U'), namespaceprefix_ , eol_))
        if self.OWNER_M is not None:
            namespaceprefix_ = self.OWNER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_M>%s</%sOWNER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_M, input_name='OWNER_M'), namespaceprefix_ , eol_))
        if self.OWNER_A is not None:
            namespaceprefix_ = self.OWNER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_A>%s</%sOWNER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_A, input_name='OWNER_A'), namespaceprefix_ , eol_))
        if self.GROUP_U is not None:
            namespaceprefix_ = self.GROUP_U_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_U>%s</%sGROUP_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_U, input_name='GROUP_U'), namespaceprefix_ , eol_))
        if self.GROUP_M is not None:
            namespaceprefix_ = self.GROUP_M_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_M>%s</%sGROUP_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_M, input_name='GROUP_M'), namespaceprefix_ , eol_))
        if self.GROUP_A is not None:
            namespaceprefix_ = self.GROUP_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_A>%s</%sGROUP_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_A, input_name='GROUP_A'), namespaceprefix_ , eol_))
        if self.OTHER_U is not None:
            namespaceprefix_ = self.OTHER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_U>%s</%sOTHER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_U, input_name='OTHER_U'), namespaceprefix_ , eol_))
        if self.OTHER_M is not None:
            namespaceprefix_ = self.OTHER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_M>%s</%sOTHER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_M, input_name='OTHER_M'), namespaceprefix_ , eol_))
        if self.OTHER_A is not None:
            namespaceprefix_ = self.OTHER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_A>%s</%sOTHER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_A, input_name='OTHER_A'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OWNER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_U')
            self.OWNER_U = ival_
            self.OWNER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_M')
            self.OWNER_M = ival_
            self.OWNER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_A')
            self.OWNER_A = ival_
            self.OWNER_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_U')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_U')
            self.GROUP_U = ival_
            self.GROUP_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_M')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_M')
            self.GROUP_M = ival_
            self.GROUP_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_A')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_A')
            self.GROUP_A = ival_
            self.GROUP_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_U')
            self.OTHER_U = ival_
            self.OTHER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_M')
            self.OTHER_M = ival_
            self.OTHER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_A')
            self.OTHER_A = ival_
            self.OTHER_A_nsprefix_ = child_.prefix
# end class PERMISSIONSType91


class LOCKType92(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, LOCKED=None, OWNER=None, TIME=None, REQ_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.LOCKED = LOCKED
        self.LOCKED_nsprefix_ = None
        self.OWNER = OWNER
        self.OWNER_nsprefix_ = None
        self.TIME = TIME
        self.TIME_nsprefix_ = None
        self.REQ_ID = REQ_ID
        self.REQ_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, LOCKType92)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LOCKType92.subclass:
            return LOCKType92.subclass(*args_, **kwargs_)
        else:
            return LOCKType92(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_LOCKED(self):
        return self.LOCKED
    def set_LOCKED(self, LOCKED):
        self.LOCKED = LOCKED
    def get_OWNER(self):
        return self.OWNER
    def set_OWNER(self, OWNER):
        self.OWNER = OWNER
    def get_TIME(self):
        return self.TIME
    def set_TIME(self, TIME):
        self.TIME = TIME
    def get_REQ_ID(self):
        return self.REQ_ID
    def set_REQ_ID(self, REQ_ID):
        self.REQ_ID = REQ_ID
    def hasContent_(self):
        if (
            self.LOCKED is not None or
            self.OWNER is not None or
            self.TIME is not None or
            self.REQ_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType92', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LOCKType92')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'LOCKType92':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LOCKType92')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LOCKType92', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LOCKType92'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType92', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.LOCKED is not None:
            namespaceprefix_ = self.LOCKED_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCKED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLOCKED>%s</%sLOCKED>%s' % (namespaceprefix_ , self.gds_format_integer(self.LOCKED, input_name='LOCKED'), namespaceprefix_ , eol_))
        if self.OWNER is not None:
            namespaceprefix_ = self.OWNER_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER>%s</%sOWNER>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER, input_name='OWNER'), namespaceprefix_ , eol_))
        if self.TIME is not None:
            namespaceprefix_ = self.TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTIME>%s</%sTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.TIME, input_name='TIME'), namespaceprefix_ , eol_))
        if self.REQ_ID is not None:
            namespaceprefix_ = self.REQ_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.REQ_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREQ_ID>%s</%sREQ_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.REQ_ID, input_name='REQ_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'LOCKED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LOCKED')
            ival_ = self.gds_validate_integer(ival_, node, 'LOCKED')
            self.LOCKED = ival_
            self.LOCKED_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER')
            self.OWNER = ival_
            self.OWNER_nsprefix_ = child_.prefix
        elif nodeName_ == 'TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'TIME')
            self.TIME = ival_
            self.TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'REQ_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REQ_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'REQ_ID')
            self.REQ_ID = ival_
            self.REQ_ID_nsprefix_ = child_.prefix
# end class LOCKType92


class TEMPLATEType93(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DISK=None, anytypeobjs_=None, NIC=None, NIC_ALIAS=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if DISK is None:
            self.DISK = []
        else:
            self.DISK = DISK
        self.DISK_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
        if NIC is None:
            self.NIC = []
        else:
            self.NIC = NIC
        self.NIC_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
        if NIC_ALIAS is None:
            self.NIC_ALIAS = []
        else:
            self.NIC_ALIAS = NIC_ALIAS
        self.NIC_ALIAS_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, TEMPLATEType93)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if TEMPLATEType93.subclass:
            return TEMPLATEType93.subclass(*args_, **kwargs_)
        else:
            return TEMPLATEType93(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_DISK(self):
        return self.DISK
    def set_DISK(self, DISK):
        self.DISK = DISK
    def add_DISK(self, value):
        self.DISK.append(value)
    def insert_DISK_at(self, index, value):
        self.DISK.insert(index, value)
    def replace_DISK_at(self, index, value):
        self.DISK[index] = value
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def get_NIC(self):
        return self.NIC
    def set_NIC(self, NIC):
        self.NIC = NIC
    def add_NIC(self, value):
        self.NIC.append(value)
    def insert_NIC_at(self, index, value):
        self.NIC.insert(index, value)
    def replace_NIC_at(self, index, value):
        self.NIC[index] = value
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def get_NIC_ALIAS(self):
        return self.NIC_ALIAS
    def set_NIC_ALIAS(self, NIC_ALIAS):
        self.NIC_ALIAS = NIC_ALIAS
    def add_NIC_ALIAS(self, value):
        self.NIC_ALIAS.append(value)
    def insert_NIC_ALIAS_at(self, index, value):
        self.NIC_ALIAS.insert(index, value)
    def replace_NIC_ALIAS_at(self, index, value):
        self.NIC_ALIAS[index] = value
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.DISK or
            self.anytypeobjs_ or
            self.NIC or
            self.anytypeobjs_ or
            self.NIC_ALIAS or
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType93', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('TEMPLATEType93')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'TEMPLATEType93':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TEMPLATEType93')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TEMPLATEType93', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TEMPLATEType93'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType93', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DISK_ in self.DISK:
            namespaceprefix_ = self.DISK_nsprefix_ + ':' if (UseCapturedNS_ and self.DISK_nsprefix_) else ''
            DISK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DISK', pretty_print=pretty_print)
        for NIC_ in self.NIC:
            namespaceprefix_ = self.NIC_nsprefix_ + ':' if (UseCapturedNS_ and self.NIC_nsprefix_) else ''
            NIC_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NIC', pretty_print=pretty_print)
        for NIC_ALIAS_ in self.NIC_ALIAS:
            namespaceprefix_ = self.NIC_ALIAS_nsprefix_ + ':' if (UseCapturedNS_ and self.NIC_ALIAS_nsprefix_) else ''
            NIC_ALIAS_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NIC_ALIAS', pretty_print=pretty_print)
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'DISK':
            obj_ = DISKType94.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DISK.append(obj_)
            obj_.original_tagname_ = 'DISK'
        elif nodeName_ == 'NIC':
            obj_ = NICType95.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NIC.append(obj_)
            obj_.original_tagname_ = 'NIC'
        elif nodeName_ == 'NIC_ALIAS':
            obj_ = NIC_ALIASType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.NIC_ALIAS.append(obj_)
            obj_.original_tagname_ = 'NIC_ALIAS'
        else:
            content_ = self.gds_build_any(child_, 'TEMPLATEType93')
            self.add_anytypeobjs_(content_)
# end class TEMPLATEType93


class DISKType94(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VCENTER_DS_REF=None, VCENTER_INSTANCE_ID=None, anytypeobjs_=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VCENTER_DS_REF = VCENTER_DS_REF
        self.VCENTER_DS_REF_nsprefix_ = None
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
        self.VCENTER_INSTANCE_ID_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DISKType94)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DISKType94.subclass:
            return DISKType94.subclass(*args_, **kwargs_)
        else:
            return DISKType94(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VCENTER_DS_REF(self):
        return self.VCENTER_DS_REF
    def set_VCENTER_DS_REF(self, VCENTER_DS_REF):
        self.VCENTER_DS_REF = VCENTER_DS_REF
    def get_VCENTER_INSTANCE_ID(self):
        return self.VCENTER_INSTANCE_ID
    def set_VCENTER_INSTANCE_ID(self, VCENTER_INSTANCE_ID):
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.VCENTER_DS_REF is not None or
            self.VCENTER_INSTANCE_ID is not None or
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DISKType94', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DISKType94')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'DISKType94':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DISKType94')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DISKType94', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DISKType94'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DISKType94', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VCENTER_DS_REF is not None:
            namespaceprefix_ = self.VCENTER_DS_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_DS_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_DS_REF>%s</%sVCENTER_DS_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_DS_REF), input_name='VCENTER_DS_REF')), namespaceprefix_ , eol_))
        if self.VCENTER_INSTANCE_ID is not None:
            namespaceprefix_ = self.VCENTER_INSTANCE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_INSTANCE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_INSTANCE_ID>%s</%sVCENTER_INSTANCE_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_INSTANCE_ID), input_name='VCENTER_INSTANCE_ID')), namespaceprefix_ , eol_))
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VCENTER_DS_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_DS_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_DS_REF')
            self.VCENTER_DS_REF = value_
            self.VCENTER_DS_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_INSTANCE_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_INSTANCE_ID')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_INSTANCE_ID')
            self.VCENTER_INSTANCE_ID = value_
            self.VCENTER_INSTANCE_ID_nsprefix_ = child_.prefix
        else:
            content_ = self.gds_build_any(child_, 'DISKType94')
            self.add_anytypeobjs_(content_)
# end class DISKType94


class NICType95(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, BRIDGE_TYPE=None, anytypeobjs_=None, VCENTER_INSTANCE_ID=None, VCENTER_NET_REF=None, VCENTER_PORTGROUP_TYPE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.BRIDGE_TYPE = BRIDGE_TYPE
        self.BRIDGE_TYPE_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
        self.VCENTER_INSTANCE_ID_nsprefix_ = None
        self.VCENTER_NET_REF = VCENTER_NET_REF
        self.VCENTER_NET_REF_nsprefix_ = None
        self.VCENTER_PORTGROUP_TYPE = VCENTER_PORTGROUP_TYPE
        self.VCENTER_PORTGROUP_TYPE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NICType95)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NICType95.subclass:
            return NICType95.subclass(*args_, **kwargs_)
        else:
            return NICType95(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_BRIDGE_TYPE(self):
        return self.BRIDGE_TYPE
    def set_BRIDGE_TYPE(self, BRIDGE_TYPE):
        self.BRIDGE_TYPE = BRIDGE_TYPE
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def get_VCENTER_INSTANCE_ID(self):
        return self.VCENTER_INSTANCE_ID
    def set_VCENTER_INSTANCE_ID(self, VCENTER_INSTANCE_ID):
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
    def get_VCENTER_NET_REF(self):
        return self.VCENTER_NET_REF
    def set_VCENTER_NET_REF(self, VCENTER_NET_REF):
        self.VCENTER_NET_REF = VCENTER_NET_REF
    def get_VCENTER_PORTGROUP_TYPE(self):
        return self.VCENTER_PORTGROUP_TYPE
    def set_VCENTER_PORTGROUP_TYPE(self, VCENTER_PORTGROUP_TYPE):
        self.VCENTER_PORTGROUP_TYPE = VCENTER_PORTGROUP_TYPE
    def hasContent_(self):
        if (
            self.BRIDGE_TYPE is not None or
            self.anytypeobjs_ or
            self.VCENTER_INSTANCE_ID is not None or
            self.VCENTER_NET_REF is not None or
            self.VCENTER_PORTGROUP_TYPE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NICType95', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NICType95')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NICType95':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NICType95')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NICType95', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NICType95'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NICType95', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.BRIDGE_TYPE is not None:
            namespaceprefix_ = self.BRIDGE_TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.BRIDGE_TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sBRIDGE_TYPE>%s</%sBRIDGE_TYPE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BRIDGE_TYPE), input_name='BRIDGE_TYPE')), namespaceprefix_ , eol_))
        if self.VCENTER_INSTANCE_ID is not None:
            namespaceprefix_ = self.VCENTER_INSTANCE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_INSTANCE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_INSTANCE_ID>%s</%sVCENTER_INSTANCE_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_INSTANCE_ID), input_name='VCENTER_INSTANCE_ID')), namespaceprefix_ , eol_))
        if self.VCENTER_NET_REF is not None:
            namespaceprefix_ = self.VCENTER_NET_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_NET_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_NET_REF>%s</%sVCENTER_NET_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_NET_REF), input_name='VCENTER_NET_REF')), namespaceprefix_ , eol_))
        if self.VCENTER_PORTGROUP_TYPE is not None:
            namespaceprefix_ = self.VCENTER_PORTGROUP_TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_PORTGROUP_TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_PORTGROUP_TYPE>%s</%sVCENTER_PORTGROUP_TYPE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_PORTGROUP_TYPE), input_name='VCENTER_PORTGROUP_TYPE')), namespaceprefix_ , eol_))
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'BRIDGE_TYPE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'BRIDGE_TYPE')
            value_ = self.gds_validate_string(value_, node, 'BRIDGE_TYPE')
            self.BRIDGE_TYPE = value_
            self.BRIDGE_TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_INSTANCE_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_INSTANCE_ID')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_INSTANCE_ID')
            self.VCENTER_INSTANCE_ID = value_
            self.VCENTER_INSTANCE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_NET_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_NET_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_NET_REF')
            self.VCENTER_NET_REF = value_
            self.VCENTER_NET_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_PORTGROUP_TYPE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_PORTGROUP_TYPE')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_PORTGROUP_TYPE')
            self.VCENTER_PORTGROUP_TYPE = value_
            self.VCENTER_PORTGROUP_TYPE_nsprefix_ = child_.prefix
        else:
            content_ = self.gds_build_any(child_, 'NICType95')
            self.add_anytypeobjs_(content_)
# end class NICType95


class NIC_ALIASType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ALIAS_ID=None, PARENT=None, PARENT_ID=None, anytypeobjs_=None, VCENTER_INSTANCE_ID=None, VCENTER_NET_REF=None, VCENTER_PORTGROUP_TYPE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ALIAS_ID = ALIAS_ID
        self.ALIAS_ID_nsprefix_ = None
        self.PARENT = PARENT
        self.PARENT_nsprefix_ = None
        self.PARENT_ID = PARENT_ID
        self.PARENT_ID_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
        self.VCENTER_INSTANCE_ID_nsprefix_ = None
        self.VCENTER_NET_REF = VCENTER_NET_REF
        self.VCENTER_NET_REF_nsprefix_ = None
        self.VCENTER_PORTGROUP_TYPE = VCENTER_PORTGROUP_TYPE
        self.VCENTER_PORTGROUP_TYPE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, NIC_ALIASType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if NIC_ALIASType.subclass:
            return NIC_ALIASType.subclass(*args_, **kwargs_)
        else:
            return NIC_ALIASType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ALIAS_ID(self):
        return self.ALIAS_ID
    def set_ALIAS_ID(self, ALIAS_ID):
        self.ALIAS_ID = ALIAS_ID
    def get_PARENT(self):
        return self.PARENT
    def set_PARENT(self, PARENT):
        self.PARENT = PARENT
    def get_PARENT_ID(self):
        return self.PARENT_ID
    def set_PARENT_ID(self, PARENT_ID):
        self.PARENT_ID = PARENT_ID
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def get_VCENTER_INSTANCE_ID(self):
        return self.VCENTER_INSTANCE_ID
    def set_VCENTER_INSTANCE_ID(self, VCENTER_INSTANCE_ID):
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
    def get_VCENTER_NET_REF(self):
        return self.VCENTER_NET_REF
    def set_VCENTER_NET_REF(self, VCENTER_NET_REF):
        self.VCENTER_NET_REF = VCENTER_NET_REF
    def get_VCENTER_PORTGROUP_TYPE(self):
        return self.VCENTER_PORTGROUP_TYPE
    def set_VCENTER_PORTGROUP_TYPE(self, VCENTER_PORTGROUP_TYPE):
        self.VCENTER_PORTGROUP_TYPE = VCENTER_PORTGROUP_TYPE
    def hasContent_(self):
        if (
            self.ALIAS_ID is not None or
            self.PARENT is not None or
            self.PARENT_ID is not None or
            self.anytypeobjs_ or
            self.VCENTER_INSTANCE_ID is not None or
            self.VCENTER_NET_REF is not None or
            self.VCENTER_PORTGROUP_TYPE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NIC_ALIASType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('NIC_ALIASType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'NIC_ALIASType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NIC_ALIASType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NIC_ALIASType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='NIC_ALIASType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='NIC_ALIASType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ALIAS_ID is not None:
            namespaceprefix_ = self.ALIAS_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ALIAS_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sALIAS_ID>%s</%sALIAS_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ALIAS_ID), input_name='ALIAS_ID')), namespaceprefix_ , eol_))
        if self.PARENT is not None:
            namespaceprefix_ = self.PARENT_nsprefix_ + ':' if (UseCapturedNS_ and self.PARENT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPARENT>%s</%sPARENT>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PARENT), input_name='PARENT')), namespaceprefix_ , eol_))
        if self.PARENT_ID is not None:
            namespaceprefix_ = self.PARENT_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.PARENT_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPARENT_ID>%s</%sPARENT_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PARENT_ID), input_name='PARENT_ID')), namespaceprefix_ , eol_))
        if self.VCENTER_INSTANCE_ID is not None:
            namespaceprefix_ = self.VCENTER_INSTANCE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_INSTANCE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_INSTANCE_ID>%s</%sVCENTER_INSTANCE_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_INSTANCE_ID), input_name='VCENTER_INSTANCE_ID')), namespaceprefix_ , eol_))
        if self.VCENTER_NET_REF is not None:
            namespaceprefix_ = self.VCENTER_NET_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_NET_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_NET_REF>%s</%sVCENTER_NET_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_NET_REF), input_name='VCENTER_NET_REF')), namespaceprefix_ , eol_))
        if self.VCENTER_PORTGROUP_TYPE is not None:
            namespaceprefix_ = self.VCENTER_PORTGROUP_TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_PORTGROUP_TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_PORTGROUP_TYPE>%s</%sVCENTER_PORTGROUP_TYPE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_PORTGROUP_TYPE), input_name='VCENTER_PORTGROUP_TYPE')), namespaceprefix_ , eol_))
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ALIAS_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ALIAS_ID')
            value_ = self.gds_validate_string(value_, node, 'ALIAS_ID')
            self.ALIAS_ID = value_
            self.ALIAS_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'PARENT':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PARENT')
            value_ = self.gds_validate_string(value_, node, 'PARENT')
            self.PARENT = value_
            self.PARENT_nsprefix_ = child_.prefix
        elif nodeName_ == 'PARENT_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PARENT_ID')
            value_ = self.gds_validate_string(value_, node, 'PARENT_ID')
            self.PARENT_ID = value_
            self.PARENT_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_INSTANCE_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_INSTANCE_ID')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_INSTANCE_ID')
            self.VCENTER_INSTANCE_ID = value_
            self.VCENTER_INSTANCE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_NET_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_NET_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_NET_REF')
            self.VCENTER_NET_REF = value_
            self.VCENTER_NET_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_PORTGROUP_TYPE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_PORTGROUP_TYPE')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_PORTGROUP_TYPE')
            self.VCENTER_PORTGROUP_TYPE = value_
            self.VCENTER_PORTGROUP_TYPE_nsprefix_ = child_.prefix
        else:
            content_ = self.gds_build_any(child_, 'NIC_ALIASType')
            self.add_anytypeobjs_(content_)
# end class NIC_ALIASType


class USER_TEMPLATEType96(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VCENTER_CCR_REF=None, VCENTER_DS_REF=None, VCENTER_INSTANCE_ID=None, anytypeobjs_=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VCENTER_CCR_REF = VCENTER_CCR_REF
        self.VCENTER_CCR_REF_nsprefix_ = None
        self.VCENTER_DS_REF = VCENTER_DS_REF
        self.VCENTER_DS_REF_nsprefix_ = None
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
        self.VCENTER_INSTANCE_ID_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, USER_TEMPLATEType96)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if USER_TEMPLATEType96.subclass:
            return USER_TEMPLATEType96.subclass(*args_, **kwargs_)
        else:
            return USER_TEMPLATEType96(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VCENTER_CCR_REF(self):
        return self.VCENTER_CCR_REF
    def set_VCENTER_CCR_REF(self, VCENTER_CCR_REF):
        self.VCENTER_CCR_REF = VCENTER_CCR_REF
    def get_VCENTER_DS_REF(self):
        return self.VCENTER_DS_REF
    def set_VCENTER_DS_REF(self, VCENTER_DS_REF):
        self.VCENTER_DS_REF = VCENTER_DS_REF
    def get_VCENTER_INSTANCE_ID(self):
        return self.VCENTER_INSTANCE_ID
    def set_VCENTER_INSTANCE_ID(self, VCENTER_INSTANCE_ID):
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.VCENTER_CCR_REF is not None or
            self.VCENTER_DS_REF is not None or
            self.VCENTER_INSTANCE_ID is not None or
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USER_TEMPLATEType96', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('USER_TEMPLATEType96')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'USER_TEMPLATEType96':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='USER_TEMPLATEType96')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='USER_TEMPLATEType96', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='USER_TEMPLATEType96'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='USER_TEMPLATEType96', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VCENTER_CCR_REF is not None:
            namespaceprefix_ = self.VCENTER_CCR_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_CCR_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_CCR_REF>%s</%sVCENTER_CCR_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_CCR_REF), input_name='VCENTER_CCR_REF')), namespaceprefix_ , eol_))
        if self.VCENTER_DS_REF is not None:
            namespaceprefix_ = self.VCENTER_DS_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_DS_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_DS_REF>%s</%sVCENTER_DS_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_DS_REF), input_name='VCENTER_DS_REF')), namespaceprefix_ , eol_))
        if self.VCENTER_INSTANCE_ID is not None:
            namespaceprefix_ = self.VCENTER_INSTANCE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_INSTANCE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_INSTANCE_ID>%s</%sVCENTER_INSTANCE_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_INSTANCE_ID), input_name='VCENTER_INSTANCE_ID')), namespaceprefix_ , eol_))
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VCENTER_CCR_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_CCR_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_CCR_REF')
            self.VCENTER_CCR_REF = value_
            self.VCENTER_CCR_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_DS_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_DS_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_DS_REF')
            self.VCENTER_DS_REF = value_
            self.VCENTER_DS_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_INSTANCE_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_INSTANCE_ID')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_INSTANCE_ID')
            self.VCENTER_INSTANCE_ID = value_
            self.VCENTER_INSTANCE_ID_nsprefix_ = child_.prefix
        else:
            content_ = self.gds_build_any(child_, 'USER_TEMPLATEType96')
            self.add_anytypeobjs_(content_)
# end class USER_TEMPLATEType96


class HISTORY_RECORDSType97(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, HISTORY=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if HISTORY is None:
            self.HISTORY = []
        else:
            self.HISTORY = HISTORY
        self.HISTORY_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HISTORY_RECORDSType97)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HISTORY_RECORDSType97.subclass:
            return HISTORY_RECORDSType97.subclass(*args_, **kwargs_)
        else:
            return HISTORY_RECORDSType97(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_HISTORY(self):
        return self.HISTORY
    def set_HISTORY(self, HISTORY):
        self.HISTORY = HISTORY
    def add_HISTORY(self, value):
        self.HISTORY.append(value)
    def insert_HISTORY_at(self, index, value):
        self.HISTORY.insert(index, value)
    def replace_HISTORY_at(self, index, value):
        self.HISTORY[index] = value
    def hasContent_(self):
        if (
            self.HISTORY
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HISTORY_RECORDSType97', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HISTORY_RECORDSType97')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HISTORY_RECORDSType97':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HISTORY_RECORDSType97')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HISTORY_RECORDSType97', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HISTORY_RECORDSType97'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HISTORY_RECORDSType97', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for HISTORY_ in self.HISTORY:
            namespaceprefix_ = self.HISTORY_nsprefix_ + ':' if (UseCapturedNS_ and self.HISTORY_nsprefix_) else ''
            HISTORY_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HISTORY', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'HISTORY':
            obj_ = HISTORYType98.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HISTORY.append(obj_)
            obj_.original_tagname_ = 'HISTORY'
# end class HISTORY_RECORDSType97


class HISTORYType98(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OID=None, SEQ=None, HOSTNAME=None, HID=None, CID=None, STIME=None, ETIME=None, VM_MAD=None, TM_MAD=None, DS_ID=None, PSTIME=None, PETIME=None, RSTIME=None, RETIME=None, ESTIME=None, EETIME=None, ACTION=None, UID=None, GID=None, REQUEST_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OID = OID
        self.OID_nsprefix_ = None
        self.SEQ = SEQ
        self.SEQ_nsprefix_ = None
        self.HOSTNAME = HOSTNAME
        self.HOSTNAME_nsprefix_ = None
        self.HID = HID
        self.HID_nsprefix_ = None
        self.CID = CID
        self.CID_nsprefix_ = None
        self.STIME = STIME
        self.STIME_nsprefix_ = None
        self.ETIME = ETIME
        self.ETIME_nsprefix_ = None
        self.VM_MAD = VM_MAD
        self.VM_MAD_nsprefix_ = None
        self.TM_MAD = TM_MAD
        self.TM_MAD_nsprefix_ = None
        self.DS_ID = DS_ID
        self.DS_ID_nsprefix_ = None
        self.PSTIME = PSTIME
        self.PSTIME_nsprefix_ = None
        self.PETIME = PETIME
        self.PETIME_nsprefix_ = None
        self.RSTIME = RSTIME
        self.RSTIME_nsprefix_ = None
        self.RETIME = RETIME
        self.RETIME_nsprefix_ = None
        self.ESTIME = ESTIME
        self.ESTIME_nsprefix_ = None
        self.EETIME = EETIME
        self.EETIME_nsprefix_ = None
        self.ACTION = ACTION
        self.ACTION_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.REQUEST_ID = REQUEST_ID
        self.REQUEST_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HISTORYType98)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HISTORYType98.subclass:
            return HISTORYType98.subclass(*args_, **kwargs_)
        else:
            return HISTORYType98(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OID(self):
        return self.OID
    def set_OID(self, OID):
        self.OID = OID
    def get_SEQ(self):
        return self.SEQ
    def set_SEQ(self, SEQ):
        self.SEQ = SEQ
    def get_HOSTNAME(self):
        return self.HOSTNAME
    def set_HOSTNAME(self, HOSTNAME):
        self.HOSTNAME = HOSTNAME
    def get_HID(self):
        return self.HID
    def set_HID(self, HID):
        self.HID = HID
    def get_CID(self):
        return self.CID
    def set_CID(self, CID):
        self.CID = CID
    def get_STIME(self):
        return self.STIME
    def set_STIME(self, STIME):
        self.STIME = STIME
    def get_ETIME(self):
        return self.ETIME
    def set_ETIME(self, ETIME):
        self.ETIME = ETIME
    def get_VM_MAD(self):
        return self.VM_MAD
    def set_VM_MAD(self, VM_MAD):
        self.VM_MAD = VM_MAD
    def get_TM_MAD(self):
        return self.TM_MAD
    def set_TM_MAD(self, TM_MAD):
        self.TM_MAD = TM_MAD
    def get_DS_ID(self):
        return self.DS_ID
    def set_DS_ID(self, DS_ID):
        self.DS_ID = DS_ID
    def get_PSTIME(self):
        return self.PSTIME
    def set_PSTIME(self, PSTIME):
        self.PSTIME = PSTIME
    def get_PETIME(self):
        return self.PETIME
    def set_PETIME(self, PETIME):
        self.PETIME = PETIME
    def get_RSTIME(self):
        return self.RSTIME
    def set_RSTIME(self, RSTIME):
        self.RSTIME = RSTIME
    def get_RETIME(self):
        return self.RETIME
    def set_RETIME(self, RETIME):
        self.RETIME = RETIME
    def get_ESTIME(self):
        return self.ESTIME
    def set_ESTIME(self, ESTIME):
        self.ESTIME = ESTIME
    def get_EETIME(self):
        return self.EETIME
    def set_EETIME(self, EETIME):
        self.EETIME = EETIME
    def get_ACTION(self):
        return self.ACTION
    def set_ACTION(self, ACTION):
        self.ACTION = ACTION
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_REQUEST_ID(self):
        return self.REQUEST_ID
    def set_REQUEST_ID(self, REQUEST_ID):
        self.REQUEST_ID = REQUEST_ID
    def hasContent_(self):
        if (
            self.OID is not None or
            self.SEQ is not None or
            self.HOSTNAME is not None or
            self.HID is not None or
            self.CID is not None or
            self.STIME is not None or
            self.ETIME is not None or
            self.VM_MAD is not None or
            self.TM_MAD is not None or
            self.DS_ID is not None or
            self.PSTIME is not None or
            self.PETIME is not None or
            self.RSTIME is not None or
            self.RETIME is not None or
            self.ESTIME is not None or
            self.EETIME is not None or
            self.ACTION is not None or
            self.UID is not None or
            self.GID is not None or
            self.REQUEST_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HISTORYType98', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HISTORYType98')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'HISTORYType98':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='HISTORYType98')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HISTORYType98', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='HISTORYType98'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HISTORYType98', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OID is not None:
            namespaceprefix_ = self.OID_nsprefix_ + ':' if (UseCapturedNS_ and self.OID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOID>%s</%sOID>%s' % (namespaceprefix_ , self.gds_format_integer(self.OID, input_name='OID'), namespaceprefix_ , eol_))
        if self.SEQ is not None:
            namespaceprefix_ = self.SEQ_nsprefix_ + ':' if (UseCapturedNS_ and self.SEQ_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSEQ>%s</%sSEQ>%s' % (namespaceprefix_ , self.gds_format_integer(self.SEQ, input_name='SEQ'), namespaceprefix_ , eol_))
        if self.HOSTNAME is not None:
            namespaceprefix_ = self.HOSTNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.HOSTNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sHOSTNAME>%s</%sHOSTNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.HOSTNAME), input_name='HOSTNAME')), namespaceprefix_ , eol_))
        if self.HID is not None:
            namespaceprefix_ = self.HID_nsprefix_ + ':' if (UseCapturedNS_ and self.HID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sHID>%s</%sHID>%s' % (namespaceprefix_ , self.gds_format_integer(self.HID, input_name='HID'), namespaceprefix_ , eol_))
        if self.CID is not None:
            namespaceprefix_ = self.CID_nsprefix_ + ':' if (UseCapturedNS_ and self.CID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCID>%s</%sCID>%s' % (namespaceprefix_ , self.gds_format_integer(self.CID, input_name='CID'), namespaceprefix_ , eol_))
        if self.STIME is not None:
            namespaceprefix_ = self.STIME_nsprefix_ + ':' if (UseCapturedNS_ and self.STIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTIME>%s</%sSTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.STIME, input_name='STIME'), namespaceprefix_ , eol_))
        if self.ETIME is not None:
            namespaceprefix_ = self.ETIME_nsprefix_ + ':' if (UseCapturedNS_ and self.ETIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sETIME>%s</%sETIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.ETIME, input_name='ETIME'), namespaceprefix_ , eol_))
        if self.VM_MAD is not None:
            namespaceprefix_ = self.VM_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVM_MAD>%s</%sVM_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VM_MAD), input_name='VM_MAD')), namespaceprefix_ , eol_))
        if self.TM_MAD is not None:
            namespaceprefix_ = self.TM_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.TM_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTM_MAD>%s</%sTM_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TM_MAD), input_name='TM_MAD')), namespaceprefix_ , eol_))
        if self.DS_ID is not None:
            namespaceprefix_ = self.DS_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.DS_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDS_ID>%s</%sDS_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.DS_ID, input_name='DS_ID'), namespaceprefix_ , eol_))
        if self.PSTIME is not None:
            namespaceprefix_ = self.PSTIME_nsprefix_ + ':' if (UseCapturedNS_ and self.PSTIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPSTIME>%s</%sPSTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.PSTIME, input_name='PSTIME'), namespaceprefix_ , eol_))
        if self.PETIME is not None:
            namespaceprefix_ = self.PETIME_nsprefix_ + ':' if (UseCapturedNS_ and self.PETIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPETIME>%s</%sPETIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.PETIME, input_name='PETIME'), namespaceprefix_ , eol_))
        if self.RSTIME is not None:
            namespaceprefix_ = self.RSTIME_nsprefix_ + ':' if (UseCapturedNS_ and self.RSTIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRSTIME>%s</%sRSTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.RSTIME, input_name='RSTIME'), namespaceprefix_ , eol_))
        if self.RETIME is not None:
            namespaceprefix_ = self.RETIME_nsprefix_ + ':' if (UseCapturedNS_ and self.RETIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRETIME>%s</%sRETIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.RETIME, input_name='RETIME'), namespaceprefix_ , eol_))
        if self.ESTIME is not None:
            namespaceprefix_ = self.ESTIME_nsprefix_ + ':' if (UseCapturedNS_ and self.ESTIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sESTIME>%s</%sESTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.ESTIME, input_name='ESTIME'), namespaceprefix_ , eol_))
        if self.EETIME is not None:
            namespaceprefix_ = self.EETIME_nsprefix_ + ':' if (UseCapturedNS_ and self.EETIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sEETIME>%s</%sEETIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.EETIME, input_name='EETIME'), namespaceprefix_ , eol_))
        if self.ACTION is not None:
            namespaceprefix_ = self.ACTION_nsprefix_ + ':' if (UseCapturedNS_ and self.ACTION_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sACTION>%s</%sACTION>%s' % (namespaceprefix_ , self.gds_format_integer(self.ACTION, input_name='ACTION'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.REQUEST_ID is not None:
            namespaceprefix_ = self.REQUEST_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.REQUEST_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREQUEST_ID>%s</%sREQUEST_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.REQUEST_ID), input_name='REQUEST_ID')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OID')
            ival_ = self.gds_validate_integer(ival_, node, 'OID')
            self.OID = ival_
            self.OID_nsprefix_ = child_.prefix
        elif nodeName_ == 'SEQ' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SEQ')
            ival_ = self.gds_validate_integer(ival_, node, 'SEQ')
            self.SEQ = ival_
            self.SEQ_nsprefix_ = child_.prefix
        elif nodeName_ == 'HOSTNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'HOSTNAME')
            value_ = self.gds_validate_string(value_, node, 'HOSTNAME')
            self.HOSTNAME = value_
            self.HOSTNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'HID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'HID')
            ival_ = self.gds_validate_integer(ival_, node, 'HID')
            self.HID = ival_
            self.HID_nsprefix_ = child_.prefix
        elif nodeName_ == 'CID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'CID')
            ival_ = self.gds_validate_integer(ival_, node, 'CID')
            self.CID = ival_
            self.CID_nsprefix_ = child_.prefix
        elif nodeName_ == 'STIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STIME')
            ival_ = self.gds_validate_integer(ival_, node, 'STIME')
            self.STIME = ival_
            self.STIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'ETIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ETIME')
            ival_ = self.gds_validate_integer(ival_, node, 'ETIME')
            self.ETIME = ival_
            self.ETIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'VM_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VM_MAD')
            value_ = self.gds_validate_string(value_, node, 'VM_MAD')
            self.VM_MAD = value_
            self.VM_MAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'TM_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TM_MAD')
            value_ = self.gds_validate_string(value_, node, 'TM_MAD')
            self.TM_MAD = value_
            self.TM_MAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'DS_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DS_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'DS_ID')
            self.DS_ID = ival_
            self.DS_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'PSTIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PSTIME')
            ival_ = self.gds_validate_integer(ival_, node, 'PSTIME')
            self.PSTIME = ival_
            self.PSTIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PETIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PETIME')
            ival_ = self.gds_validate_integer(ival_, node, 'PETIME')
            self.PETIME = ival_
            self.PETIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'RSTIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RSTIME')
            ival_ = self.gds_validate_integer(ival_, node, 'RSTIME')
            self.RSTIME = ival_
            self.RSTIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'RETIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RETIME')
            ival_ = self.gds_validate_integer(ival_, node, 'RETIME')
            self.RETIME = ival_
            self.RETIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'ESTIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ESTIME')
            ival_ = self.gds_validate_integer(ival_, node, 'ESTIME')
            self.ESTIME = ival_
            self.ESTIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'EETIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'EETIME')
            ival_ = self.gds_validate_integer(ival_, node, 'EETIME')
            self.EETIME = ival_
            self.EETIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'ACTION' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ACTION')
            ival_ = self.gds_validate_integer(ival_, node, 'ACTION')
            self.ACTION = ival_
            self.ACTION_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'REQUEST_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'REQUEST_ID')
            value_ = self.gds_validate_string(value_, node, 'REQUEST_ID')
            self.REQUEST_ID = value_
            self.REQUEST_ID_nsprefix_ = child_.prefix
# end class HISTORYType98


class SNAPSHOTSType99(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ALLOW_ORPHANS=None, CURRENT_BASE=None, DISK_ID=None, NEXT_SNAPSHOT=None, SNAPSHOT=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ALLOW_ORPHANS = ALLOW_ORPHANS
        self.ALLOW_ORPHANS_nsprefix_ = None
        self.CURRENT_BASE = CURRENT_BASE
        self.CURRENT_BASE_nsprefix_ = None
        self.DISK_ID = DISK_ID
        self.DISK_ID_nsprefix_ = None
        self.NEXT_SNAPSHOT = NEXT_SNAPSHOT
        self.NEXT_SNAPSHOT_nsprefix_ = None
        if SNAPSHOT is None:
            self.SNAPSHOT = []
        else:
            self.SNAPSHOT = SNAPSHOT
        self.SNAPSHOT_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SNAPSHOTSType99)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SNAPSHOTSType99.subclass:
            return SNAPSHOTSType99.subclass(*args_, **kwargs_)
        else:
            return SNAPSHOTSType99(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ALLOW_ORPHANS(self):
        return self.ALLOW_ORPHANS
    def set_ALLOW_ORPHANS(self, ALLOW_ORPHANS):
        self.ALLOW_ORPHANS = ALLOW_ORPHANS
    def get_CURRENT_BASE(self):
        return self.CURRENT_BASE
    def set_CURRENT_BASE(self, CURRENT_BASE):
        self.CURRENT_BASE = CURRENT_BASE
    def get_DISK_ID(self):
        return self.DISK_ID
    def set_DISK_ID(self, DISK_ID):
        self.DISK_ID = DISK_ID
    def get_NEXT_SNAPSHOT(self):
        return self.NEXT_SNAPSHOT
    def set_NEXT_SNAPSHOT(self, NEXT_SNAPSHOT):
        self.NEXT_SNAPSHOT = NEXT_SNAPSHOT
    def get_SNAPSHOT(self):
        return self.SNAPSHOT
    def set_SNAPSHOT(self, SNAPSHOT):
        self.SNAPSHOT = SNAPSHOT
    def add_SNAPSHOT(self, value):
        self.SNAPSHOT.append(value)
    def insert_SNAPSHOT_at(self, index, value):
        self.SNAPSHOT.insert(index, value)
    def replace_SNAPSHOT_at(self, index, value):
        self.SNAPSHOT[index] = value
    def hasContent_(self):
        if (
            self.ALLOW_ORPHANS is not None or
            self.CURRENT_BASE is not None or
            self.DISK_ID is not None or
            self.NEXT_SNAPSHOT is not None or
            self.SNAPSHOT
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTSType99', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SNAPSHOTSType99')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SNAPSHOTSType99':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SNAPSHOTSType99')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SNAPSHOTSType99', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SNAPSHOTSType99'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTSType99', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ALLOW_ORPHANS is not None:
            namespaceprefix_ = self.ALLOW_ORPHANS_nsprefix_ + ':' if (UseCapturedNS_ and self.ALLOW_ORPHANS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sALLOW_ORPHANS>%s</%sALLOW_ORPHANS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ALLOW_ORPHANS), input_name='ALLOW_ORPHANS')), namespaceprefix_ , eol_))
        if self.CURRENT_BASE is not None:
            namespaceprefix_ = self.CURRENT_BASE_nsprefix_ + ':' if (UseCapturedNS_ and self.CURRENT_BASE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCURRENT_BASE>%s</%sCURRENT_BASE>%s' % (namespaceprefix_ , self.gds_format_integer(self.CURRENT_BASE, input_name='CURRENT_BASE'), namespaceprefix_ , eol_))
        if self.DISK_ID is not None:
            namespaceprefix_ = self.DISK_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.DISK_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDISK_ID>%s</%sDISK_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.DISK_ID, input_name='DISK_ID'), namespaceprefix_ , eol_))
        if self.NEXT_SNAPSHOT is not None:
            namespaceprefix_ = self.NEXT_SNAPSHOT_nsprefix_ + ':' if (UseCapturedNS_ and self.NEXT_SNAPSHOT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNEXT_SNAPSHOT>%s</%sNEXT_SNAPSHOT>%s' % (namespaceprefix_ , self.gds_format_integer(self.NEXT_SNAPSHOT, input_name='NEXT_SNAPSHOT'), namespaceprefix_ , eol_))
        for SNAPSHOT_ in self.SNAPSHOT:
            namespaceprefix_ = self.SNAPSHOT_nsprefix_ + ':' if (UseCapturedNS_ and self.SNAPSHOT_nsprefix_) else ''
            SNAPSHOT_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SNAPSHOT', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ALLOW_ORPHANS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ALLOW_ORPHANS')
            value_ = self.gds_validate_string(value_, node, 'ALLOW_ORPHANS')
            self.ALLOW_ORPHANS = value_
            self.ALLOW_ORPHANS_nsprefix_ = child_.prefix
        elif nodeName_ == 'CURRENT_BASE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'CURRENT_BASE')
            ival_ = self.gds_validate_integer(ival_, node, 'CURRENT_BASE')
            self.CURRENT_BASE = ival_
            self.CURRENT_BASE_nsprefix_ = child_.prefix
        elif nodeName_ == 'DISK_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DISK_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'DISK_ID')
            self.DISK_ID = ival_
            self.DISK_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NEXT_SNAPSHOT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'NEXT_SNAPSHOT')
            ival_ = self.gds_validate_integer(ival_, node, 'NEXT_SNAPSHOT')
            self.NEXT_SNAPSHOT = ival_
            self.NEXT_SNAPSHOT_nsprefix_ = child_.prefix
        elif nodeName_ == 'SNAPSHOT':
            obj_ = SNAPSHOTType100.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SNAPSHOT.append(obj_)
            obj_.original_tagname_ = 'SNAPSHOT'
# end class SNAPSHOTSType99


class SNAPSHOTType100(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ACTIVE=None, CHILDREN=None, DATE=None, ID=None, NAME=None, PARENT=None, SIZE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ACTIVE = ACTIVE
        self.ACTIVE_nsprefix_ = None
        self.CHILDREN = CHILDREN
        self.CHILDREN_nsprefix_ = None
        self.DATE = DATE
        self.DATE_nsprefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.PARENT = PARENT
        self.PARENT_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SNAPSHOTType100)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SNAPSHOTType100.subclass:
            return SNAPSHOTType100.subclass(*args_, **kwargs_)
        else:
            return SNAPSHOTType100(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ACTIVE(self):
        return self.ACTIVE
    def set_ACTIVE(self, ACTIVE):
        self.ACTIVE = ACTIVE
    def get_CHILDREN(self):
        return self.CHILDREN
    def set_CHILDREN(self, CHILDREN):
        self.CHILDREN = CHILDREN
    def get_DATE(self):
        return self.DATE
    def set_DATE(self, DATE):
        self.DATE = DATE
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_PARENT(self):
        return self.PARENT
    def set_PARENT(self, PARENT):
        self.PARENT = PARENT
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def hasContent_(self):
        if (
            self.ACTIVE is not None or
            self.CHILDREN is not None or
            self.DATE is not None or
            self.ID is not None or
            self.NAME is not None or
            self.PARENT is not None or
            self.SIZE is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTType100', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SNAPSHOTType100')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SNAPSHOTType100':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SNAPSHOTType100')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SNAPSHOTType100', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SNAPSHOTType100'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SNAPSHOTType100', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ACTIVE is not None:
            namespaceprefix_ = self.ACTIVE_nsprefix_ + ':' if (UseCapturedNS_ and self.ACTIVE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sACTIVE>%s</%sACTIVE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ACTIVE), input_name='ACTIVE')), namespaceprefix_ , eol_))
        if self.CHILDREN is not None:
            namespaceprefix_ = self.CHILDREN_nsprefix_ + ':' if (UseCapturedNS_ and self.CHILDREN_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCHILDREN>%s</%sCHILDREN>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CHILDREN), input_name='CHILDREN')), namespaceprefix_ , eol_))
        if self.DATE is not None:
            namespaceprefix_ = self.DATE_nsprefix_ + ':' if (UseCapturedNS_ and self.DATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDATE>%s</%sDATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.DATE, input_name='DATE'), namespaceprefix_ , eol_))
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.PARENT is not None:
            namespaceprefix_ = self.PARENT_nsprefix_ + ':' if (UseCapturedNS_ and self.PARENT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPARENT>%s</%sPARENT>%s' % (namespaceprefix_ , self.gds_format_integer(self.PARENT, input_name='PARENT'), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.SIZE, input_name='SIZE'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ACTIVE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ACTIVE')
            value_ = self.gds_validate_string(value_, node, 'ACTIVE')
            self.ACTIVE = value_
            self.ACTIVE_nsprefix_ = child_.prefix
        elif nodeName_ == 'CHILDREN':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CHILDREN')
            value_ = self.gds_validate_string(value_, node, 'CHILDREN')
            self.CHILDREN = value_
            self.CHILDREN_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DATE')
            ival_ = self.gds_validate_integer(ival_, node, 'DATE')
            self.DATE = ival_
            self.DATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PARENT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PARENT')
            ival_ = self.gds_validate_integer(ival_, node, 'PARENT')
            self.PARENT = ival_
            self.PARENT_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'SIZE')
            self.SIZE = ival_
            self.SIZE_nsprefix_ = child_.prefix
# end class SNAPSHOTType100


class VNETType101(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, PERMISSIONS=None, CLUSTERS=None, BRIDGE=None, BRIDGE_TYPE=None, PARENT_NETWORK_ID=None, VN_MAD=None, PHYDEV=None, VLAN_ID=None, OUTER_VLAN_ID=None, VLAN_ID_AUTOMATIC=None, OUTER_VLAN_ID_AUTOMATIC=None, USED_LEASES=None, VROUTERS=None, TEMPLATE=None, AR_POOL=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.CLUSTERS = CLUSTERS
        self.CLUSTERS_nsprefix_ = None
        self.BRIDGE = BRIDGE
        self.BRIDGE_nsprefix_ = None
        self.BRIDGE_TYPE = BRIDGE_TYPE
        self.BRIDGE_TYPE_nsprefix_ = None
        self.PARENT_NETWORK_ID = PARENT_NETWORK_ID
        self.PARENT_NETWORK_ID_nsprefix_ = None
        self.VN_MAD = VN_MAD
        self.VN_MAD_nsprefix_ = None
        self.PHYDEV = PHYDEV
        self.PHYDEV_nsprefix_ = None
        self.VLAN_ID = VLAN_ID
        self.VLAN_ID_nsprefix_ = None
        self.OUTER_VLAN_ID = OUTER_VLAN_ID
        self.OUTER_VLAN_ID_nsprefix_ = None
        self.VLAN_ID_AUTOMATIC = VLAN_ID_AUTOMATIC
        self.VLAN_ID_AUTOMATIC_nsprefix_ = None
        self.OUTER_VLAN_ID_AUTOMATIC = OUTER_VLAN_ID_AUTOMATIC
        self.OUTER_VLAN_ID_AUTOMATIC_nsprefix_ = None
        self.USED_LEASES = USED_LEASES
        self.USED_LEASES_nsprefix_ = None
        self.VROUTERS = VROUTERS
        self.VROUTERS_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
        self.AR_POOL = AR_POOL
        self.AR_POOL_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VNETType101)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VNETType101.subclass:
            return VNETType101.subclass(*args_, **kwargs_)
        else:
            return VNETType101(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_PERMISSIONS(self):
        return self.PERMISSIONS
    def set_PERMISSIONS(self, PERMISSIONS):
        self.PERMISSIONS = PERMISSIONS
    def get_CLUSTERS(self):
        return self.CLUSTERS
    def set_CLUSTERS(self, CLUSTERS):
        self.CLUSTERS = CLUSTERS
    def get_BRIDGE(self):
        return self.BRIDGE
    def set_BRIDGE(self, BRIDGE):
        self.BRIDGE = BRIDGE
    def get_BRIDGE_TYPE(self):
        return self.BRIDGE_TYPE
    def set_BRIDGE_TYPE(self, BRIDGE_TYPE):
        self.BRIDGE_TYPE = BRIDGE_TYPE
    def get_PARENT_NETWORK_ID(self):
        return self.PARENT_NETWORK_ID
    def set_PARENT_NETWORK_ID(self, PARENT_NETWORK_ID):
        self.PARENT_NETWORK_ID = PARENT_NETWORK_ID
    def get_VN_MAD(self):
        return self.VN_MAD
    def set_VN_MAD(self, VN_MAD):
        self.VN_MAD = VN_MAD
    def get_PHYDEV(self):
        return self.PHYDEV
    def set_PHYDEV(self, PHYDEV):
        self.PHYDEV = PHYDEV
    def get_VLAN_ID(self):
        return self.VLAN_ID
    def set_VLAN_ID(self, VLAN_ID):
        self.VLAN_ID = VLAN_ID
    def get_OUTER_VLAN_ID(self):
        return self.OUTER_VLAN_ID
    def set_OUTER_VLAN_ID(self, OUTER_VLAN_ID):
        self.OUTER_VLAN_ID = OUTER_VLAN_ID
    def get_VLAN_ID_AUTOMATIC(self):
        return self.VLAN_ID_AUTOMATIC
    def set_VLAN_ID_AUTOMATIC(self, VLAN_ID_AUTOMATIC):
        self.VLAN_ID_AUTOMATIC = VLAN_ID_AUTOMATIC
    def get_OUTER_VLAN_ID_AUTOMATIC(self):
        return self.OUTER_VLAN_ID_AUTOMATIC
    def set_OUTER_VLAN_ID_AUTOMATIC(self, OUTER_VLAN_ID_AUTOMATIC):
        self.OUTER_VLAN_ID_AUTOMATIC = OUTER_VLAN_ID_AUTOMATIC
    def get_USED_LEASES(self):
        return self.USED_LEASES
    def set_USED_LEASES(self, USED_LEASES):
        self.USED_LEASES = USED_LEASES
    def get_VROUTERS(self):
        return self.VROUTERS
    def set_VROUTERS(self, VROUTERS):
        self.VROUTERS = VROUTERS
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def get_AR_POOL(self):
        return self.AR_POOL
    def set_AR_POOL(self, AR_POOL):
        self.AR_POOL = AR_POOL
    def hasContent_(self):
        if (
            self.ID is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.NAME is not None or
            self.PERMISSIONS is not None or
            self.CLUSTERS is not None or
            self.BRIDGE is not None or
            self.BRIDGE_TYPE is not None or
            self.PARENT_NETWORK_ID is not None or
            self.VN_MAD is not None or
            self.PHYDEV is not None or
            self.VLAN_ID is not None or
            self.OUTER_VLAN_ID is not None or
            self.VLAN_ID_AUTOMATIC is not None or
            self.OUTER_VLAN_ID_AUTOMATIC is not None or
            self.USED_LEASES is not None or
            self.VROUTERS is not None or
            self.TEMPLATE is not None or
            self.AR_POOL is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNETType101', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VNETType101')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VNETType101':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VNETType101')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VNETType101', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VNETType101'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VNETType101', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.PERMISSIONS is not None:
            namespaceprefix_ = self.PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.PERMISSIONS_nsprefix_) else ''
            self.PERMISSIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PERMISSIONS', pretty_print=pretty_print)
        if self.CLUSTERS is not None:
            namespaceprefix_ = self.CLUSTERS_nsprefix_ + ':' if (UseCapturedNS_ and self.CLUSTERS_nsprefix_) else ''
            self.CLUSTERS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CLUSTERS', pretty_print=pretty_print)
        if self.BRIDGE is not None:
            namespaceprefix_ = self.BRIDGE_nsprefix_ + ':' if (UseCapturedNS_ and self.BRIDGE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sBRIDGE>%s</%sBRIDGE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BRIDGE), input_name='BRIDGE')), namespaceprefix_ , eol_))
        if self.BRIDGE_TYPE is not None:
            namespaceprefix_ = self.BRIDGE_TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.BRIDGE_TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sBRIDGE_TYPE>%s</%sBRIDGE_TYPE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.BRIDGE_TYPE), input_name='BRIDGE_TYPE')), namespaceprefix_ , eol_))
        if self.PARENT_NETWORK_ID is not None:
            namespaceprefix_ = self.PARENT_NETWORK_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.PARENT_NETWORK_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPARENT_NETWORK_ID>%s</%sPARENT_NETWORK_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PARENT_NETWORK_ID), input_name='PARENT_NETWORK_ID')), namespaceprefix_ , eol_))
        if self.VN_MAD is not None:
            namespaceprefix_ = self.VN_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.VN_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVN_MAD>%s</%sVN_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VN_MAD), input_name='VN_MAD')), namespaceprefix_ , eol_))
        if self.PHYDEV is not None:
            namespaceprefix_ = self.PHYDEV_nsprefix_ + ':' if (UseCapturedNS_ and self.PHYDEV_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPHYDEV>%s</%sPHYDEV>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PHYDEV), input_name='PHYDEV')), namespaceprefix_ , eol_))
        if self.VLAN_ID is not None:
            namespaceprefix_ = self.VLAN_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VLAN_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVLAN_ID>%s</%sVLAN_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VLAN_ID), input_name='VLAN_ID')), namespaceprefix_ , eol_))
        if self.OUTER_VLAN_ID is not None:
            namespaceprefix_ = self.OUTER_VLAN_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.OUTER_VLAN_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOUTER_VLAN_ID>%s</%sOUTER_VLAN_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.OUTER_VLAN_ID), input_name='OUTER_VLAN_ID')), namespaceprefix_ , eol_))
        if self.VLAN_ID_AUTOMATIC is not None:
            namespaceprefix_ = self.VLAN_ID_AUTOMATIC_nsprefix_ + ':' if (UseCapturedNS_ and self.VLAN_ID_AUTOMATIC_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVLAN_ID_AUTOMATIC>%s</%sVLAN_ID_AUTOMATIC>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VLAN_ID_AUTOMATIC), input_name='VLAN_ID_AUTOMATIC')), namespaceprefix_ , eol_))
        if self.OUTER_VLAN_ID_AUTOMATIC is not None:
            namespaceprefix_ = self.OUTER_VLAN_ID_AUTOMATIC_nsprefix_ + ':' if (UseCapturedNS_ and self.OUTER_VLAN_ID_AUTOMATIC_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOUTER_VLAN_ID_AUTOMATIC>%s</%sOUTER_VLAN_ID_AUTOMATIC>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.OUTER_VLAN_ID_AUTOMATIC), input_name='OUTER_VLAN_ID_AUTOMATIC')), namespaceprefix_ , eol_))
        if self.USED_LEASES is not None:
            namespaceprefix_ = self.USED_LEASES_nsprefix_ + ':' if (UseCapturedNS_ and self.USED_LEASES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSED_LEASES>%s</%sUSED_LEASES>%s' % (namespaceprefix_ , self.gds_format_integer(self.USED_LEASES, input_name='USED_LEASES'), namespaceprefix_ , eol_))
        if self.VROUTERS is not None:
            namespaceprefix_ = self.VROUTERS_nsprefix_ + ':' if (UseCapturedNS_ and self.VROUTERS_nsprefix_) else ''
            self.VROUTERS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VROUTERS', pretty_print=pretty_print)
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTEMPLATE>%s</%sTEMPLATE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TEMPLATE), input_name='TEMPLATE')), namespaceprefix_ , eol_))
        if self.AR_POOL is not None:
            namespaceprefix_ = self.AR_POOL_nsprefix_ + ':' if (UseCapturedNS_ and self.AR_POOL_nsprefix_) else ''
            self.AR_POOL.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AR_POOL', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType102.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'CLUSTERS':
            obj_ = CLUSTERSType103.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.CLUSTERS = obj_
            obj_.original_tagname_ = 'CLUSTERS'
        elif nodeName_ == 'BRIDGE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'BRIDGE')
            value_ = self.gds_validate_string(value_, node, 'BRIDGE')
            self.BRIDGE = value_
            self.BRIDGE_nsprefix_ = child_.prefix
        elif nodeName_ == 'BRIDGE_TYPE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'BRIDGE_TYPE')
            value_ = self.gds_validate_string(value_, node, 'BRIDGE_TYPE')
            self.BRIDGE_TYPE = value_
            self.BRIDGE_TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'PARENT_NETWORK_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PARENT_NETWORK_ID')
            value_ = self.gds_validate_string(value_, node, 'PARENT_NETWORK_ID')
            self.PARENT_NETWORK_ID = value_
            self.PARENT_NETWORK_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VN_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VN_MAD')
            value_ = self.gds_validate_string(value_, node, 'VN_MAD')
            self.VN_MAD = value_
            self.VN_MAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'PHYDEV':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PHYDEV')
            value_ = self.gds_validate_string(value_, node, 'PHYDEV')
            self.PHYDEV = value_
            self.PHYDEV_nsprefix_ = child_.prefix
        elif nodeName_ == 'VLAN_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VLAN_ID')
            value_ = self.gds_validate_string(value_, node, 'VLAN_ID')
            self.VLAN_ID = value_
            self.VLAN_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'OUTER_VLAN_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'OUTER_VLAN_ID')
            value_ = self.gds_validate_string(value_, node, 'OUTER_VLAN_ID')
            self.OUTER_VLAN_ID = value_
            self.OUTER_VLAN_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VLAN_ID_AUTOMATIC':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VLAN_ID_AUTOMATIC')
            value_ = self.gds_validate_string(value_, node, 'VLAN_ID_AUTOMATIC')
            self.VLAN_ID_AUTOMATIC = value_
            self.VLAN_ID_AUTOMATIC_nsprefix_ = child_.prefix
        elif nodeName_ == 'OUTER_VLAN_ID_AUTOMATIC':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'OUTER_VLAN_ID_AUTOMATIC')
            value_ = self.gds_validate_string(value_, node, 'OUTER_VLAN_ID_AUTOMATIC')
            self.OUTER_VLAN_ID_AUTOMATIC = value_
            self.OUTER_VLAN_ID_AUTOMATIC_nsprefix_ = child_.prefix
        elif nodeName_ == 'USED_LEASES' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'USED_LEASES')
            ival_ = self.gds_validate_integer(ival_, node, 'USED_LEASES')
            self.USED_LEASES = ival_
            self.USED_LEASES_nsprefix_ = child_.prefix
        elif nodeName_ == 'VROUTERS':
            obj_ = VROUTERSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VROUTERS = obj_
            obj_.original_tagname_ = 'VROUTERS'
        elif nodeName_ == 'TEMPLATE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TEMPLATE')
            value_ = self.gds_validate_string(value_, node, 'TEMPLATE')
            self.TEMPLATE = value_
            self.TEMPLATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'AR_POOL':
            obj_ = AR_POOLType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.AR_POOL = obj_
            obj_.original_tagname_ = 'AR_POOL'
# end class VNETType101


class PERMISSIONSType102(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OWNER_U=None, OWNER_M=None, OWNER_A=None, GROUP_U=None, GROUP_M=None, GROUP_A=None, OTHER_U=None, OTHER_M=None, OTHER_A=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OWNER_U = OWNER_U
        self.OWNER_U_nsprefix_ = None
        self.OWNER_M = OWNER_M
        self.OWNER_M_nsprefix_ = None
        self.OWNER_A = OWNER_A
        self.OWNER_A_nsprefix_ = None
        self.GROUP_U = GROUP_U
        self.GROUP_U_nsprefix_ = None
        self.GROUP_M = GROUP_M
        self.GROUP_M_nsprefix_ = None
        self.GROUP_A = GROUP_A
        self.GROUP_A_nsprefix_ = None
        self.OTHER_U = OTHER_U
        self.OTHER_U_nsprefix_ = None
        self.OTHER_M = OTHER_M
        self.OTHER_M_nsprefix_ = None
        self.OTHER_A = OTHER_A
        self.OTHER_A_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PERMISSIONSType102)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONSType102.subclass:
            return PERMISSIONSType102.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONSType102(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OWNER_U(self):
        return self.OWNER_U
    def set_OWNER_U(self, OWNER_U):
        self.OWNER_U = OWNER_U
    def get_OWNER_M(self):
        return self.OWNER_M
    def set_OWNER_M(self, OWNER_M):
        self.OWNER_M = OWNER_M
    def get_OWNER_A(self):
        return self.OWNER_A
    def set_OWNER_A(self, OWNER_A):
        self.OWNER_A = OWNER_A
    def get_GROUP_U(self):
        return self.GROUP_U
    def set_GROUP_U(self, GROUP_U):
        self.GROUP_U = GROUP_U
    def get_GROUP_M(self):
        return self.GROUP_M
    def set_GROUP_M(self, GROUP_M):
        self.GROUP_M = GROUP_M
    def get_GROUP_A(self):
        return self.GROUP_A
    def set_GROUP_A(self, GROUP_A):
        self.GROUP_A = GROUP_A
    def get_OTHER_U(self):
        return self.OTHER_U
    def set_OTHER_U(self, OTHER_U):
        self.OTHER_U = OTHER_U
    def get_OTHER_M(self):
        return self.OTHER_M
    def set_OTHER_M(self, OTHER_M):
        self.OTHER_M = OTHER_M
    def get_OTHER_A(self):
        return self.OTHER_A
    def set_OTHER_A(self, OTHER_A):
        self.OTHER_A = OTHER_A
    def hasContent_(self):
        if (
            self.OWNER_U is not None or
            self.OWNER_M is not None or
            self.OWNER_A is not None or
            self.GROUP_U is not None or
            self.GROUP_M is not None or
            self.GROUP_A is not None or
            self.OTHER_U is not None or
            self.OTHER_M is not None or
            self.OTHER_A is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType102', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONSType102')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PERMISSIONSType102':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PERMISSIONSType102')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONSType102', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PERMISSIONSType102'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType102', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OWNER_U is not None:
            namespaceprefix_ = self.OWNER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_U>%s</%sOWNER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_U, input_name='OWNER_U'), namespaceprefix_ , eol_))
        if self.OWNER_M is not None:
            namespaceprefix_ = self.OWNER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_M>%s</%sOWNER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_M, input_name='OWNER_M'), namespaceprefix_ , eol_))
        if self.OWNER_A is not None:
            namespaceprefix_ = self.OWNER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_A>%s</%sOWNER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_A, input_name='OWNER_A'), namespaceprefix_ , eol_))
        if self.GROUP_U is not None:
            namespaceprefix_ = self.GROUP_U_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_U>%s</%sGROUP_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_U, input_name='GROUP_U'), namespaceprefix_ , eol_))
        if self.GROUP_M is not None:
            namespaceprefix_ = self.GROUP_M_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_M>%s</%sGROUP_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_M, input_name='GROUP_M'), namespaceprefix_ , eol_))
        if self.GROUP_A is not None:
            namespaceprefix_ = self.GROUP_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_A>%s</%sGROUP_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_A, input_name='GROUP_A'), namespaceprefix_ , eol_))
        if self.OTHER_U is not None:
            namespaceprefix_ = self.OTHER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_U>%s</%sOTHER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_U, input_name='OTHER_U'), namespaceprefix_ , eol_))
        if self.OTHER_M is not None:
            namespaceprefix_ = self.OTHER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_M>%s</%sOTHER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_M, input_name='OTHER_M'), namespaceprefix_ , eol_))
        if self.OTHER_A is not None:
            namespaceprefix_ = self.OTHER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_A>%s</%sOTHER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_A, input_name='OTHER_A'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OWNER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_U')
            self.OWNER_U = ival_
            self.OWNER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_M')
            self.OWNER_M = ival_
            self.OWNER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_A')
            self.OWNER_A = ival_
            self.OWNER_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_U')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_U')
            self.GROUP_U = ival_
            self.GROUP_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_M')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_M')
            self.GROUP_M = ival_
            self.GROUP_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_A')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_A')
            self.GROUP_A = ival_
            self.GROUP_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_U')
            self.OTHER_U = ival_
            self.OTHER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_M')
            self.OTHER_M = ival_
            self.OTHER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_A')
            self.OTHER_A = ival_
            self.OTHER_A_nsprefix_ = child_.prefix
# end class PERMISSIONSType102


class CLUSTERSType103(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, CLUSTERSType103)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if CLUSTERSType103.subclass:
            return CLUSTERSType103.subclass(*args_, **kwargs_)
        else:
            return CLUSTERSType103(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTERSType103', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLUSTERSType103')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'CLUSTERSType103':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLUSTERSType103')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLUSTERSType103', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CLUSTERSType103'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTERSType103', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class CLUSTERSType103


class VROUTERSType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VROUTERSType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VROUTERSType.subclass:
            return VROUTERSType.subclass(*args_, **kwargs_)
        else:
            return VROUTERSType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VROUTERSType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VROUTERSType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VROUTERSType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VROUTERSType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VROUTERSType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VROUTERSType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VROUTERSType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class VROUTERSType


class AR_POOLType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, AR=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if AR is None:
            self.AR = []
        else:
            self.AR = AR
        self.AR_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, AR_POOLType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if AR_POOLType.subclass:
            return AR_POOLType.subclass(*args_, **kwargs_)
        else:
            return AR_POOLType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_AR(self):
        return self.AR
    def set_AR(self, AR):
        self.AR = AR
    def add_AR(self, value):
        self.AR.append(value)
    def insert_AR_at(self, index, value):
        self.AR.insert(index, value)
    def replace_AR_at(self, index, value):
        self.AR[index] = value
    def hasContent_(self):
        if (
            self.AR
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='AR_POOLType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('AR_POOLType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'AR_POOLType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AR_POOLType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AR_POOLType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AR_POOLType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='AR_POOLType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for AR_ in self.AR:
            namespaceprefix_ = self.AR_nsprefix_ + ':' if (UseCapturedNS_ and self.AR_nsprefix_) else ''
            AR_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AR', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'AR':
            obj_ = ARType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.AR.append(obj_)
            obj_.original_tagname_ = 'AR'
# end class AR_POOLType


class ARType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ALLOCATED=None, AR_ID=None, GLOBAL_PREFIX=None, IP=None, MAC=None, PARENT_NETWORK_AR_ID=None, SIZE=None, TYPE=None, ULA_PREFIX=None, VN_MAD=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ALLOCATED = ALLOCATED
        self.ALLOCATED_nsprefix_ = None
        self.AR_ID = AR_ID
        self.AR_ID_nsprefix_ = None
        self.GLOBAL_PREFIX = GLOBAL_PREFIX
        self.GLOBAL_PREFIX_nsprefix_ = None
        self.IP = IP
        self.IP_nsprefix_ = None
        self.MAC = MAC
        self.MAC_nsprefix_ = None
        self.PARENT_NETWORK_AR_ID = PARENT_NETWORK_AR_ID
        self.PARENT_NETWORK_AR_ID_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.TYPE = TYPE
        self.TYPE_nsprefix_ = None
        self.ULA_PREFIX = ULA_PREFIX
        self.ULA_PREFIX_nsprefix_ = None
        self.VN_MAD = VN_MAD
        self.VN_MAD_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, ARType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if ARType.subclass:
            return ARType.subclass(*args_, **kwargs_)
        else:
            return ARType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ALLOCATED(self):
        return self.ALLOCATED
    def set_ALLOCATED(self, ALLOCATED):
        self.ALLOCATED = ALLOCATED
    def get_AR_ID(self):
        return self.AR_ID
    def set_AR_ID(self, AR_ID):
        self.AR_ID = AR_ID
    def get_GLOBAL_PREFIX(self):
        return self.GLOBAL_PREFIX
    def set_GLOBAL_PREFIX(self, GLOBAL_PREFIX):
        self.GLOBAL_PREFIX = GLOBAL_PREFIX
    def get_IP(self):
        return self.IP
    def set_IP(self, IP):
        self.IP = IP
    def get_MAC(self):
        return self.MAC
    def set_MAC(self, MAC):
        self.MAC = MAC
    def get_PARENT_NETWORK_AR_ID(self):
        return self.PARENT_NETWORK_AR_ID
    def set_PARENT_NETWORK_AR_ID(self, PARENT_NETWORK_AR_ID):
        self.PARENT_NETWORK_AR_ID = PARENT_NETWORK_AR_ID
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_TYPE(self):
        return self.TYPE
    def set_TYPE(self, TYPE):
        self.TYPE = TYPE
    def get_ULA_PREFIX(self):
        return self.ULA_PREFIX
    def set_ULA_PREFIX(self, ULA_PREFIX):
        self.ULA_PREFIX = ULA_PREFIX
    def get_VN_MAD(self):
        return self.VN_MAD
    def set_VN_MAD(self, VN_MAD):
        self.VN_MAD = VN_MAD
    def hasContent_(self):
        if (
            self.ALLOCATED is not None or
            self.AR_ID is not None or
            self.GLOBAL_PREFIX is not None or
            self.IP is not None or
            self.MAC is not None or
            self.PARENT_NETWORK_AR_ID is not None or
            self.SIZE is not None or
            self.TYPE is not None or
            self.ULA_PREFIX is not None or
            self.VN_MAD is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ARType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('ARType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'ARType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ARType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ARType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ARType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ARType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ALLOCATED is not None:
            namespaceprefix_ = self.ALLOCATED_nsprefix_ + ':' if (UseCapturedNS_ and self.ALLOCATED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sALLOCATED>%s</%sALLOCATED>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ALLOCATED), input_name='ALLOCATED')), namespaceprefix_ , eol_))
        if self.AR_ID is not None:
            namespaceprefix_ = self.AR_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.AR_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sAR_ID>%s</%sAR_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AR_ID), input_name='AR_ID')), namespaceprefix_ , eol_))
        if self.GLOBAL_PREFIX is not None:
            namespaceprefix_ = self.GLOBAL_PREFIX_nsprefix_ + ':' if (UseCapturedNS_ and self.GLOBAL_PREFIX_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGLOBAL_PREFIX>%s</%sGLOBAL_PREFIX>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GLOBAL_PREFIX), input_name='GLOBAL_PREFIX')), namespaceprefix_ , eol_))
        if self.IP is not None:
            namespaceprefix_ = self.IP_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP>%s</%sIP>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP), input_name='IP')), namespaceprefix_ , eol_))
        if self.MAC is not None:
            namespaceprefix_ = self.MAC_nsprefix_ + ':' if (UseCapturedNS_ and self.MAC_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMAC>%s</%sMAC>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MAC), input_name='MAC')), namespaceprefix_ , eol_))
        if self.PARENT_NETWORK_AR_ID is not None:
            namespaceprefix_ = self.PARENT_NETWORK_AR_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.PARENT_NETWORK_AR_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPARENT_NETWORK_AR_ID>%s</%sPARENT_NETWORK_AR_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PARENT_NETWORK_AR_ID), input_name='PARENT_NETWORK_AR_ID')), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.SIZE, input_name='SIZE'), namespaceprefix_ , eol_))
        if self.TYPE is not None:
            namespaceprefix_ = self.TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTYPE>%s</%sTYPE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TYPE), input_name='TYPE')), namespaceprefix_ , eol_))
        if self.ULA_PREFIX is not None:
            namespaceprefix_ = self.ULA_PREFIX_nsprefix_ + ':' if (UseCapturedNS_ and self.ULA_PREFIX_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sULA_PREFIX>%s</%sULA_PREFIX>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ULA_PREFIX), input_name='ULA_PREFIX')), namespaceprefix_ , eol_))
        if self.VN_MAD is not None:
            namespaceprefix_ = self.VN_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.VN_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVN_MAD>%s</%sVN_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VN_MAD), input_name='VN_MAD')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ALLOCATED':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ALLOCATED')
            value_ = self.gds_validate_string(value_, node, 'ALLOCATED')
            self.ALLOCATED = value_
            self.ALLOCATED_nsprefix_ = child_.prefix
        elif nodeName_ == 'AR_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'AR_ID')
            value_ = self.gds_validate_string(value_, node, 'AR_ID')
            self.AR_ID = value_
            self.AR_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GLOBAL_PREFIX':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GLOBAL_PREFIX')
            value_ = self.gds_validate_string(value_, node, 'GLOBAL_PREFIX')
            self.GLOBAL_PREFIX = value_
            self.GLOBAL_PREFIX_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP')
            value_ = self.gds_validate_string(value_, node, 'IP')
            self.IP = value_
            self.IP_nsprefix_ = child_.prefix
        elif nodeName_ == 'MAC':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MAC')
            value_ = self.gds_validate_string(value_, node, 'MAC')
            self.MAC = value_
            self.MAC_nsprefix_ = child_.prefix
        elif nodeName_ == 'PARENT_NETWORK_AR_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PARENT_NETWORK_AR_ID')
            value_ = self.gds_validate_string(value_, node, 'PARENT_NETWORK_AR_ID')
            self.PARENT_NETWORK_AR_ID = value_
            self.PARENT_NETWORK_AR_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'SIZE')
            self.SIZE = ival_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'TYPE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TYPE')
            value_ = self.gds_validate_string(value_, node, 'TYPE')
            self.TYPE = value_
            self.TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'ULA_PREFIX':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ULA_PREFIX')
            value_ = self.gds_validate_string(value_, node, 'ULA_PREFIX')
            self.ULA_PREFIX = value_
            self.ULA_PREFIX_nsprefix_ = child_.prefix
        elif nodeName_ == 'VN_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VN_MAD')
            value_ = self.gds_validate_string(value_, node, 'VN_MAD')
            self.VN_MAD = value_
            self.VN_MAD_nsprefix_ = child_.prefix
# end class ARType


class LOCKType104(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, LOCKED=None, OWNER=None, TIME=None, REQ_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.LOCKED = LOCKED
        self.LOCKED_nsprefix_ = None
        self.OWNER = OWNER
        self.OWNER_nsprefix_ = None
        self.TIME = TIME
        self.TIME_nsprefix_ = None
        self.REQ_ID = REQ_ID
        self.REQ_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, LOCKType104)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LOCKType104.subclass:
            return LOCKType104.subclass(*args_, **kwargs_)
        else:
            return LOCKType104(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_LOCKED(self):
        return self.LOCKED
    def set_LOCKED(self, LOCKED):
        self.LOCKED = LOCKED
    def get_OWNER(self):
        return self.OWNER
    def set_OWNER(self, OWNER):
        self.OWNER = OWNER
    def get_TIME(self):
        return self.TIME
    def set_TIME(self, TIME):
        self.TIME = TIME
    def get_REQ_ID(self):
        return self.REQ_ID
    def set_REQ_ID(self, REQ_ID):
        self.REQ_ID = REQ_ID
    def hasContent_(self):
        if (
            self.LOCKED is not None or
            self.OWNER is not None or
            self.TIME is not None or
            self.REQ_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType104', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LOCKType104')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'LOCKType104':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LOCKType104')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LOCKType104', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LOCKType104'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType104', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.LOCKED is not None:
            namespaceprefix_ = self.LOCKED_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCKED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLOCKED>%s</%sLOCKED>%s' % (namespaceprefix_ , self.gds_format_integer(self.LOCKED, input_name='LOCKED'), namespaceprefix_ , eol_))
        if self.OWNER is not None:
            namespaceprefix_ = self.OWNER_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER>%s</%sOWNER>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER, input_name='OWNER'), namespaceprefix_ , eol_))
        if self.TIME is not None:
            namespaceprefix_ = self.TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTIME>%s</%sTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.TIME, input_name='TIME'), namespaceprefix_ , eol_))
        if self.REQ_ID is not None:
            namespaceprefix_ = self.REQ_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.REQ_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREQ_ID>%s</%sREQ_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.REQ_ID, input_name='REQ_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'LOCKED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LOCKED')
            ival_ = self.gds_validate_integer(ival_, node, 'LOCKED')
            self.LOCKED = ival_
            self.LOCKED_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER')
            self.OWNER = ival_
            self.OWNER_nsprefix_ = child_.prefix
        elif nodeName_ == 'TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'TIME')
            self.TIME = ival_
            self.TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'REQ_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REQ_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'REQ_ID')
            self.REQ_ID = ival_
            self.REQ_ID_nsprefix_ = child_.prefix
# end class LOCKType104


class PERMISSIONSType105(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OWNER_U=None, OWNER_M=None, OWNER_A=None, GROUP_U=None, GROUP_M=None, GROUP_A=None, OTHER_U=None, OTHER_M=None, OTHER_A=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OWNER_U = OWNER_U
        self.OWNER_U_nsprefix_ = None
        self.OWNER_M = OWNER_M
        self.OWNER_M_nsprefix_ = None
        self.OWNER_A = OWNER_A
        self.OWNER_A_nsprefix_ = None
        self.GROUP_U = GROUP_U
        self.GROUP_U_nsprefix_ = None
        self.GROUP_M = GROUP_M
        self.GROUP_M_nsprefix_ = None
        self.GROUP_A = GROUP_A
        self.GROUP_A_nsprefix_ = None
        self.OTHER_U = OTHER_U
        self.OTHER_U_nsprefix_ = None
        self.OTHER_M = OTHER_M
        self.OTHER_M_nsprefix_ = None
        self.OTHER_A = OTHER_A
        self.OTHER_A_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PERMISSIONSType105)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONSType105.subclass:
            return PERMISSIONSType105.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONSType105(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OWNER_U(self):
        return self.OWNER_U
    def set_OWNER_U(self, OWNER_U):
        self.OWNER_U = OWNER_U
    def get_OWNER_M(self):
        return self.OWNER_M
    def set_OWNER_M(self, OWNER_M):
        self.OWNER_M = OWNER_M
    def get_OWNER_A(self):
        return self.OWNER_A
    def set_OWNER_A(self, OWNER_A):
        self.OWNER_A = OWNER_A
    def get_GROUP_U(self):
        return self.GROUP_U
    def set_GROUP_U(self, GROUP_U):
        self.GROUP_U = GROUP_U
    def get_GROUP_M(self):
        return self.GROUP_M
    def set_GROUP_M(self, GROUP_M):
        self.GROUP_M = GROUP_M
    def get_GROUP_A(self):
        return self.GROUP_A
    def set_GROUP_A(self, GROUP_A):
        self.GROUP_A = GROUP_A
    def get_OTHER_U(self):
        return self.OTHER_U
    def set_OTHER_U(self, OTHER_U):
        self.OTHER_U = OTHER_U
    def get_OTHER_M(self):
        return self.OTHER_M
    def set_OTHER_M(self, OTHER_M):
        self.OTHER_M = OTHER_M
    def get_OTHER_A(self):
        return self.OTHER_A
    def set_OTHER_A(self, OTHER_A):
        self.OTHER_A = OTHER_A
    def hasContent_(self):
        if (
            self.OWNER_U is not None or
            self.OWNER_M is not None or
            self.OWNER_A is not None or
            self.GROUP_U is not None or
            self.GROUP_M is not None or
            self.GROUP_A is not None or
            self.OTHER_U is not None or
            self.OTHER_M is not None or
            self.OTHER_A is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType105', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONSType105')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PERMISSIONSType105':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PERMISSIONSType105')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONSType105', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PERMISSIONSType105'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType105', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OWNER_U is not None:
            namespaceprefix_ = self.OWNER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_U>%s</%sOWNER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_U, input_name='OWNER_U'), namespaceprefix_ , eol_))
        if self.OWNER_M is not None:
            namespaceprefix_ = self.OWNER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_M>%s</%sOWNER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_M, input_name='OWNER_M'), namespaceprefix_ , eol_))
        if self.OWNER_A is not None:
            namespaceprefix_ = self.OWNER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_A>%s</%sOWNER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_A, input_name='OWNER_A'), namespaceprefix_ , eol_))
        if self.GROUP_U is not None:
            namespaceprefix_ = self.GROUP_U_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_U>%s</%sGROUP_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_U, input_name='GROUP_U'), namespaceprefix_ , eol_))
        if self.GROUP_M is not None:
            namespaceprefix_ = self.GROUP_M_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_M>%s</%sGROUP_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_M, input_name='GROUP_M'), namespaceprefix_ , eol_))
        if self.GROUP_A is not None:
            namespaceprefix_ = self.GROUP_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_A>%s</%sGROUP_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_A, input_name='GROUP_A'), namespaceprefix_ , eol_))
        if self.OTHER_U is not None:
            namespaceprefix_ = self.OTHER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_U>%s</%sOTHER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_U, input_name='OTHER_U'), namespaceprefix_ , eol_))
        if self.OTHER_M is not None:
            namespaceprefix_ = self.OTHER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_M>%s</%sOTHER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_M, input_name='OTHER_M'), namespaceprefix_ , eol_))
        if self.OTHER_A is not None:
            namespaceprefix_ = self.OTHER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_A>%s</%sOTHER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_A, input_name='OTHER_A'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OWNER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_U')
            self.OWNER_U = ival_
            self.OWNER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_M')
            self.OWNER_M = ival_
            self.OWNER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_A')
            self.OWNER_A = ival_
            self.OWNER_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_U')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_U')
            self.GROUP_U = ival_
            self.GROUP_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_M')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_M')
            self.GROUP_M = ival_
            self.GROUP_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_A')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_A')
            self.GROUP_A = ival_
            self.GROUP_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_U')
            self.OTHER_U = ival_
            self.OTHER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_M')
            self.OTHER_M = ival_
            self.OTHER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_A')
            self.OTHER_A = ival_
            self.OTHER_A_nsprefix_ = child_.prefix
# end class PERMISSIONSType105


class CLUSTERSType106(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, CLUSTERSType106)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if CLUSTERSType106.subclass:
            return CLUSTERSType106.subclass(*args_, **kwargs_)
        else:
            return CLUSTERSType106(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTERSType106', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLUSTERSType106')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'CLUSTERSType106':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLUSTERSType106')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLUSTERSType106', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CLUSTERSType106'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CLUSTERSType106', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class CLUSTERSType106


class VROUTERSType107(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VROUTERSType107)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VROUTERSType107.subclass:
            return VROUTERSType107.subclass(*args_, **kwargs_)
        else:
            return VROUTERSType107(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VROUTERSType107', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VROUTERSType107')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VROUTERSType107':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VROUTERSType107')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VROUTERSType107', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VROUTERSType107'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VROUTERSType107', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class VROUTERSType107


class TEMPLATEType108(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, CONTEXT_FORCE_IPV4=None, DNS=None, GATEWAY=None, GATEWAY6=None, GUEST_MTU=None, NETWORK_ADDRESS=None, NETWORK_MASK=None, SEARCH_DOMAIN=None, VCENTER_FROM_WILD=None, VCENTER_INSTANCE_ID=None, VCENTER_NET_REF=None, VCENTER_PORTGROUP_TYPE=None, VCENTER_TEMPLATE_REF=None, anytypeobjs_=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.CONTEXT_FORCE_IPV4 = CONTEXT_FORCE_IPV4
        self.CONTEXT_FORCE_IPV4_nsprefix_ = None
        self.DNS = DNS
        self.DNS_nsprefix_ = None
        self.GATEWAY = GATEWAY
        self.GATEWAY_nsprefix_ = None
        self.GATEWAY6 = GATEWAY6
        self.GATEWAY6_nsprefix_ = None
        self.GUEST_MTU = GUEST_MTU
        self.GUEST_MTU_nsprefix_ = None
        self.NETWORK_ADDRESS = NETWORK_ADDRESS
        self.NETWORK_ADDRESS_nsprefix_ = None
        self.NETWORK_MASK = NETWORK_MASK
        self.NETWORK_MASK_nsprefix_ = None
        self.SEARCH_DOMAIN = SEARCH_DOMAIN
        self.SEARCH_DOMAIN_nsprefix_ = None
        self.VCENTER_FROM_WILD = VCENTER_FROM_WILD
        self.VCENTER_FROM_WILD_nsprefix_ = None
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
        self.VCENTER_INSTANCE_ID_nsprefix_ = None
        self.VCENTER_NET_REF = VCENTER_NET_REF
        self.VCENTER_NET_REF_nsprefix_ = None
        self.VCENTER_PORTGROUP_TYPE = VCENTER_PORTGROUP_TYPE
        self.VCENTER_PORTGROUP_TYPE_nsprefix_ = None
        self.VCENTER_TEMPLATE_REF = VCENTER_TEMPLATE_REF
        self.VCENTER_TEMPLATE_REF_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, TEMPLATEType108)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if TEMPLATEType108.subclass:
            return TEMPLATEType108.subclass(*args_, **kwargs_)
        else:
            return TEMPLATEType108(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_CONTEXT_FORCE_IPV4(self):
        return self.CONTEXT_FORCE_IPV4
    def set_CONTEXT_FORCE_IPV4(self, CONTEXT_FORCE_IPV4):
        self.CONTEXT_FORCE_IPV4 = CONTEXT_FORCE_IPV4
    def get_DNS(self):
        return self.DNS
    def set_DNS(self, DNS):
        self.DNS = DNS
    def get_GATEWAY(self):
        return self.GATEWAY
    def set_GATEWAY(self, GATEWAY):
        self.GATEWAY = GATEWAY
    def get_GATEWAY6(self):
        return self.GATEWAY6
    def set_GATEWAY6(self, GATEWAY6):
        self.GATEWAY6 = GATEWAY6
    def get_GUEST_MTU(self):
        return self.GUEST_MTU
    def set_GUEST_MTU(self, GUEST_MTU):
        self.GUEST_MTU = GUEST_MTU
    def get_NETWORK_ADDRESS(self):
        return self.NETWORK_ADDRESS
    def set_NETWORK_ADDRESS(self, NETWORK_ADDRESS):
        self.NETWORK_ADDRESS = NETWORK_ADDRESS
    def get_NETWORK_MASK(self):
        return self.NETWORK_MASK
    def set_NETWORK_MASK(self, NETWORK_MASK):
        self.NETWORK_MASK = NETWORK_MASK
    def get_SEARCH_DOMAIN(self):
        return self.SEARCH_DOMAIN
    def set_SEARCH_DOMAIN(self, SEARCH_DOMAIN):
        self.SEARCH_DOMAIN = SEARCH_DOMAIN
    def get_VCENTER_FROM_WILD(self):
        return self.VCENTER_FROM_WILD
    def set_VCENTER_FROM_WILD(self, VCENTER_FROM_WILD):
        self.VCENTER_FROM_WILD = VCENTER_FROM_WILD
    def get_VCENTER_INSTANCE_ID(self):
        return self.VCENTER_INSTANCE_ID
    def set_VCENTER_INSTANCE_ID(self, VCENTER_INSTANCE_ID):
        self.VCENTER_INSTANCE_ID = VCENTER_INSTANCE_ID
    def get_VCENTER_NET_REF(self):
        return self.VCENTER_NET_REF
    def set_VCENTER_NET_REF(self, VCENTER_NET_REF):
        self.VCENTER_NET_REF = VCENTER_NET_REF
    def get_VCENTER_PORTGROUP_TYPE(self):
        return self.VCENTER_PORTGROUP_TYPE
    def set_VCENTER_PORTGROUP_TYPE(self, VCENTER_PORTGROUP_TYPE):
        self.VCENTER_PORTGROUP_TYPE = VCENTER_PORTGROUP_TYPE
    def get_VCENTER_TEMPLATE_REF(self):
        return self.VCENTER_TEMPLATE_REF
    def set_VCENTER_TEMPLATE_REF(self, VCENTER_TEMPLATE_REF):
        self.VCENTER_TEMPLATE_REF = VCENTER_TEMPLATE_REF
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.CONTEXT_FORCE_IPV4 is not None or
            self.DNS is not None or
            self.GATEWAY is not None or
            self.GATEWAY6 is not None or
            self.GUEST_MTU is not None or
            self.NETWORK_ADDRESS is not None or
            self.NETWORK_MASK is not None or
            self.SEARCH_DOMAIN is not None or
            self.VCENTER_FROM_WILD is not None or
            self.VCENTER_INSTANCE_ID is not None or
            self.VCENTER_NET_REF is not None or
            self.VCENTER_PORTGROUP_TYPE is not None or
            self.VCENTER_TEMPLATE_REF is not None or
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType108', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('TEMPLATEType108')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'TEMPLATEType108':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TEMPLATEType108')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TEMPLATEType108', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TEMPLATEType108'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType108', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.CONTEXT_FORCE_IPV4 is not None:
            namespaceprefix_ = self.CONTEXT_FORCE_IPV4_nsprefix_ + ':' if (UseCapturedNS_ and self.CONTEXT_FORCE_IPV4_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCONTEXT_FORCE_IPV4>%s</%sCONTEXT_FORCE_IPV4>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CONTEXT_FORCE_IPV4), input_name='CONTEXT_FORCE_IPV4')), namespaceprefix_ , eol_))
        if self.DNS is not None:
            namespaceprefix_ = self.DNS_nsprefix_ + ':' if (UseCapturedNS_ and self.DNS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDNS>%s</%sDNS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.DNS), input_name='DNS')), namespaceprefix_ , eol_))
        if self.GATEWAY is not None:
            namespaceprefix_ = self.GATEWAY_nsprefix_ + ':' if (UseCapturedNS_ and self.GATEWAY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGATEWAY>%s</%sGATEWAY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GATEWAY), input_name='GATEWAY')), namespaceprefix_ , eol_))
        if self.GATEWAY6 is not None:
            namespaceprefix_ = self.GATEWAY6_nsprefix_ + ':' if (UseCapturedNS_ and self.GATEWAY6_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGATEWAY6>%s</%sGATEWAY6>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GATEWAY6), input_name='GATEWAY6')), namespaceprefix_ , eol_))
        if self.GUEST_MTU is not None:
            namespaceprefix_ = self.GUEST_MTU_nsprefix_ + ':' if (UseCapturedNS_ and self.GUEST_MTU_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGUEST_MTU>%s</%sGUEST_MTU>%s' % (namespaceprefix_ , self.gds_format_integer(self.GUEST_MTU, input_name='GUEST_MTU'), namespaceprefix_ , eol_))
        if self.NETWORK_ADDRESS is not None:
            namespaceprefix_ = self.NETWORK_ADDRESS_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_ADDRESS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNETWORK_ADDRESS>%s</%sNETWORK_ADDRESS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NETWORK_ADDRESS), input_name='NETWORK_ADDRESS')), namespaceprefix_ , eol_))
        if self.NETWORK_MASK is not None:
            namespaceprefix_ = self.NETWORK_MASK_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_MASK_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNETWORK_MASK>%s</%sNETWORK_MASK>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NETWORK_MASK), input_name='NETWORK_MASK')), namespaceprefix_ , eol_))
        if self.SEARCH_DOMAIN is not None:
            namespaceprefix_ = self.SEARCH_DOMAIN_nsprefix_ + ':' if (UseCapturedNS_ and self.SEARCH_DOMAIN_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSEARCH_DOMAIN>%s</%sSEARCH_DOMAIN>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SEARCH_DOMAIN), input_name='SEARCH_DOMAIN')), namespaceprefix_ , eol_))
        if self.VCENTER_FROM_WILD is not None:
            namespaceprefix_ = self.VCENTER_FROM_WILD_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_FROM_WILD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_FROM_WILD>%s</%sVCENTER_FROM_WILD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_FROM_WILD), input_name='VCENTER_FROM_WILD')), namespaceprefix_ , eol_))
        if self.VCENTER_INSTANCE_ID is not None:
            namespaceprefix_ = self.VCENTER_INSTANCE_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_INSTANCE_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_INSTANCE_ID>%s</%sVCENTER_INSTANCE_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_INSTANCE_ID), input_name='VCENTER_INSTANCE_ID')), namespaceprefix_ , eol_))
        if self.VCENTER_NET_REF is not None:
            namespaceprefix_ = self.VCENTER_NET_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_NET_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_NET_REF>%s</%sVCENTER_NET_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_NET_REF), input_name='VCENTER_NET_REF')), namespaceprefix_ , eol_))
        if self.VCENTER_PORTGROUP_TYPE is not None:
            namespaceprefix_ = self.VCENTER_PORTGROUP_TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_PORTGROUP_TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_PORTGROUP_TYPE>%s</%sVCENTER_PORTGROUP_TYPE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_PORTGROUP_TYPE), input_name='VCENTER_PORTGROUP_TYPE')), namespaceprefix_ , eol_))
        if self.VCENTER_TEMPLATE_REF is not None:
            namespaceprefix_ = self.VCENTER_TEMPLATE_REF_nsprefix_ + ':' if (UseCapturedNS_ and self.VCENTER_TEMPLATE_REF_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVCENTER_TEMPLATE_REF>%s</%sVCENTER_TEMPLATE_REF>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VCENTER_TEMPLATE_REF), input_name='VCENTER_TEMPLATE_REF')), namespaceprefix_ , eol_))
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'CONTEXT_FORCE_IPV4':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CONTEXT_FORCE_IPV4')
            value_ = self.gds_validate_string(value_, node, 'CONTEXT_FORCE_IPV4')
            self.CONTEXT_FORCE_IPV4 = value_
            self.CONTEXT_FORCE_IPV4_nsprefix_ = child_.prefix
        elif nodeName_ == 'DNS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DNS')
            value_ = self.gds_validate_string(value_, node, 'DNS')
            self.DNS = value_
            self.DNS_nsprefix_ = child_.prefix
        elif nodeName_ == 'GATEWAY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GATEWAY')
            value_ = self.gds_validate_string(value_, node, 'GATEWAY')
            self.GATEWAY = value_
            self.GATEWAY_nsprefix_ = child_.prefix
        elif nodeName_ == 'GATEWAY6':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GATEWAY6')
            value_ = self.gds_validate_string(value_, node, 'GATEWAY6')
            self.GATEWAY6 = value_
            self.GATEWAY6_nsprefix_ = child_.prefix
        elif nodeName_ == 'GUEST_MTU' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GUEST_MTU')
            ival_ = self.gds_validate_integer(ival_, node, 'GUEST_MTU')
            self.GUEST_MTU = ival_
            self.GUEST_MTU_nsprefix_ = child_.prefix
        elif nodeName_ == 'NETWORK_ADDRESS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NETWORK_ADDRESS')
            value_ = self.gds_validate_string(value_, node, 'NETWORK_ADDRESS')
            self.NETWORK_ADDRESS = value_
            self.NETWORK_ADDRESS_nsprefix_ = child_.prefix
        elif nodeName_ == 'NETWORK_MASK':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NETWORK_MASK')
            value_ = self.gds_validate_string(value_, node, 'NETWORK_MASK')
            self.NETWORK_MASK = value_
            self.NETWORK_MASK_nsprefix_ = child_.prefix
        elif nodeName_ == 'SEARCH_DOMAIN':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SEARCH_DOMAIN')
            value_ = self.gds_validate_string(value_, node, 'SEARCH_DOMAIN')
            self.SEARCH_DOMAIN = value_
            self.SEARCH_DOMAIN_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_FROM_WILD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_FROM_WILD')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_FROM_WILD')
            self.VCENTER_FROM_WILD = value_
            self.VCENTER_FROM_WILD_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_INSTANCE_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_INSTANCE_ID')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_INSTANCE_ID')
            self.VCENTER_INSTANCE_ID = value_
            self.VCENTER_INSTANCE_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_NET_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_NET_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_NET_REF')
            self.VCENTER_NET_REF = value_
            self.VCENTER_NET_REF_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_PORTGROUP_TYPE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_PORTGROUP_TYPE')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_PORTGROUP_TYPE')
            self.VCENTER_PORTGROUP_TYPE = value_
            self.VCENTER_PORTGROUP_TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'VCENTER_TEMPLATE_REF':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VCENTER_TEMPLATE_REF')
            value_ = self.gds_validate_string(value_, node, 'VCENTER_TEMPLATE_REF')
            self.VCENTER_TEMPLATE_REF = value_
            self.VCENTER_TEMPLATE_REF_nsprefix_ = child_.prefix
        else:
            content_ = self.gds_build_any(child_, 'TEMPLATEType108')
            self.add_anytypeobjs_(content_)
# end class TEMPLATEType108


class AR_POOLType109(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, AR=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if AR is None:
            self.AR = []
        else:
            self.AR = AR
        self.AR_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, AR_POOLType109)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if AR_POOLType109.subclass:
            return AR_POOLType109.subclass(*args_, **kwargs_)
        else:
            return AR_POOLType109(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_AR(self):
        return self.AR
    def set_AR(self, AR):
        self.AR = AR
    def add_AR(self, value):
        self.AR.append(value)
    def insert_AR_at(self, index, value):
        self.AR.insert(index, value)
    def replace_AR_at(self, index, value):
        self.AR[index] = value
    def hasContent_(self):
        if (
            self.AR
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='AR_POOLType109', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('AR_POOLType109')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'AR_POOLType109':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AR_POOLType109')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AR_POOLType109', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AR_POOLType109'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='AR_POOLType109', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for AR_ in self.AR:
            namespaceprefix_ = self.AR_nsprefix_ + ':' if (UseCapturedNS_ and self.AR_nsprefix_) else ''
            AR_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AR', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'AR':
            obj_ = ARType110.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.AR.append(obj_)
            obj_.original_tagname_ = 'AR'
# end class AR_POOLType109


class ARType110(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, AR_ID=None, GLOBAL_PREFIX=None, IP=None, MAC=None, PARENT_NETWORK_AR_ID=None, SIZE=None, TYPE=None, ULA_PREFIX=None, VN_MAD=None, MAC_END=None, IP_END=None, IP6_ULA=None, IP6_ULA_END=None, IP6_GLOBAL=None, IP6_GLOBAL_END=None, IP6=None, IP6_END=None, USED_LEASES=None, LEASES=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.AR_ID = AR_ID
        self.AR_ID_nsprefix_ = None
        self.GLOBAL_PREFIX = GLOBAL_PREFIX
        self.GLOBAL_PREFIX_nsprefix_ = None
        self.IP = IP
        self.IP_nsprefix_ = None
        self.MAC = MAC
        self.MAC_nsprefix_ = None
        self.PARENT_NETWORK_AR_ID = PARENT_NETWORK_AR_ID
        self.PARENT_NETWORK_AR_ID_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.TYPE = TYPE
        self.TYPE_nsprefix_ = None
        self.ULA_PREFIX = ULA_PREFIX
        self.ULA_PREFIX_nsprefix_ = None
        self.VN_MAD = VN_MAD
        self.VN_MAD_nsprefix_ = None
        self.MAC_END = MAC_END
        self.MAC_END_nsprefix_ = None
        self.IP_END = IP_END
        self.IP_END_nsprefix_ = None
        self.IP6_ULA = IP6_ULA
        self.IP6_ULA_nsprefix_ = None
        self.IP6_ULA_END = IP6_ULA_END
        self.IP6_ULA_END_nsprefix_ = None
        self.IP6_GLOBAL = IP6_GLOBAL
        self.IP6_GLOBAL_nsprefix_ = None
        self.IP6_GLOBAL_END = IP6_GLOBAL_END
        self.IP6_GLOBAL_END_nsprefix_ = None
        self.IP6 = IP6
        self.IP6_nsprefix_ = None
        self.IP6_END = IP6_END
        self.IP6_END_nsprefix_ = None
        self.USED_LEASES = USED_LEASES
        self.USED_LEASES_nsprefix_ = None
        self.LEASES = LEASES
        self.LEASES_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, ARType110)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if ARType110.subclass:
            return ARType110.subclass(*args_, **kwargs_)
        else:
            return ARType110(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_AR_ID(self):
        return self.AR_ID
    def set_AR_ID(self, AR_ID):
        self.AR_ID = AR_ID
    def get_GLOBAL_PREFIX(self):
        return self.GLOBAL_PREFIX
    def set_GLOBAL_PREFIX(self, GLOBAL_PREFIX):
        self.GLOBAL_PREFIX = GLOBAL_PREFIX
    def get_IP(self):
        return self.IP
    def set_IP(self, IP):
        self.IP = IP
    def get_MAC(self):
        return self.MAC
    def set_MAC(self, MAC):
        self.MAC = MAC
    def get_PARENT_NETWORK_AR_ID(self):
        return self.PARENT_NETWORK_AR_ID
    def set_PARENT_NETWORK_AR_ID(self, PARENT_NETWORK_AR_ID):
        self.PARENT_NETWORK_AR_ID = PARENT_NETWORK_AR_ID
    def get_SIZE(self):
        return self.SIZE
    def set_SIZE(self, SIZE):
        self.SIZE = SIZE
    def get_TYPE(self):
        return self.TYPE
    def set_TYPE(self, TYPE):
        self.TYPE = TYPE
    def get_ULA_PREFIX(self):
        return self.ULA_PREFIX
    def set_ULA_PREFIX(self, ULA_PREFIX):
        self.ULA_PREFIX = ULA_PREFIX
    def get_VN_MAD(self):
        return self.VN_MAD
    def set_VN_MAD(self, VN_MAD):
        self.VN_MAD = VN_MAD
    def get_MAC_END(self):
        return self.MAC_END
    def set_MAC_END(self, MAC_END):
        self.MAC_END = MAC_END
    def get_IP_END(self):
        return self.IP_END
    def set_IP_END(self, IP_END):
        self.IP_END = IP_END
    def get_IP6_ULA(self):
        return self.IP6_ULA
    def set_IP6_ULA(self, IP6_ULA):
        self.IP6_ULA = IP6_ULA
    def get_IP6_ULA_END(self):
        return self.IP6_ULA_END
    def set_IP6_ULA_END(self, IP6_ULA_END):
        self.IP6_ULA_END = IP6_ULA_END
    def get_IP6_GLOBAL(self):
        return self.IP6_GLOBAL
    def set_IP6_GLOBAL(self, IP6_GLOBAL):
        self.IP6_GLOBAL = IP6_GLOBAL
    def get_IP6_GLOBAL_END(self):
        return self.IP6_GLOBAL_END
    def set_IP6_GLOBAL_END(self, IP6_GLOBAL_END):
        self.IP6_GLOBAL_END = IP6_GLOBAL_END
    def get_IP6(self):
        return self.IP6
    def set_IP6(self, IP6):
        self.IP6 = IP6
    def get_IP6_END(self):
        return self.IP6_END
    def set_IP6_END(self, IP6_END):
        self.IP6_END = IP6_END
    def get_USED_LEASES(self):
        return self.USED_LEASES
    def set_USED_LEASES(self, USED_LEASES):
        self.USED_LEASES = USED_LEASES
    def get_LEASES(self):
        return self.LEASES
    def set_LEASES(self, LEASES):
        self.LEASES = LEASES
    def hasContent_(self):
        if (
            self.AR_ID is not None or
            self.GLOBAL_PREFIX is not None or
            self.IP is not None or
            self.MAC is not None or
            self.PARENT_NETWORK_AR_ID is not None or
            self.SIZE is not None or
            self.TYPE is not None or
            self.ULA_PREFIX is not None or
            self.VN_MAD is not None or
            self.MAC_END is not None or
            self.IP_END is not None or
            self.IP6_ULA is not None or
            self.IP6_ULA_END is not None or
            self.IP6_GLOBAL is not None or
            self.IP6_GLOBAL_END is not None or
            self.IP6 is not None or
            self.IP6_END is not None or
            self.USED_LEASES is not None or
            self.LEASES is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ARType110', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('ARType110')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'ARType110':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ARType110')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ARType110', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ARType110'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ARType110', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.AR_ID is not None:
            namespaceprefix_ = self.AR_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.AR_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sAR_ID>%s</%sAR_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AR_ID), input_name='AR_ID')), namespaceprefix_ , eol_))
        if self.GLOBAL_PREFIX is not None:
            namespaceprefix_ = self.GLOBAL_PREFIX_nsprefix_ + ':' if (UseCapturedNS_ and self.GLOBAL_PREFIX_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGLOBAL_PREFIX>%s</%sGLOBAL_PREFIX>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GLOBAL_PREFIX), input_name='GLOBAL_PREFIX')), namespaceprefix_ , eol_))
        if self.IP is not None:
            namespaceprefix_ = self.IP_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP>%s</%sIP>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP), input_name='IP')), namespaceprefix_ , eol_))
        if self.MAC is not None:
            namespaceprefix_ = self.MAC_nsprefix_ + ':' if (UseCapturedNS_ and self.MAC_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMAC>%s</%sMAC>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MAC), input_name='MAC')), namespaceprefix_ , eol_))
        if self.PARENT_NETWORK_AR_ID is not None:
            namespaceprefix_ = self.PARENT_NETWORK_AR_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.PARENT_NETWORK_AR_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPARENT_NETWORK_AR_ID>%s</%sPARENT_NETWORK_AR_ID>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PARENT_NETWORK_AR_ID), input_name='PARENT_NETWORK_AR_ID')), namespaceprefix_ , eol_))
        if self.SIZE is not None:
            namespaceprefix_ = self.SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSIZE>%s</%sSIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.SIZE, input_name='SIZE'), namespaceprefix_ , eol_))
        if self.TYPE is not None:
            namespaceprefix_ = self.TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTYPE>%s</%sTYPE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TYPE), input_name='TYPE')), namespaceprefix_ , eol_))
        if self.ULA_PREFIX is not None:
            namespaceprefix_ = self.ULA_PREFIX_nsprefix_ + ':' if (UseCapturedNS_ and self.ULA_PREFIX_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sULA_PREFIX>%s</%sULA_PREFIX>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ULA_PREFIX), input_name='ULA_PREFIX')), namespaceprefix_ , eol_))
        if self.VN_MAD is not None:
            namespaceprefix_ = self.VN_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.VN_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVN_MAD>%s</%sVN_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VN_MAD), input_name='VN_MAD')), namespaceprefix_ , eol_))
        if self.MAC_END is not None:
            namespaceprefix_ = self.MAC_END_nsprefix_ + ':' if (UseCapturedNS_ and self.MAC_END_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMAC_END>%s</%sMAC_END>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MAC_END), input_name='MAC_END')), namespaceprefix_ , eol_))
        if self.IP_END is not None:
            namespaceprefix_ = self.IP_END_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_END_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP_END>%s</%sIP_END>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP_END), input_name='IP_END')), namespaceprefix_ , eol_))
        if self.IP6_ULA is not None:
            namespaceprefix_ = self.IP6_ULA_nsprefix_ + ':' if (UseCapturedNS_ and self.IP6_ULA_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP6_ULA>%s</%sIP6_ULA>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP6_ULA), input_name='IP6_ULA')), namespaceprefix_ , eol_))
        if self.IP6_ULA_END is not None:
            namespaceprefix_ = self.IP6_ULA_END_nsprefix_ + ':' if (UseCapturedNS_ and self.IP6_ULA_END_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP6_ULA_END>%s</%sIP6_ULA_END>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP6_ULA_END), input_name='IP6_ULA_END')), namespaceprefix_ , eol_))
        if self.IP6_GLOBAL is not None:
            namespaceprefix_ = self.IP6_GLOBAL_nsprefix_ + ':' if (UseCapturedNS_ and self.IP6_GLOBAL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP6_GLOBAL>%s</%sIP6_GLOBAL>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP6_GLOBAL), input_name='IP6_GLOBAL')), namespaceprefix_ , eol_))
        if self.IP6_GLOBAL_END is not None:
            namespaceprefix_ = self.IP6_GLOBAL_END_nsprefix_ + ':' if (UseCapturedNS_ and self.IP6_GLOBAL_END_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP6_GLOBAL_END>%s</%sIP6_GLOBAL_END>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP6_GLOBAL_END), input_name='IP6_GLOBAL_END')), namespaceprefix_ , eol_))
        if self.IP6 is not None:
            namespaceprefix_ = self.IP6_nsprefix_ + ':' if (UseCapturedNS_ and self.IP6_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP6>%s</%sIP6>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP6), input_name='IP6')), namespaceprefix_ , eol_))
        if self.IP6_END is not None:
            namespaceprefix_ = self.IP6_END_nsprefix_ + ':' if (UseCapturedNS_ and self.IP6_END_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP6_END>%s</%sIP6_END>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP6_END), input_name='IP6_END')), namespaceprefix_ , eol_))
        if self.USED_LEASES is not None:
            namespaceprefix_ = self.USED_LEASES_nsprefix_ + ':' if (UseCapturedNS_ and self.USED_LEASES_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSED_LEASES>%s</%sUSED_LEASES>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.USED_LEASES), input_name='USED_LEASES')), namespaceprefix_ , eol_))
        if self.LEASES is not None:
            namespaceprefix_ = self.LEASES_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASES_nsprefix_) else ''
            self.LEASES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEASES', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'AR_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'AR_ID')
            value_ = self.gds_validate_string(value_, node, 'AR_ID')
            self.AR_ID = value_
            self.AR_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GLOBAL_PREFIX':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GLOBAL_PREFIX')
            value_ = self.gds_validate_string(value_, node, 'GLOBAL_PREFIX')
            self.GLOBAL_PREFIX = value_
            self.GLOBAL_PREFIX_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP')
            value_ = self.gds_validate_string(value_, node, 'IP')
            self.IP = value_
            self.IP_nsprefix_ = child_.prefix
        elif nodeName_ == 'MAC':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MAC')
            value_ = self.gds_validate_string(value_, node, 'MAC')
            self.MAC = value_
            self.MAC_nsprefix_ = child_.prefix
        elif nodeName_ == 'PARENT_NETWORK_AR_ID':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PARENT_NETWORK_AR_ID')
            value_ = self.gds_validate_string(value_, node, 'PARENT_NETWORK_AR_ID')
            self.PARENT_NETWORK_AR_ID = value_
            self.PARENT_NETWORK_AR_ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'SIZE')
            self.SIZE = ival_
            self.SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'TYPE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TYPE')
            value_ = self.gds_validate_string(value_, node, 'TYPE')
            self.TYPE = value_
            self.TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'ULA_PREFIX':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ULA_PREFIX')
            value_ = self.gds_validate_string(value_, node, 'ULA_PREFIX')
            self.ULA_PREFIX = value_
            self.ULA_PREFIX_nsprefix_ = child_.prefix
        elif nodeName_ == 'VN_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VN_MAD')
            value_ = self.gds_validate_string(value_, node, 'VN_MAD')
            self.VN_MAD = value_
            self.VN_MAD_nsprefix_ = child_.prefix
        elif nodeName_ == 'MAC_END':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MAC_END')
            value_ = self.gds_validate_string(value_, node, 'MAC_END')
            self.MAC_END = value_
            self.MAC_END_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP_END':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP_END')
            value_ = self.gds_validate_string(value_, node, 'IP_END')
            self.IP_END = value_
            self.IP_END_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP6_ULA':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP6_ULA')
            value_ = self.gds_validate_string(value_, node, 'IP6_ULA')
            self.IP6_ULA = value_
            self.IP6_ULA_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP6_ULA_END':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP6_ULA_END')
            value_ = self.gds_validate_string(value_, node, 'IP6_ULA_END')
            self.IP6_ULA_END = value_
            self.IP6_ULA_END_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP6_GLOBAL':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP6_GLOBAL')
            value_ = self.gds_validate_string(value_, node, 'IP6_GLOBAL')
            self.IP6_GLOBAL = value_
            self.IP6_GLOBAL_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP6_GLOBAL_END':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP6_GLOBAL_END')
            value_ = self.gds_validate_string(value_, node, 'IP6_GLOBAL_END')
            self.IP6_GLOBAL_END = value_
            self.IP6_GLOBAL_END_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP6':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP6')
            value_ = self.gds_validate_string(value_, node, 'IP6')
            self.IP6 = value_
            self.IP6_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP6_END':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP6_END')
            value_ = self.gds_validate_string(value_, node, 'IP6_END')
            self.IP6_END = value_
            self.IP6_END_nsprefix_ = child_.prefix
        elif nodeName_ == 'USED_LEASES':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'USED_LEASES')
            value_ = self.gds_validate_string(value_, node, 'USED_LEASES')
            self.USED_LEASES = value_
            self.USED_LEASES_nsprefix_ = child_.prefix
        elif nodeName_ == 'LEASES':
            obj_ = LEASESType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LEASES = obj_
            obj_.original_tagname_ = 'LEASES'
# end class ARType110


class LEASESType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, LEASE=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if LEASE is None:
            self.LEASE = []
        else:
            self.LEASE = LEASE
        self.LEASE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, LEASESType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LEASESType.subclass:
            return LEASESType.subclass(*args_, **kwargs_)
        else:
            return LEASESType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_LEASE(self):
        return self.LEASE
    def set_LEASE(self, LEASE):
        self.LEASE = LEASE
    def add_LEASE(self, value):
        self.LEASE.append(value)
    def insert_LEASE_at(self, index, value):
        self.LEASE.insert(index, value)
    def replace_LEASE_at(self, index, value):
        self.LEASE[index] = value
    def hasContent_(self):
        if (
            self.LEASE
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LEASESType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LEASESType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'LEASESType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LEASESType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LEASESType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LEASESType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LEASESType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for LEASE_ in self.LEASE:
            namespaceprefix_ = self.LEASE_nsprefix_ + ':' if (UseCapturedNS_ and self.LEASE_nsprefix_) else ''
            LEASE_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEASE', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'LEASE':
            obj_ = LEASEType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LEASE.append(obj_)
            obj_.original_tagname_ = 'LEASE'
# end class LEASESType


class LEASEType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, IP=None, IP6=None, IP6_GLOBAL=None, IP6_LINK=None, IP6_ULA=None, MAC=None, VM=None, VNET=None, VROUTER=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.IP = IP
        self.IP_nsprefix_ = None
        self.IP6 = IP6
        self.IP6_nsprefix_ = None
        self.IP6_GLOBAL = IP6_GLOBAL
        self.IP6_GLOBAL_nsprefix_ = None
        self.IP6_LINK = IP6_LINK
        self.IP6_LINK_nsprefix_ = None
        self.IP6_ULA = IP6_ULA
        self.IP6_ULA_nsprefix_ = None
        self.MAC = MAC
        self.MAC_nsprefix_ = None
        self.VM = VM
        self.VM_nsprefix_ = None
        self.VNET = VNET
        self.VNET_nsprefix_ = None
        self.VROUTER = VROUTER
        self.VROUTER_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, LEASEType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LEASEType.subclass:
            return LEASEType.subclass(*args_, **kwargs_)
        else:
            return LEASEType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_IP(self):
        return self.IP
    def set_IP(self, IP):
        self.IP = IP
    def get_IP6(self):
        return self.IP6
    def set_IP6(self, IP6):
        self.IP6 = IP6
    def get_IP6_GLOBAL(self):
        return self.IP6_GLOBAL
    def set_IP6_GLOBAL(self, IP6_GLOBAL):
        self.IP6_GLOBAL = IP6_GLOBAL
    def get_IP6_LINK(self):
        return self.IP6_LINK
    def set_IP6_LINK(self, IP6_LINK):
        self.IP6_LINK = IP6_LINK
    def get_IP6_ULA(self):
        return self.IP6_ULA
    def set_IP6_ULA(self, IP6_ULA):
        self.IP6_ULA = IP6_ULA
    def get_MAC(self):
        return self.MAC
    def set_MAC(self, MAC):
        self.MAC = MAC
    def get_VM(self):
        return self.VM
    def set_VM(self, VM):
        self.VM = VM
    def get_VNET(self):
        return self.VNET
    def set_VNET(self, VNET):
        self.VNET = VNET
    def get_VROUTER(self):
        return self.VROUTER
    def set_VROUTER(self, VROUTER):
        self.VROUTER = VROUTER
    def hasContent_(self):
        if (
            self.IP is not None or
            self.IP6 is not None or
            self.IP6_GLOBAL is not None or
            self.IP6_LINK is not None or
            self.IP6_ULA is not None or
            self.MAC is not None or
            self.VM is not None or
            self.VNET is not None or
            self.VROUTER is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LEASEType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LEASEType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'LEASEType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LEASEType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LEASEType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LEASEType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LEASEType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.IP is not None:
            namespaceprefix_ = self.IP_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP>%s</%sIP>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP), input_name='IP')), namespaceprefix_ , eol_))
        if self.IP6 is not None:
            namespaceprefix_ = self.IP6_nsprefix_ + ':' if (UseCapturedNS_ and self.IP6_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP6>%s</%sIP6>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP6), input_name='IP6')), namespaceprefix_ , eol_))
        if self.IP6_GLOBAL is not None:
            namespaceprefix_ = self.IP6_GLOBAL_nsprefix_ + ':' if (UseCapturedNS_ and self.IP6_GLOBAL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP6_GLOBAL>%s</%sIP6_GLOBAL>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP6_GLOBAL), input_name='IP6_GLOBAL')), namespaceprefix_ , eol_))
        if self.IP6_LINK is not None:
            namespaceprefix_ = self.IP6_LINK_nsprefix_ + ':' if (UseCapturedNS_ and self.IP6_LINK_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP6_LINK>%s</%sIP6_LINK>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP6_LINK), input_name='IP6_LINK')), namespaceprefix_ , eol_))
        if self.IP6_ULA is not None:
            namespaceprefix_ = self.IP6_ULA_nsprefix_ + ':' if (UseCapturedNS_ and self.IP6_ULA_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIP6_ULA>%s</%sIP6_ULA>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IP6_ULA), input_name='IP6_ULA')), namespaceprefix_ , eol_))
        if self.MAC is not None:
            namespaceprefix_ = self.MAC_nsprefix_ + ':' if (UseCapturedNS_ and self.MAC_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMAC>%s</%sMAC>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MAC), input_name='MAC')), namespaceprefix_ , eol_))
        if self.VM is not None:
            namespaceprefix_ = self.VM_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVM>%s</%sVM>%s' % (namespaceprefix_ , self.gds_format_integer(self.VM, input_name='VM'), namespaceprefix_ , eol_))
        if self.VNET is not None:
            namespaceprefix_ = self.VNET_nsprefix_ + ':' if (UseCapturedNS_ and self.VNET_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVNET>%s</%sVNET>%s' % (namespaceprefix_ , self.gds_format_integer(self.VNET, input_name='VNET'), namespaceprefix_ , eol_))
        if self.VROUTER is not None:
            namespaceprefix_ = self.VROUTER_nsprefix_ + ':' if (UseCapturedNS_ and self.VROUTER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVROUTER>%s</%sVROUTER>%s' % (namespaceprefix_ , self.gds_format_integer(self.VROUTER, input_name='VROUTER'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'IP':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP')
            value_ = self.gds_validate_string(value_, node, 'IP')
            self.IP = value_
            self.IP_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP6':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP6')
            value_ = self.gds_validate_string(value_, node, 'IP6')
            self.IP6 = value_
            self.IP6_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP6_GLOBAL':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP6_GLOBAL')
            value_ = self.gds_validate_string(value_, node, 'IP6_GLOBAL')
            self.IP6_GLOBAL = value_
            self.IP6_GLOBAL_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP6_LINK':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP6_LINK')
            value_ = self.gds_validate_string(value_, node, 'IP6_LINK')
            self.IP6_LINK = value_
            self.IP6_LINK_nsprefix_ = child_.prefix
        elif nodeName_ == 'IP6_ULA':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IP6_ULA')
            value_ = self.gds_validate_string(value_, node, 'IP6_ULA')
            self.IP6_ULA = value_
            self.IP6_ULA_nsprefix_ = child_.prefix
        elif nodeName_ == 'MAC':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MAC')
            value_ = self.gds_validate_string(value_, node, 'MAC')
            self.MAC = value_
            self.MAC_nsprefix_ = child_.prefix
        elif nodeName_ == 'VM' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'VM')
            ival_ = self.gds_validate_integer(ival_, node, 'VM')
            self.VM = ival_
            self.VM_nsprefix_ = child_.prefix
        elif nodeName_ == 'VNET' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'VNET')
            ival_ = self.gds_validate_integer(ival_, node, 'VNET')
            self.VNET = ival_
            self.VNET_nsprefix_ = child_.prefix
        elif nodeName_ == 'VROUTER' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'VROUTER')
            ival_ = self.gds_validate_integer(ival_, node, 'VROUTER')
            self.VROUTER = ival_
            self.VROUTER_nsprefix_ = child_.prefix
# end class LEASEType


class LOCKType111(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, LOCKED=None, OWNER=None, TIME=None, REQ_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.LOCKED = LOCKED
        self.LOCKED_nsprefix_ = None
        self.OWNER = OWNER
        self.OWNER_nsprefix_ = None
        self.TIME = TIME
        self.TIME_nsprefix_ = None
        self.REQ_ID = REQ_ID
        self.REQ_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, LOCKType111)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LOCKType111.subclass:
            return LOCKType111.subclass(*args_, **kwargs_)
        else:
            return LOCKType111(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_LOCKED(self):
        return self.LOCKED
    def set_LOCKED(self, LOCKED):
        self.LOCKED = LOCKED
    def get_OWNER(self):
        return self.OWNER
    def set_OWNER(self, OWNER):
        self.OWNER = OWNER
    def get_TIME(self):
        return self.TIME
    def set_TIME(self, TIME):
        self.TIME = TIME
    def get_REQ_ID(self):
        return self.REQ_ID
    def set_REQ_ID(self, REQ_ID):
        self.REQ_ID = REQ_ID
    def hasContent_(self):
        if (
            self.LOCKED is not None or
            self.OWNER is not None or
            self.TIME is not None or
            self.REQ_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType111', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LOCKType111')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'LOCKType111':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LOCKType111')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LOCKType111', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LOCKType111'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType111', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.LOCKED is not None:
            namespaceprefix_ = self.LOCKED_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCKED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLOCKED>%s</%sLOCKED>%s' % (namespaceprefix_ , self.gds_format_integer(self.LOCKED, input_name='LOCKED'), namespaceprefix_ , eol_))
        if self.OWNER is not None:
            namespaceprefix_ = self.OWNER_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER>%s</%sOWNER>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER, input_name='OWNER'), namespaceprefix_ , eol_))
        if self.TIME is not None:
            namespaceprefix_ = self.TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTIME>%s</%sTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.TIME, input_name='TIME'), namespaceprefix_ , eol_))
        if self.REQ_ID is not None:
            namespaceprefix_ = self.REQ_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.REQ_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREQ_ID>%s</%sREQ_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.REQ_ID, input_name='REQ_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'LOCKED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LOCKED')
            ival_ = self.gds_validate_integer(ival_, node, 'LOCKED')
            self.LOCKED = ival_
            self.LOCKED_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER')
            self.OWNER = ival_
            self.OWNER_nsprefix_ = child_.prefix
        elif nodeName_ == 'TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'TIME')
            self.TIME = ival_
            self.TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'REQ_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REQ_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'REQ_ID')
            self.REQ_ID = ival_
            self.REQ_ID_nsprefix_ = child_.prefix
# end class LOCKType111


class PERMISSIONSType112(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OWNER_U=None, OWNER_M=None, OWNER_A=None, GROUP_U=None, GROUP_M=None, GROUP_A=None, OTHER_U=None, OTHER_M=None, OTHER_A=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OWNER_U = OWNER_U
        self.OWNER_U_nsprefix_ = None
        self.OWNER_M = OWNER_M
        self.OWNER_M_nsprefix_ = None
        self.OWNER_A = OWNER_A
        self.OWNER_A_nsprefix_ = None
        self.GROUP_U = GROUP_U
        self.GROUP_U_nsprefix_ = None
        self.GROUP_M = GROUP_M
        self.GROUP_M_nsprefix_ = None
        self.GROUP_A = GROUP_A
        self.GROUP_A_nsprefix_ = None
        self.OTHER_U = OTHER_U
        self.OTHER_U_nsprefix_ = None
        self.OTHER_M = OTHER_M
        self.OTHER_M_nsprefix_ = None
        self.OTHER_A = OTHER_A
        self.OTHER_A_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PERMISSIONSType112)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONSType112.subclass:
            return PERMISSIONSType112.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONSType112(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OWNER_U(self):
        return self.OWNER_U
    def set_OWNER_U(self, OWNER_U):
        self.OWNER_U = OWNER_U
    def get_OWNER_M(self):
        return self.OWNER_M
    def set_OWNER_M(self, OWNER_M):
        self.OWNER_M = OWNER_M
    def get_OWNER_A(self):
        return self.OWNER_A
    def set_OWNER_A(self, OWNER_A):
        self.OWNER_A = OWNER_A
    def get_GROUP_U(self):
        return self.GROUP_U
    def set_GROUP_U(self, GROUP_U):
        self.GROUP_U = GROUP_U
    def get_GROUP_M(self):
        return self.GROUP_M
    def set_GROUP_M(self, GROUP_M):
        self.GROUP_M = GROUP_M
    def get_GROUP_A(self):
        return self.GROUP_A
    def set_GROUP_A(self, GROUP_A):
        self.GROUP_A = GROUP_A
    def get_OTHER_U(self):
        return self.OTHER_U
    def set_OTHER_U(self, OTHER_U):
        self.OTHER_U = OTHER_U
    def get_OTHER_M(self):
        return self.OTHER_M
    def set_OTHER_M(self, OTHER_M):
        self.OTHER_M = OTHER_M
    def get_OTHER_A(self):
        return self.OTHER_A
    def set_OTHER_A(self, OTHER_A):
        self.OTHER_A = OTHER_A
    def hasContent_(self):
        if (
            self.OWNER_U is not None or
            self.OWNER_M is not None or
            self.OWNER_A is not None or
            self.GROUP_U is not None or
            self.GROUP_M is not None or
            self.GROUP_A is not None or
            self.OTHER_U is not None or
            self.OTHER_M is not None or
            self.OTHER_A is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType112', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONSType112')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PERMISSIONSType112':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PERMISSIONSType112')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONSType112', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PERMISSIONSType112'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType112', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OWNER_U is not None:
            namespaceprefix_ = self.OWNER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_U>%s</%sOWNER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_U, input_name='OWNER_U'), namespaceprefix_ , eol_))
        if self.OWNER_M is not None:
            namespaceprefix_ = self.OWNER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_M>%s</%sOWNER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_M, input_name='OWNER_M'), namespaceprefix_ , eol_))
        if self.OWNER_A is not None:
            namespaceprefix_ = self.OWNER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_A>%s</%sOWNER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_A, input_name='OWNER_A'), namespaceprefix_ , eol_))
        if self.GROUP_U is not None:
            namespaceprefix_ = self.GROUP_U_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_U>%s</%sGROUP_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_U, input_name='GROUP_U'), namespaceprefix_ , eol_))
        if self.GROUP_M is not None:
            namespaceprefix_ = self.GROUP_M_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_M>%s</%sGROUP_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_M, input_name='GROUP_M'), namespaceprefix_ , eol_))
        if self.GROUP_A is not None:
            namespaceprefix_ = self.GROUP_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_A>%s</%sGROUP_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_A, input_name='GROUP_A'), namespaceprefix_ , eol_))
        if self.OTHER_U is not None:
            namespaceprefix_ = self.OTHER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_U>%s</%sOTHER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_U, input_name='OTHER_U'), namespaceprefix_ , eol_))
        if self.OTHER_M is not None:
            namespaceprefix_ = self.OTHER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_M>%s</%sOTHER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_M, input_name='OTHER_M'), namespaceprefix_ , eol_))
        if self.OTHER_A is not None:
            namespaceprefix_ = self.OTHER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_A>%s</%sOTHER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_A, input_name='OTHER_A'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OWNER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_U')
            self.OWNER_U = ival_
            self.OWNER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_M')
            self.OWNER_M = ival_
            self.OWNER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_A')
            self.OWNER_A = ival_
            self.OWNER_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_U')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_U')
            self.GROUP_U = ival_
            self.GROUP_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_M')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_M')
            self.GROUP_M = ival_
            self.GROUP_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_A')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_A')
            self.GROUP_A = ival_
            self.GROUP_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_U')
            self.OTHER_U = ival_
            self.OTHER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_M')
            self.OTHER_M = ival_
            self.OTHER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_A')
            self.OTHER_A = ival_
            self.OTHER_A_nsprefix_ = child_.prefix
# end class PERMISSIONSType112


class TEMPLATEType113(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VN_MAD=None, anytypeobjs_=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VN_MAD = VN_MAD
        self.VN_MAD_nsprefix_ = None
        if anytypeobjs_ is None:
            self.anytypeobjs_ = []
        else:
            self.anytypeobjs_ = anytypeobjs_
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, TEMPLATEType113)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if TEMPLATEType113.subclass:
            return TEMPLATEType113.subclass(*args_, **kwargs_)
        else:
            return TEMPLATEType113(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VN_MAD(self):
        return self.VN_MAD
    def set_VN_MAD(self, VN_MAD):
        self.VN_MAD = VN_MAD
    def get_anytypeobjs_(self): return self.anytypeobjs_
    def set_anytypeobjs_(self, anytypeobjs_): self.anytypeobjs_ = anytypeobjs_
    def add_anytypeobjs_(self, value): self.anytypeobjs_.append(value)
    def insert_anytypeobjs_(self, index, value): self._anytypeobjs_[index] = value
    def hasContent_(self):
        if (
            self.VN_MAD is not None or
            self.anytypeobjs_
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType113', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('TEMPLATEType113')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'TEMPLATEType113':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TEMPLATEType113')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TEMPLATEType113', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TEMPLATEType113'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType113', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VN_MAD is not None:
            namespaceprefix_ = self.VN_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.VN_MAD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVN_MAD>%s</%sVN_MAD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VN_MAD), input_name='VN_MAD')), namespaceprefix_ , eol_))
        if not fromsubclass_:
            for obj_ in self.anytypeobjs_:
                showIndent(outfile, level, pretty_print)
                outfile.write(obj_)
                outfile.write('\n')
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VN_MAD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VN_MAD')
            value_ = self.gds_validate_string(value_, node, 'VN_MAD')
            self.VN_MAD = value_
            self.VN_MAD_nsprefix_ = child_.prefix
        else:
            content_ = self.gds_build_any(child_, 'TEMPLATEType113')
            self.add_anytypeobjs_(content_)
# end class TEMPLATEType113


class PERMISSIONSType114(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, OWNER_U=None, OWNER_M=None, OWNER_A=None, GROUP_U=None, GROUP_M=None, GROUP_A=None, OTHER_U=None, OTHER_M=None, OTHER_A=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.OWNER_U = OWNER_U
        self.OWNER_U_nsprefix_ = None
        self.OWNER_M = OWNER_M
        self.OWNER_M_nsprefix_ = None
        self.OWNER_A = OWNER_A
        self.OWNER_A_nsprefix_ = None
        self.GROUP_U = GROUP_U
        self.GROUP_U_nsprefix_ = None
        self.GROUP_M = GROUP_M
        self.GROUP_M_nsprefix_ = None
        self.GROUP_A = GROUP_A
        self.GROUP_A_nsprefix_ = None
        self.OTHER_U = OTHER_U
        self.OTHER_U_nsprefix_ = None
        self.OTHER_M = OTHER_M
        self.OTHER_M_nsprefix_ = None
        self.OTHER_A = OTHER_A
        self.OTHER_A_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, PERMISSIONSType114)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONSType114.subclass:
            return PERMISSIONSType114.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONSType114(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_OWNER_U(self):
        return self.OWNER_U
    def set_OWNER_U(self, OWNER_U):
        self.OWNER_U = OWNER_U
    def get_OWNER_M(self):
        return self.OWNER_M
    def set_OWNER_M(self, OWNER_M):
        self.OWNER_M = OWNER_M
    def get_OWNER_A(self):
        return self.OWNER_A
    def set_OWNER_A(self, OWNER_A):
        self.OWNER_A = OWNER_A
    def get_GROUP_U(self):
        return self.GROUP_U
    def set_GROUP_U(self, GROUP_U):
        self.GROUP_U = GROUP_U
    def get_GROUP_M(self):
        return self.GROUP_M
    def set_GROUP_M(self, GROUP_M):
        self.GROUP_M = GROUP_M
    def get_GROUP_A(self):
        return self.GROUP_A
    def set_GROUP_A(self, GROUP_A):
        self.GROUP_A = GROUP_A
    def get_OTHER_U(self):
        return self.OTHER_U
    def set_OTHER_U(self, OTHER_U):
        self.OTHER_U = OTHER_U
    def get_OTHER_M(self):
        return self.OTHER_M
    def set_OTHER_M(self, OTHER_M):
        self.OTHER_M = OTHER_M
    def get_OTHER_A(self):
        return self.OTHER_A
    def set_OTHER_A(self, OTHER_A):
        self.OTHER_A = OTHER_A
    def hasContent_(self):
        if (
            self.OWNER_U is not None or
            self.OWNER_M is not None or
            self.OWNER_A is not None or
            self.GROUP_U is not None or
            self.GROUP_M is not None or
            self.GROUP_A is not None or
            self.OTHER_U is not None or
            self.OTHER_M is not None or
            self.OTHER_A is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType114', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONSType114')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'PERMISSIONSType114':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PERMISSIONSType114')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONSType114', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PERMISSIONSType114'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONSType114', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.OWNER_U is not None:
            namespaceprefix_ = self.OWNER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_U>%s</%sOWNER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_U, input_name='OWNER_U'), namespaceprefix_ , eol_))
        if self.OWNER_M is not None:
            namespaceprefix_ = self.OWNER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_M>%s</%sOWNER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_M, input_name='OWNER_M'), namespaceprefix_ , eol_))
        if self.OWNER_A is not None:
            namespaceprefix_ = self.OWNER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER_A>%s</%sOWNER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER_A, input_name='OWNER_A'), namespaceprefix_ , eol_))
        if self.GROUP_U is not None:
            namespaceprefix_ = self.GROUP_U_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_U>%s</%sGROUP_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_U, input_name='GROUP_U'), namespaceprefix_ , eol_))
        if self.GROUP_M is not None:
            namespaceprefix_ = self.GROUP_M_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_M>%s</%sGROUP_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_M, input_name='GROUP_M'), namespaceprefix_ , eol_))
        if self.GROUP_A is not None:
            namespaceprefix_ = self.GROUP_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_A>%s</%sGROUP_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.GROUP_A, input_name='GROUP_A'), namespaceprefix_ , eol_))
        if self.OTHER_U is not None:
            namespaceprefix_ = self.OTHER_U_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_U_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_U>%s</%sOTHER_U>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_U, input_name='OTHER_U'), namespaceprefix_ , eol_))
        if self.OTHER_M is not None:
            namespaceprefix_ = self.OTHER_M_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_M_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_M>%s</%sOTHER_M>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_M, input_name='OTHER_M'), namespaceprefix_ , eol_))
        if self.OTHER_A is not None:
            namespaceprefix_ = self.OTHER_A_nsprefix_ + ':' if (UseCapturedNS_ and self.OTHER_A_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOTHER_A>%s</%sOTHER_A>%s' % (namespaceprefix_ , self.gds_format_integer(self.OTHER_A, input_name='OTHER_A'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'OWNER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_U')
            self.OWNER_U = ival_
            self.OWNER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_M')
            self.OWNER_M = ival_
            self.OWNER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER_A')
            self.OWNER_A = ival_
            self.OWNER_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_U')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_U')
            self.GROUP_U = ival_
            self.GROUP_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_M')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_M')
            self.GROUP_M = ival_
            self.GROUP_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'GROUP_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GROUP_A')
            ival_ = self.gds_validate_integer(ival_, node, 'GROUP_A')
            self.GROUP_A = ival_
            self.GROUP_A_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_U' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_U')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_U')
            self.OTHER_U = ival_
            self.OTHER_U_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_M' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_M')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_M')
            self.OTHER_M = ival_
            self.OTHER_M_nsprefix_ = child_.prefix
        elif nodeName_ == 'OTHER_A' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OTHER_A')
            ival_ = self.gds_validate_integer(ival_, node, 'OTHER_A')
            self.OTHER_A = ival_
            self.OTHER_A_nsprefix_ = child_.prefix
# end class PERMISSIONSType114


class LOCKType115(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, LOCKED=None, OWNER=None, TIME=None, REQ_ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.LOCKED = LOCKED
        self.LOCKED_nsprefix_ = None
        self.OWNER = OWNER
        self.OWNER_nsprefix_ = None
        self.TIME = TIME
        self.TIME_nsprefix_ = None
        self.REQ_ID = REQ_ID
        self.REQ_ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, LOCKType115)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LOCKType115.subclass:
            return LOCKType115.subclass(*args_, **kwargs_)
        else:
            return LOCKType115(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_LOCKED(self):
        return self.LOCKED
    def set_LOCKED(self, LOCKED):
        self.LOCKED = LOCKED
    def get_OWNER(self):
        return self.OWNER
    def set_OWNER(self, OWNER):
        self.OWNER = OWNER
    def get_TIME(self):
        return self.TIME
    def set_TIME(self, TIME):
        self.TIME = TIME
    def get_REQ_ID(self):
        return self.REQ_ID
    def set_REQ_ID(self, REQ_ID):
        self.REQ_ID = REQ_ID
    def hasContent_(self):
        if (
            self.LOCKED is not None or
            self.OWNER is not None or
            self.TIME is not None or
            self.REQ_ID is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType115', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LOCKType115')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'LOCKType115':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LOCKType115')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LOCKType115', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LOCKType115'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCKType115', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.LOCKED is not None:
            namespaceprefix_ = self.LOCKED_nsprefix_ + ':' if (UseCapturedNS_ and self.LOCKED_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLOCKED>%s</%sLOCKED>%s' % (namespaceprefix_ , self.gds_format_integer(self.LOCKED, input_name='LOCKED'), namespaceprefix_ , eol_))
        if self.OWNER is not None:
            namespaceprefix_ = self.OWNER_nsprefix_ + ':' if (UseCapturedNS_ and self.OWNER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sOWNER>%s</%sOWNER>%s' % (namespaceprefix_ , self.gds_format_integer(self.OWNER, input_name='OWNER'), namespaceprefix_ , eol_))
        if self.TIME is not None:
            namespaceprefix_ = self.TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTIME>%s</%sTIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.TIME, input_name='TIME'), namespaceprefix_ , eol_))
        if self.REQ_ID is not None:
            namespaceprefix_ = self.REQ_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.REQ_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREQ_ID>%s</%sREQ_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.REQ_ID, input_name='REQ_ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'LOCKED' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LOCKED')
            ival_ = self.gds_validate_integer(ival_, node, 'LOCKED')
            self.LOCKED = ival_
            self.LOCKED_nsprefix_ = child_.prefix
        elif nodeName_ == 'OWNER' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'OWNER')
            ival_ = self.gds_validate_integer(ival_, node, 'OWNER')
            self.OWNER = ival_
            self.OWNER_nsprefix_ = child_.prefix
        elif nodeName_ == 'TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'TIME')
            self.TIME = ival_
            self.TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'REQ_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REQ_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'REQ_ID')
            self.REQ_ID = ival_
            self.REQ_ID_nsprefix_ = child_.prefix
# end class LOCKType115


class VMSType116(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if ID is None:
            self.ID = []
        else:
            self.ID = ID
        self.ID_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, VMSType116)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if VMSType116.subclass:
            return VMSType116.subclass(*args_, **kwargs_)
        else:
            return VMSType116(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def add_ID(self, value):
        self.ID.append(value)
    def insert_ID_at(self, index, value):
        self.ID.insert(index, value)
    def replace_ID_at(self, index, value):
        self.ID[index] = value
    def hasContent_(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMSType116', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('VMSType116')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'VMSType116':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='VMSType116')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='VMSType116', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='VMSType116'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='VMSType116', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for ID_ in self.ID:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(ID_, input_name='ID'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID.append(ival_)
            self.ID_nsprefix_ = child_.prefix
# end class VMSType116


class ZONEType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, NAME=None, TEMPLATE=None, SERVER_POOL=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
        self.SERVER_POOL = SERVER_POOL
        self.SERVER_POOL_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, ZONEType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if ZONEType.subclass:
            return ZONEType.subclass(*args_, **kwargs_)
        else:
            return ZONEType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def get_SERVER_POOL(self):
        return self.SERVER_POOL
    def set_SERVER_POOL(self, SERVER_POOL):
        self.SERVER_POOL = SERVER_POOL
    def hasContent_(self):
        if (
            self.ID is not None or
            self.NAME is not None or
            self.TEMPLATE is not None or
            self.SERVER_POOL is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ZONEType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('ZONEType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'ZONEType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ZONEType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ZONEType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ZONEType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='ZONEType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.TEMPLATE is not None:
            namespaceprefix_ = self.TEMPLATE_nsprefix_ + ':' if (UseCapturedNS_ and self.TEMPLATE_nsprefix_) else ''
            self.TEMPLATE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TEMPLATE', pretty_print=pretty_print)
        if self.SERVER_POOL is not None:
            namespaceprefix_ = self.SERVER_POOL_nsprefix_ + ':' if (UseCapturedNS_ and self.SERVER_POOL_nsprefix_) else ''
            self.SERVER_POOL.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SERVER_POOL', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'TEMPLATE':
            obj_ = TEMPLATEType117.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
        elif nodeName_ == 'SERVER_POOL':
            obj_ = SERVER_POOLType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SERVER_POOL = obj_
            obj_.original_tagname_ = 'SERVER_POOL'
# end class ZONEType


class TEMPLATEType117(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ENDPOINT=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ENDPOINT = ENDPOINT
        self.ENDPOINT_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, TEMPLATEType117)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if TEMPLATEType117.subclass:
            return TEMPLATEType117.subclass(*args_, **kwargs_)
        else:
            return TEMPLATEType117(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ENDPOINT(self):
        return self.ENDPOINT
    def set_ENDPOINT(self, ENDPOINT):
        self.ENDPOINT = ENDPOINT
    def hasContent_(self):
        if (
            self.ENDPOINT is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType117', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('TEMPLATEType117')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'TEMPLATEType117':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TEMPLATEType117')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TEMPLATEType117', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TEMPLATEType117'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType117', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ENDPOINT is not None:
            namespaceprefix_ = self.ENDPOINT_nsprefix_ + ':' if (UseCapturedNS_ and self.ENDPOINT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sENDPOINT>%s</%sENDPOINT>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ENDPOINT), input_name='ENDPOINT')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ENDPOINT':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ENDPOINT')
            value_ = self.gds_validate_string(value_, node, 'ENDPOINT')
            self.ENDPOINT = value_
            self.ENDPOINT_nsprefix_ = child_.prefix
# end class TEMPLATEType117


class SERVER_POOLType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, SERVER=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if SERVER is None:
            self.SERVER = []
        else:
            self.SERVER = SERVER
        self.SERVER_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SERVER_POOLType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SERVER_POOLType.subclass:
            return SERVER_POOLType.subclass(*args_, **kwargs_)
        else:
            return SERVER_POOLType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_SERVER(self):
        return self.SERVER
    def set_SERVER(self, SERVER):
        self.SERVER = SERVER
    def add_SERVER(self, value):
        self.SERVER.append(value)
    def insert_SERVER_at(self, index, value):
        self.SERVER.insert(index, value)
    def replace_SERVER_at(self, index, value):
        self.SERVER[index] = value
    def hasContent_(self):
        if (
            self.SERVER
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SERVER_POOLType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SERVER_POOLType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SERVER_POOLType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SERVER_POOLType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SERVER_POOLType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SERVER_POOLType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SERVER_POOLType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for SERVER_ in self.SERVER:
            namespaceprefix_ = self.SERVER_nsprefix_ + ':' if (UseCapturedNS_ and self.SERVER_nsprefix_) else ''
            SERVER_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SERVER', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'SERVER':
            obj_ = SERVERType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SERVER.append(obj_)
            obj_.original_tagname_ = 'SERVER'
# end class SERVER_POOLType


class SERVERType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ENDPOINT=None, ID=None, NAME=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ENDPOINT = ENDPOINT
        self.ENDPOINT_nsprefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SERVERType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SERVERType.subclass:
            return SERVERType.subclass(*args_, **kwargs_)
        else:
            return SERVERType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ENDPOINT(self):
        return self.ENDPOINT
    def set_ENDPOINT(self, ENDPOINT):
        self.ENDPOINT = ENDPOINT
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def hasContent_(self):
        if (
            self.ENDPOINT is not None or
            self.ID is not None or
            self.NAME is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SERVERType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SERVERType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SERVERType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SERVERType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SERVERType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SERVERType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SERVERType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ENDPOINT is not None:
            namespaceprefix_ = self.ENDPOINT_nsprefix_ + ':' if (UseCapturedNS_ and self.ENDPOINT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sENDPOINT>%s</%sENDPOINT>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ENDPOINT), input_name='ENDPOINT')), namespaceprefix_ , eol_))
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ENDPOINT':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ENDPOINT')
            value_ = self.gds_validate_string(value_, node, 'ENDPOINT')
            self.ENDPOINT = value_
            self.ENDPOINT_nsprefix_ = child_.prefix
        elif nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
# end class SERVERType


class TEMPLATEType118(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ENDPOINT=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ENDPOINT = ENDPOINT
        self.ENDPOINT_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, TEMPLATEType118)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if TEMPLATEType118.subclass:
            return TEMPLATEType118.subclass(*args_, **kwargs_)
        else:
            return TEMPLATEType118(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ENDPOINT(self):
        return self.ENDPOINT
    def set_ENDPOINT(self, ENDPOINT):
        self.ENDPOINT = ENDPOINT
    def hasContent_(self):
        if (
            self.ENDPOINT is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType118', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('TEMPLATEType118')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'TEMPLATEType118':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TEMPLATEType118')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TEMPLATEType118', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TEMPLATEType118'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='TEMPLATEType118', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ENDPOINT is not None:
            namespaceprefix_ = self.ENDPOINT_nsprefix_ + ':' if (UseCapturedNS_ and self.ENDPOINT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sENDPOINT>%s</%sENDPOINT>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ENDPOINT), input_name='ENDPOINT')), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ENDPOINT':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ENDPOINT')
            value_ = self.gds_validate_string(value_, node, 'ENDPOINT')
            self.ENDPOINT = value_
            self.ENDPOINT_nsprefix_ = child_.prefix
# end class TEMPLATEType118


class SERVER_POOLType119(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, SERVER=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        if SERVER is None:
            self.SERVER = []
        else:
            self.SERVER = SERVER
        self.SERVER_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SERVER_POOLType119)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SERVER_POOLType119.subclass:
            return SERVER_POOLType119.subclass(*args_, **kwargs_)
        else:
            return SERVER_POOLType119(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_SERVER(self):
        return self.SERVER
    def set_SERVER(self, SERVER):
        self.SERVER = SERVER
    def add_SERVER(self, value):
        self.SERVER.append(value)
    def insert_SERVER_at(self, index, value):
        self.SERVER.insert(index, value)
    def replace_SERVER_at(self, index, value):
        self.SERVER[index] = value
    def hasContent_(self):
        if (
            self.SERVER
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SERVER_POOLType119', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SERVER_POOLType119')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SERVER_POOLType119':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SERVER_POOLType119')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SERVER_POOLType119', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SERVER_POOLType119'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SERVER_POOLType119', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for SERVER_ in self.SERVER:
            namespaceprefix_ = self.SERVER_nsprefix_ + ':' if (UseCapturedNS_ and self.SERVER_nsprefix_) else ''
            SERVER_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SERVER', pretty_print=pretty_print)
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'SERVER':
            obj_ = SERVERType120.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SERVER.append(obj_)
            obj_.original_tagname_ = 'SERVER'
# end class SERVER_POOLType119


class SERVERType120(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ENDPOINT=None, ID=None, NAME=None, STATE=None, TERM=None, VOTEDFOR=None, COMMIT=None, LOG_INDEX=None, FEDLOG_INDEX=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.ENDPOINT = ENDPOINT
        self.ENDPOINT_nsprefix_ = None
        self.ID = ID
        self.ID_nsprefix_ = None
        self.NAME = NAME
        self.NAME_nsprefix_ = None
        self.STATE = STATE
        self.STATE_nsprefix_ = None
        self.TERM = TERM
        self.TERM_nsprefix_ = None
        self.VOTEDFOR = VOTEDFOR
        self.VOTEDFOR_nsprefix_ = None
        self.COMMIT = COMMIT
        self.COMMIT_nsprefix_ = None
        self.LOG_INDEX = LOG_INDEX
        self.LOG_INDEX_nsprefix_ = None
        self.FEDLOG_INDEX = FEDLOG_INDEX
        self.FEDLOG_INDEX_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SERVERType120)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SERVERType120.subclass:
            return SERVERType120.subclass(*args_, **kwargs_)
        else:
            return SERVERType120(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_ENDPOINT(self):
        return self.ENDPOINT
    def set_ENDPOINT(self, ENDPOINT):
        self.ENDPOINT = ENDPOINT
    def get_ID(self):
        return self.ID
    def set_ID(self, ID):
        self.ID = ID
    def get_NAME(self):
        return self.NAME
    def set_NAME(self, NAME):
        self.NAME = NAME
    def get_STATE(self):
        return self.STATE
    def set_STATE(self, STATE):
        self.STATE = STATE
    def get_TERM(self):
        return self.TERM
    def set_TERM(self, TERM):
        self.TERM = TERM
    def get_VOTEDFOR(self):
        return self.VOTEDFOR
    def set_VOTEDFOR(self, VOTEDFOR):
        self.VOTEDFOR = VOTEDFOR
    def get_COMMIT(self):
        return self.COMMIT
    def set_COMMIT(self, COMMIT):
        self.COMMIT = COMMIT
    def get_LOG_INDEX(self):
        return self.LOG_INDEX
    def set_LOG_INDEX(self, LOG_INDEX):
        self.LOG_INDEX = LOG_INDEX
    def get_FEDLOG_INDEX(self):
        return self.FEDLOG_INDEX
    def set_FEDLOG_INDEX(self, FEDLOG_INDEX):
        self.FEDLOG_INDEX = FEDLOG_INDEX
    def hasContent_(self):
        if (
            self.ENDPOINT is not None or
            self.ID is not None or
            self.NAME is not None or
            self.STATE is not None or
            self.TERM is not None or
            self.VOTEDFOR is not None or
            self.COMMIT is not None or
            self.LOG_INDEX is not None or
            self.FEDLOG_INDEX is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SERVERType120', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SERVERType120')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SERVERType120':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SERVERType120')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SERVERType120', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SERVERType120'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SERVERType120', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.ENDPOINT is not None:
            namespaceprefix_ = self.ENDPOINT_nsprefix_ + ':' if (UseCapturedNS_ and self.ENDPOINT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sENDPOINT>%s</%sENDPOINT>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ENDPOINT), input_name='ENDPOINT')), namespaceprefix_ , eol_))
        if self.ID is not None:
            namespaceprefix_ = self.ID_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sID>%s</%sID>%s' % (namespaceprefix_ , self.gds_format_integer(self.ID, input_name='ID'), namespaceprefix_ , eol_))
        if self.NAME is not None:
            namespaceprefix_ = self.NAME_nsprefix_ + ':' if (UseCapturedNS_ and self.NAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNAME>%s</%sNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.NAME), input_name='NAME')), namespaceprefix_ , eol_))
        if self.STATE is not None:
            namespaceprefix_ = self.STATE_nsprefix_ + ':' if (UseCapturedNS_ and self.STATE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSTATE>%s</%sSTATE>%s' % (namespaceprefix_ , self.gds_format_integer(self.STATE, input_name='STATE'), namespaceprefix_ , eol_))
        if self.TERM is not None:
            namespaceprefix_ = self.TERM_nsprefix_ + ':' if (UseCapturedNS_ and self.TERM_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTERM>%s</%sTERM>%s' % (namespaceprefix_ , self.gds_format_integer(self.TERM, input_name='TERM'), namespaceprefix_ , eol_))
        if self.VOTEDFOR is not None:
            namespaceprefix_ = self.VOTEDFOR_nsprefix_ + ':' if (UseCapturedNS_ and self.VOTEDFOR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVOTEDFOR>%s</%sVOTEDFOR>%s' % (namespaceprefix_ , self.gds_format_integer(self.VOTEDFOR, input_name='VOTEDFOR'), namespaceprefix_ , eol_))
        if self.COMMIT is not None:
            namespaceprefix_ = self.COMMIT_nsprefix_ + ':' if (UseCapturedNS_ and self.COMMIT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCOMMIT>%s</%sCOMMIT>%s' % (namespaceprefix_ , self.gds_format_integer(self.COMMIT, input_name='COMMIT'), namespaceprefix_ , eol_))
        if self.LOG_INDEX is not None:
            namespaceprefix_ = self.LOG_INDEX_nsprefix_ + ':' if (UseCapturedNS_ and self.LOG_INDEX_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLOG_INDEX>%s</%sLOG_INDEX>%s' % (namespaceprefix_ , self.gds_format_integer(self.LOG_INDEX, input_name='LOG_INDEX'), namespaceprefix_ , eol_))
        if self.FEDLOG_INDEX is not None:
            namespaceprefix_ = self.FEDLOG_INDEX_nsprefix_ + ':' if (UseCapturedNS_ and self.FEDLOG_INDEX_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFEDLOG_INDEX>%s</%sFEDLOG_INDEX>%s' % (namespaceprefix_ , self.gds_format_integer(self.FEDLOG_INDEX, input_name='FEDLOG_INDEX'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'ENDPOINT':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ENDPOINT')
            value_ = self.gds_validate_string(value_, node, 'ENDPOINT')
            self.ENDPOINT = value_
            self.ENDPOINT_nsprefix_ = child_.prefix
        elif nodeName_ == 'ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'ID')
            ival_ = self.gds_validate_integer(ival_, node, 'ID')
            self.ID = ival_
            self.ID_nsprefix_ = child_.prefix
        elif nodeName_ == 'NAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'NAME')
            value_ = self.gds_validate_string(value_, node, 'NAME')
            self.NAME = value_
            self.NAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'STATE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'STATE')
            ival_ = self.gds_validate_integer(ival_, node, 'STATE')
            self.STATE = ival_
            self.STATE_nsprefix_ = child_.prefix
        elif nodeName_ == 'TERM' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TERM')
            ival_ = self.gds_validate_integer(ival_, node, 'TERM')
            self.TERM = ival_
            self.TERM_nsprefix_ = child_.prefix
        elif nodeName_ == 'VOTEDFOR' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'VOTEDFOR')
            ival_ = self.gds_validate_integer(ival_, node, 'VOTEDFOR')
            self.VOTEDFOR = ival_
            self.VOTEDFOR_nsprefix_ = child_.prefix
        elif nodeName_ == 'COMMIT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'COMMIT')
            ival_ = self.gds_validate_integer(ival_, node, 'COMMIT')
            self.COMMIT = ival_
            self.COMMIT_nsprefix_ = child_.prefix
        elif nodeName_ == 'LOG_INDEX' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LOG_INDEX')
            ival_ = self.gds_validate_integer(ival_, node, 'LOG_INDEX')
            self.LOG_INDEX = ival_
            self.LOG_INDEX_nsprefix_ = child_.prefix
        elif nodeName_ == 'FEDLOG_INDEX' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'FEDLOG_INDEX')
            ival_ = self.gds_validate_integer(ival_, node, 'FEDLOG_INDEX')
            self.FEDLOG_INDEX = ival_
            self.FEDLOG_INDEX_nsprefix_ = child_.prefix
# end class SERVERType120


class SHOWBACKType(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, VMID=None, VMNAME=None, UID=None, GID=None, UNAME=None, GNAME=None, YEAR=None, MONTH=None, CPU_COST=None, MEMORY_COST=None, DISK_COST=None, TOTAL_COST=None, HOURS=None, gds_collector_=None, **kwargs_):
        self.gds_collector_ = gds_collector_
        self.gds_elementtree_node_ = None
        self.original_tagname_ = None
        self.parent_object_ = kwargs_.get('parent_object_')
        self.ns_prefix_ = None
        self.VMID = VMID
        self.VMID_nsprefix_ = None
        self.VMNAME = VMNAME
        self.VMNAME_nsprefix_ = None
        self.UID = UID
        self.UID_nsprefix_ = None
        self.GID = GID
        self.GID_nsprefix_ = None
        self.UNAME = UNAME
        self.UNAME_nsprefix_ = None
        self.GNAME = GNAME
        self.GNAME_nsprefix_ = None
        self.YEAR = YEAR
        self.YEAR_nsprefix_ = None
        self.MONTH = MONTH
        self.MONTH_nsprefix_ = None
        self.CPU_COST = CPU_COST
        self.CPU_COST_nsprefix_ = None
        self.MEMORY_COST = MEMORY_COST
        self.MEMORY_COST_nsprefix_ = None
        self.DISK_COST = DISK_COST
        self.DISK_COST_nsprefix_ = None
        self.TOTAL_COST = TOTAL_COST
        self.TOTAL_COST_nsprefix_ = None
        self.HOURS = HOURS
        self.HOURS_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SHOWBACKType)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SHOWBACKType.subclass:
            return SHOWBACKType.subclass(*args_, **kwargs_)
        else:
            return SHOWBACKType(*args_, **kwargs_)
    factory = staticmethod(factory)
    def get_ns_prefix_(self):
        return self.ns_prefix_
    def set_ns_prefix_(self, ns_prefix):
        self.ns_prefix_ = ns_prefix
    def get_VMID(self):
        return self.VMID
    def set_VMID(self, VMID):
        self.VMID = VMID
    def get_VMNAME(self):
        return self.VMNAME
    def set_VMNAME(self, VMNAME):
        self.VMNAME = VMNAME
    def get_UID(self):
        return self.UID
    def set_UID(self, UID):
        self.UID = UID
    def get_GID(self):
        return self.GID
    def set_GID(self, GID):
        self.GID = GID
    def get_UNAME(self):
        return self.UNAME
    def set_UNAME(self, UNAME):
        self.UNAME = UNAME
    def get_GNAME(self):
        return self.GNAME
    def set_GNAME(self, GNAME):
        self.GNAME = GNAME
    def get_YEAR(self):
        return self.YEAR
    def set_YEAR(self, YEAR):
        self.YEAR = YEAR
    def get_MONTH(self):
        return self.MONTH
    def set_MONTH(self, MONTH):
        self.MONTH = MONTH
    def get_CPU_COST(self):
        return self.CPU_COST
    def set_CPU_COST(self, CPU_COST):
        self.CPU_COST = CPU_COST
    def get_MEMORY_COST(self):
        return self.MEMORY_COST
    def set_MEMORY_COST(self, MEMORY_COST):
        self.MEMORY_COST = MEMORY_COST
    def get_DISK_COST(self):
        return self.DISK_COST
    def set_DISK_COST(self, DISK_COST):
        self.DISK_COST = DISK_COST
    def get_TOTAL_COST(self):
        return self.TOTAL_COST
    def set_TOTAL_COST(self, TOTAL_COST):
        self.TOTAL_COST = TOTAL_COST
    def get_HOURS(self):
        return self.HOURS
    def set_HOURS(self, HOURS):
        self.HOURS = HOURS
    def hasContent_(self):
        if (
            self.VMID is not None or
            self.VMNAME is not None or
            self.UID is not None or
            self.GID is not None or
            self.UNAME is not None or
            self.GNAME is not None or
            self.YEAR is not None or
            self.MONTH is not None or
            self.CPU_COST is not None or
            self.MEMORY_COST is not None or
            self.DISK_COST is not None or
            self.TOTAL_COST is not None or
            self.HOURS is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SHOWBACKType', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SHOWBACKType')
        if imported_ns_def_ is not None:
            namespacedef_ = imported_ns_def_
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.original_tagname_ is not None and name_ == 'SHOWBACKType':
            name_ = self.original_tagname_
        if UseCapturedNS_ and self.ns_prefix_:
            namespaceprefix_ = self.ns_prefix_ + ':'
        showIndent(outfile, level, pretty_print)
        outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
        already_processed = set()
        self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SHOWBACKType')
        if self.hasContent_():
            outfile.write('>%s' % (eol_, ))
            self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SHOWBACKType', pretty_print=pretty_print)
            showIndent(outfile, level, pretty_print)
            outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
        else:
            outfile.write('/>%s' % (eol_, ))
    def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SHOWBACKType'):
        pass
    def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SHOWBACKType', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.VMID is not None:
            namespaceprefix_ = self.VMID_nsprefix_ + ':' if (UseCapturedNS_ and self.VMID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMID>%s</%sVMID>%s' % (namespaceprefix_ , self.gds_format_integer(self.VMID, input_name='VMID'), namespaceprefix_ , eol_))
        if self.VMNAME is not None:
            namespaceprefix_ = self.VMNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.VMNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVMNAME>%s</%sVMNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VMNAME), input_name='VMNAME')), namespaceprefix_ , eol_))
        if self.UID is not None:
            namespaceprefix_ = self.UID_nsprefix_ + ':' if (UseCapturedNS_ and self.UID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUID>%s</%sUID>%s' % (namespaceprefix_ , self.gds_format_integer(self.UID, input_name='UID'), namespaceprefix_ , eol_))
        if self.GID is not None:
            namespaceprefix_ = self.GID_nsprefix_ + ':' if (UseCapturedNS_ and self.GID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGID>%s</%sGID>%s' % (namespaceprefix_ , self.gds_format_integer(self.GID, input_name='GID'), namespaceprefix_ , eol_))
        if self.UNAME is not None:
            namespaceprefix_ = self.UNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.UNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUNAME>%s</%sUNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.UNAME), input_name='UNAME')), namespaceprefix_ , eol_))
        if self.GNAME is not None:
            namespaceprefix_ = self.GNAME_nsprefix_ + ':' if (UseCapturedNS_ and self.GNAME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGNAME>%s</%sGNAME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GNAME), input_name='GNAME')), namespaceprefix_ , eol_))
        if self.YEAR is not None:
            namespaceprefix_ = self.YEAR_nsprefix_ + ':' if (UseCapturedNS_ and self.YEAR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sYEAR>%s</%sYEAR>%s' % (namespaceprefix_ , self.gds_format_integer(self.YEAR, input_name='YEAR'), namespaceprefix_ , eol_))
        if self.MONTH is not None:
            namespaceprefix_ = self.MONTH_nsprefix_ + ':' if (UseCapturedNS_ and self.MONTH_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMONTH>%s</%sMONTH>%s' % (namespaceprefix_ , self.gds_format_integer(self.MONTH, input_name='MONTH'), namespaceprefix_ , eol_))
        if self.CPU_COST is not None:
            namespaceprefix_ = self.CPU_COST_nsprefix_ + ':' if (UseCapturedNS_ and self.CPU_COST_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCPU_COST>%s</%sCPU_COST>%s' % (namespaceprefix_ , self.gds_format_float(self.CPU_COST, input_name='CPU_COST'), namespaceprefix_ , eol_))
        if self.MEMORY_COST is not None:
            namespaceprefix_ = self.MEMORY_COST_nsprefix_ + ':' if (UseCapturedNS_ and self.MEMORY_COST_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMEMORY_COST>%s</%sMEMORY_COST>%s' % (namespaceprefix_ , self.gds_format_float(self.MEMORY_COST, input_name='MEMORY_COST'), namespaceprefix_ , eol_))
        if self.DISK_COST is not None:
            namespaceprefix_ = self.DISK_COST_nsprefix_ + ':' if (UseCapturedNS_ and self.DISK_COST_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDISK_COST>%s</%sDISK_COST>%s' % (namespaceprefix_ , self.gds_format_float(self.DISK_COST, input_name='DISK_COST'), namespaceprefix_ , eol_))
        if self.TOTAL_COST is not None:
            namespaceprefix_ = self.TOTAL_COST_nsprefix_ + ':' if (UseCapturedNS_ and self.TOTAL_COST_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTOTAL_COST>%s</%sTOTAL_COST>%s' % (namespaceprefix_ , self.gds_format_float(self.TOTAL_COST, input_name='TOTAL_COST'), namespaceprefix_ , eol_))
        if self.HOURS is not None:
            namespaceprefix_ = self.HOURS_nsprefix_ + ':' if (UseCapturedNS_ and self.HOURS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sHOURS>%s</%sHOURS>%s' % (namespaceprefix_ , self.gds_format_float(self.HOURS, input_name='HOURS'), namespaceprefix_ , eol_))
    def build(self, node, gds_collector_=None):
        self.gds_collector_ = gds_collector_
        if SaveElementTreeNode:
            self.gds_elementtree_node_ = node
        already_processed = set()
        self.ns_prefix_ = node.prefix
        self.buildAttributes(node, node.attrib, already_processed)
        for child in node:
            nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
            self.buildChildren(child, node, nodeName_, gds_collector_=gds_collector_)
        return self
    def buildAttributes(self, node, attrs, already_processed):
        pass
    def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None):
        if nodeName_ == 'VMID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'VMID')
            ival_ = self.gds_validate_integer(ival_, node, 'VMID')
            self.VMID = ival_
            self.VMID_nsprefix_ = child_.prefix
        elif nodeName_ == 'VMNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VMNAME')
            value_ = self.gds_validate_string(value_, node, 'VMNAME')
            self.VMNAME = value_
            self.VMNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'UID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'UID')
            ival_ = self.gds_validate_integer(ival_, node, 'UID')
            self.UID = ival_
            self.UID_nsprefix_ = child_.prefix
        elif nodeName_ == 'GID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'GID')
            ival_ = self.gds_validate_integer(ival_, node, 'GID')
            self.GID = ival_
            self.GID_nsprefix_ = child_.prefix
        elif nodeName_ == 'UNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'UNAME')
            value_ = self.gds_validate_string(value_, node, 'UNAME')
            self.UNAME = value_
            self.UNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'GNAME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GNAME')
            value_ = self.gds_validate_string(value_, node, 'GNAME')
            self.GNAME = value_
            self.GNAME_nsprefix_ = child_.prefix
        elif nodeName_ == 'YEAR' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'YEAR')
            ival_ = self.gds_validate_integer(ival_, node, 'YEAR')
            self.YEAR = ival_
            self.YEAR_nsprefix_ = child_.prefix
        elif nodeName_ == 'MONTH' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MONTH')
            ival_ = self.gds_validate_integer(ival_, node, 'MONTH')
            self.MONTH = ival_
            self.MONTH_nsprefix_ = child_.prefix
        elif nodeName_ == 'CPU_COST' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'CPU_COST')
            fval_ = self.gds_validate_float(fval_, node, 'CPU_COST')
            self.CPU_COST = fval_
            self.CPU_COST_nsprefix_ = child_.prefix
        elif nodeName_ == 'MEMORY_COST' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'MEMORY_COST')
            fval_ = self.gds_validate_float(fval_, node, 'MEMORY_COST')
            self.MEMORY_COST = fval_
            self.MEMORY_COST_nsprefix_ = child_.prefix
        elif nodeName_ == 'DISK_COST' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'DISK_COST')
            fval_ = self.gds_validate_float(fval_, node, 'DISK_COST')
            self.DISK_COST = fval_
            self.DISK_COST_nsprefix_ = child_.prefix
        elif nodeName_ == 'TOTAL_COST' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'TOTAL_COST')
            fval_ = self.gds_validate_float(fval_, node, 'TOTAL_COST')
            self.TOTAL_COST = fval_
            self.TOTAL_COST_nsprefix_ = child_.prefix
        elif nodeName_ == 'HOURS' and child_.text:
            sval_ = child_.text
            fval_ = self.gds_parse_float(sval_, node, 'HOURS')
            fval_ = self.gds_validate_float(fval_, node, 'HOURS')
            self.HOURS = fval_
            self.HOURS_nsprefix_ = child_.prefix
# end class SHOWBACKType


GDSClassesMapping = {
}


USAGE_TEXT = """
Usage: python <Parser>.py [ -s ] <in_xml_file>
"""


def usage():
    print(USAGE_TEXT)
    sys.exit(1)


def get_root_tag(node):
    tag = Tag_pattern_.match(node.tag).groups()[-1]
    rootClass = GDSClassesMapping.get(tag)
    if rootClass is None:
        rootClass = globals().get(tag)
    return tag, rootClass


def get_required_ns_prefix_defs(rootNode):
    '''Get all name space prefix definitions required in this XML doc.
    Return a dictionary of definitions and a char string of definitions.
    '''
    nsmap = {
        prefix: uri
        for node in rootNode.iter()
        for (prefix, uri) in node.nsmap.items()
        if prefix is not None
    }
    namespacedefs = ' '.join([
        'xmlns:{}="{}"'.format(prefix, uri)
        for prefix, uri in nsmap.items()
    ])
    return nsmap, namespacedefs


def parse(inFileName, silence=False, print_warnings=True):
    global CapturedNsmap_
    gds_collector = GdsCollector_()
    parser = None
    doc = parsexml_(inFileName, parser)
    rootNode = doc.getroot()
    rootTag, rootClass = get_root_tag(rootNode)
    if rootClass is None:
        rootTag = 'HISTORY_RECORDS'
        rootClass = HISTORY_RECORDS
    rootObj = rootClass.factory()
    rootObj.build(rootNode, gds_collector_=gds_collector)
    CapturedNsmap_, namespacedefs = get_required_ns_prefix_defs(rootNode)
    if not SaveElementTreeNode:
        doc = None
        rootNode = None
##     if not silence:
##         sys.stdout.write('<?xml version="1.0" ?>\n')
##         rootObj.export(
##             sys.stdout, 0, name_=rootTag,
##             namespacedef_=namespacedefs,
##             pretty_print=True)
    if print_warnings and len(gds_collector.get_messages()) > 0:
        separator = ('-' * 50) + '\n'
        sys.stderr.write(separator)
        sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
            len(gds_collector.get_messages()), ))
        gds_collector.write_messages(sys.stderr)
        sys.stderr.write(separator)
    return rootObj


def parseEtree(inFileName, silence=False, print_warnings=True,
               mapping=None, nsmap=None):
    parser = None
    doc = parsexml_(inFileName, parser)
    gds_collector = GdsCollector_()
    rootNode = doc.getroot()
    rootTag, rootClass = get_root_tag(rootNode)
    if rootClass is None:
        rootTag = 'HISTORY_RECORDS'
        rootClass = HISTORY_RECORDS
    rootObj = rootClass.factory()
    rootObj.build(rootNode, gds_collector_=gds_collector)
    # Enable Python to collect the space used by the DOM.
    if mapping is None:
        mapping = {}
    rootElement = rootObj.to_etree(
        None, name_=rootTag, mapping_=mapping, nsmap_=nsmap)
    reverse_mapping = rootObj.gds_reverse_node_mapping(mapping)
    if not SaveElementTreeNode:
        doc = None
        rootNode = None
##     if not silence:
##         content = etree_.tostring(
##             rootElement, pretty_print=True,
##             xml_declaration=True, encoding="utf-8")
##         sys.stdout.write(str(content))
##         sys.stdout.write('\n')
    if print_warnings and len(gds_collector.get_messages()) > 0:
        separator = ('-' * 50) + '\n'
        sys.stderr.write(separator)
        sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
            len(gds_collector.get_messages()), ))
        gds_collector.write_messages(sys.stderr)
        sys.stderr.write(separator)
    return rootObj, rootElement, mapping, reverse_mapping


def parseString(inString, silence=False, print_warnings=True):
    '''Parse a string, create the object tree, and export it.

    Arguments:
    - inString -- A string.  This XML fragment should not start
      with an XML declaration containing an encoding.
    - silence -- A boolean.  If False, export the object.
    Returns -- The root object in the tree.
    '''
    parser = None
    rootNode= parsexmlstring_(inString, parser)
    gds_collector = GdsCollector_()
    rootTag, rootClass = get_root_tag(rootNode)
    if rootClass is None:
        rootTag = 'HISTORY_RECORDS'
        rootClass = HISTORY_RECORDS
    rootObj = rootClass.factory()
    rootObj.build(rootNode, gds_collector_=gds_collector)
    if not SaveElementTreeNode:
        rootNode = None
##     if not silence:
##         sys.stdout.write('<?xml version="1.0" ?>\n')
##         rootObj.export(
##             sys.stdout, 0, name_=rootTag,
##             namespacedef_='')
    if print_warnings and len(gds_collector.get_messages()) > 0:
        separator = ('-' * 50) + '\n'
        sys.stderr.write(separator)
        sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
            len(gds_collector.get_messages()), ))
        gds_collector.write_messages(sys.stderr)
        sys.stderr.write(separator)
    return rootObj


def parseLiteral(inFileName, silence=False, print_warnings=True):
    parser = None
    doc = parsexml_(inFileName, parser)
    gds_collector = GdsCollector_()
    rootNode = doc.getroot()
    rootTag, rootClass = get_root_tag(rootNode)
    if rootClass is None:
        rootTag = 'HISTORY_RECORDS'
        rootClass = HISTORY_RECORDS
    rootObj = rootClass.factory()
    rootObj.build(rootNode, gds_collector_=gds_collector)
    # Enable Python to collect the space used by the DOM.
    if not SaveElementTreeNode:
        doc = None
        rootNode = None
##     if not silence:
##         sys.stdout.write('#from supbind import *\n\n')
##         sys.stdout.write('import supbind as model_\n\n')
##         sys.stdout.write('rootObj = model_.rootClass(\n')
##         rootObj.exportLiteral(sys.stdout, 0, name_=rootTag)
##         sys.stdout.write(')\n')
    if print_warnings and len(gds_collector.get_messages()) > 0:
        separator = ('-' * 50) + '\n'
        sys.stderr.write(separator)
        sys.stderr.write('----- Warnings -- count: {} -----\n'.format(
            len(gds_collector.get_messages()), ))
        gds_collector.write_messages(sys.stderr)
        sys.stderr.write(separator)
    return rootObj


def main():
    args = sys.argv[1:]
    if len(args) == 1:
        parse(args[0])
    else:
        usage()


if __name__ == '__main__':
    #import pdb; pdb.set_trace()
    main()

RenameMappings_ = {
}

__all__ = [
    "ACLType",
    "ACL_POOL",
    "ADMINSType",
    "ADMINSType12",
    "APP_CLONESType",
    "ARType",
    "ARType110",
    "AR_POOLType",
    "AR_POOLType109",
    "CLONESType",
    "CLUSTER",
    "CLUSTERSType",
    "CLUSTERSType103",
    "CLUSTERSType106",
    "CLUSTERSType77",
    "CLUSTERType",
    "CLUSTER_POOL",
    "COREType",
    "DATASTORE",
    "DATASTORESType",
    "DATASTORESType30",
    "DATASTORESType79",
    "DATASTOREType",
    "DATASTOREType14",
    "DATASTOREType23",
    "DATASTOREType4",
    "DATASTOREType42",
    "DATASTOREType50",
    "DATASTOREType60",
    "DATASTOREType69",
    "DATASTOREType80",
    "DATASTORE_POOL",
    "DATASTORE_QUOTAType",
    "DATASTORE_QUOTAType13",
    "DATASTORE_QUOTAType22",
    "DATASTORE_QUOTAType3",
    "DATASTORE_QUOTAType41",
    "DATASTORE_QUOTAType49",
    "DATASTORE_QUOTAType59",
    "DATASTORE_QUOTAType68",
    "DEFAULT_GROUP_QUOTASType",
    "DEFAULT_GROUP_QUOTASType21",
    "DEFAULT_USER_QUOTASType",
    "DEFAULT_USER_QUOTASType67",
    "DISKType",
    "DISKType94",
    "DSType",
    "GROUP",
    "GROUPSType",
    "GROUPSType57",
    "GROUPSType76",
    "GROUPType",
    "GROUP_POOL",
    "HISTORY",
    "HISTORYType",
    "HISTORYType98",
    "HISTORY_RECORDS",
    "HISTORY_RECORDSType",
    "HISTORY_RECORDSType97",
    "HOST",
    "HOSTSType",
    "HOSTSType78",
    "HOSTType",
    "HOST_POOL",
    "HOST_SHAREType",
    "HUGEPAGEType",
    "IMAGE",
    "IMAGESType",
    "IMAGEType",
    "IMAGEType10",
    "IMAGEType20",
    "IMAGEType29",
    "IMAGEType48",
    "IMAGEType56",
    "IMAGEType66",
    "IMAGEType75",
    "IMAGE_POOL",
    "IMAGE_QUOTAType",
    "IMAGE_QUOTAType19",
    "IMAGE_QUOTAType28",
    "IMAGE_QUOTAType47",
    "IMAGE_QUOTAType55",
    "IMAGE_QUOTAType65",
    "IMAGE_QUOTAType74",
    "IMAGE_QUOTAType9",
    "LEASESType",
    "LEASEType",
    "LOCKType",
    "LOCKType104",
    "LOCKType111",
    "LOCKType115",
    "LOCKType37",
    "LOCKType83",
    "LOCKType88",
    "LOCKType92",
    "LOGIN_TOKENType",
    "LOGIN_TOKENType58",
    "MARKETPLACE",
    "MARKETPLACEAPP",
    "MARKETPLACEAPPSType",
    "MARKETPLACEAPP_POOL",
    "MARKETPLACE_POOL",
    "MEMORYType",
    "MONITORINGType",
    "NETWORKType",
    "NETWORKType16",
    "NETWORKType25",
    "NETWORKType44",
    "NETWORKType52",
    "NETWORKType6",
    "NETWORKType62",
    "NETWORKType71",
    "NETWORK_QUOTAType",
    "NETWORK_QUOTAType15",
    "NETWORK_QUOTAType24",
    "NETWORK_QUOTAType43",
    "NETWORK_QUOTAType5",
    "NETWORK_QUOTAType51",
    "NETWORK_QUOTAType61",
    "NETWORK_QUOTAType70",
    "NICType",
    "NICType95",
    "NIC_ALIASType",
    "NODEType",
    "NUMA_NODESType",
    "PCI_DEVICESType",
    "PERMISSIONSType",
    "PERMISSIONSType1",
    "PERMISSIONSType102",
    "PERMISSIONSType105",
    "PERMISSIONSType112",
    "PERMISSIONSType114",
    "PERMISSIONSType32",
    "PERMISSIONSType38",
    "PERMISSIONSType39",
    "PERMISSIONSType82",
    "PERMISSIONSType89",
    "PERMISSIONSType91",
    "QUOTASType",
    "QUOTASType40",
    "ROLESType",
    "ROLEType",
    "SERVERType",
    "SERVERType120",
    "SERVER_POOLType",
    "SERVER_POOLType119",
    "SHOWBACKType",
    "SHOWBACK_RECORDS",
    "SNAPSHOTSType",
    "SNAPSHOTSType35",
    "SNAPSHOTSType86",
    "SNAPSHOTSType99",
    "SNAPSHOTType",
    "SNAPSHOTType100",
    "SNAPSHOTType36",
    "SNAPSHOTType87",
    "TEMPLATEType",
    "TEMPLATEType108",
    "TEMPLATEType113",
    "TEMPLATEType117",
    "TEMPLATEType118",
    "TEMPLATEType31",
    "TEMPLATEType34",
    "TEMPLATEType85",
    "TEMPLATEType90",
    "TEMPLATEType93",
    "USER",
    "USERSType",
    "USERSType11",
    "USERType",
    "USER_POOL",
    "USER_TEMPLATEType",
    "USER_TEMPLATEType96",
    "VDC",
    "VDC_POOL",
    "VM",
    "VMSType",
    "VMSType116",
    "VMSType33",
    "VMTEMPLATE",
    "VMTEMPLATE_POOL",
    "VMType",
    "VMType18",
    "VMType2",
    "VMType27",
    "VMType46",
    "VMType54",
    "VMType64",
    "VMType73",
    "VMType8",
    "VMType84",
    "VM_GROUP",
    "VM_GROUP_POOL",
    "VM_POOL",
    "VM_QUOTAType",
    "VM_QUOTAType17",
    "VM_QUOTAType26",
    "VM_QUOTAType45",
    "VM_QUOTAType53",
    "VM_QUOTAType63",
    "VM_QUOTAType7",
    "VM_QUOTAType72",
    "VNET",
    "VNETSType",
    "VNETSType81",
    "VNETType",
    "VNETType101",
    "VNET_POOL",
    "VNTEMPLATE",
    "VNTEMPLATE_POOL",
    "VROUTER",
    "VROUTERSType",
    "VROUTERSType107",
    "VROUTER_POOL",
    "ZONE",
    "ZONEType",
    "ZONE_POOL"
]
