PHP 8.2.30
Preview: supbind.py Size: 2.58 MB
//opt/hc_python/lib/python3.12/site-packages/pyone/bindings/supbind.py

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

#
# Generated Tue Feb 18 17:07:19 2025 by generateDS.py version 2.44.3.
# Python 3.10.12 (main, Jan 17 2025, 14:35:34) [GCC 11.4.0]
#
# 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:
#   /home/one/init-build-jenkins.4Ppvoe/one/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
#

import sys
try:
    ModulenotfoundExp_ = ModuleNotFoundError
except NameError:
    ModulenotfoundExp_ = ImportError
from six.moves import zip_longest
import os
import re as re_
import base64
import datetime as datetime_
import decimal as decimal_
from lxml import etree as etree_


Validate_simpletypes_ = True
SaveElementTreeNode = True
TagNamePrefix = ""
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 ModulenotfoundExp_ :
    GenerateDSNamespaceDefs_ = {}
try:
    from generatedsnamespaces import GenerateDSNamespaceTypePrefixes as GenerateDSNamespaceTypePrefixes_
except ModulenotfoundExp_ :
    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 ModulenotfoundExp_ :

    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 ModulenotfoundExp_ :
    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 ModulenotfoundExp_ as exp:
    try:
        from generatedssupersuper import GeneratedsSuperSuper
    except ModulenotfoundExp_ as exp:
        class GeneratedsSuperSuper(object):
            pass
    
    class GeneratedsSuper(GeneratedsSuperSuper):
        __hash__ = object.__hash__
        tzoff_pattern = re_.compile('(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|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 __str__(self):
            settings = {
                'str_pretty_print': True,
                'str_indent_level': 0,
                'str_namespaceprefix': '',
                'str_name': self.__class__.__name__,
                'str_namespacedefs': '',
            }
            for n in settings:
                if hasattr(self, n):
                    settings[n] = getattr(self, n)
            if sys.version_info.major == 2:
                from StringIO import StringIO
            else:
                from io import StringIO
            output = StringIO()
            self.export(
                output,
                settings['str_indent_level'],
                pretty_print=settings['str_pretty_print'],
                namespaceprefix_=settings['str_namespaceprefix'],
                name_=settings['str_name'],
                namespacedef_=settings['str_namespacedefs']
            )
            strval = output.getvalue()
            output.close()
            return strval
        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).decode('ascii')
        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' % int(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=''):
            if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
                input_data = [str(s) for s in input_data]
            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 values')
            return values
        def gds_format_float(self, input_data, input_name=''):
            value = ('%.15f' % float(input_data)).rstrip('0')
            if value.endswith('.'):
                value += '0'
            return value
    
        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=''):
            if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
                input_data = [str(s) for s in input_data]
            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=''):
            if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
                input_data = [str(s) for s in input_data]
            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 '%s' % 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=''):
            if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
                input_data = [str(s) for s in input_data]
            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=''):
            input_data = input_data.strip()
            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=''):
            if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_):
                input_data = [str(s) for s in input_data]
            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:
                value = self.gds_parse_boolean(value, node, input_name)
                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
            target = str(target)
            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;')
    s1 = s1.replace('\n', '&#10;')
    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
        if prefix == 'xml':
            namespace = 'http://www.w3.org/XML/1998/namespace'
        else:
            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, reverse_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, reverse_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)


#
# Start enum classes
#
class BACKENDType(str, Enum):
    MYSQL='mysql'
    SQLITE='sqlite'


class MODEType(str, Enum):
    STANDALONE='STANDALONE'
    MASTER='MASTER'
    SLAVE='SLAVE'


class TYPEType(str, Enum):
    IN='IN'
    OUT='OUT'


#
# Start 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 has__content(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.has__content():
            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 has__content(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.has__content():
            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 has__content(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.has__content():
            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 CALL_INFO(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, RESULT=None, PARAMETERS=None, EXTRA=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.RESULT = RESULT
        self.RESULT_nsprefix_ = None
        self.PARAMETERS = PARAMETERS
        self.PARAMETERS_nsprefix_ = None
        self.EXTRA = EXTRA
        self.EXTRA_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, CALL_INFO)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if CALL_INFO.subclass:
            return CALL_INFO.subclass(*args_, **kwargs_)
        else:
            return CALL_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 get_RESULT(self):
        return self.RESULT
    def set_RESULT(self, RESULT):
        self.RESULT = RESULT
    def get_PARAMETERS(self):
        return self.PARAMETERS
    def set_PARAMETERS(self, PARAMETERS):
        self.PARAMETERS = PARAMETERS
    def get_EXTRA(self):
        return self.EXTRA
    def set_EXTRA(self, EXTRA):
        self.EXTRA = EXTRA
    def has__content(self):
        if (
            self.RESULT is not None or
            self.PARAMETERS is not None or
            self.EXTRA is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CALL_INFO', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('CALL_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_ == 'CALL_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_='CALL_INFO')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CALL_INFO', 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_='CALL_INFO'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='CALL_INFO', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.RESULT is not None:
            namespaceprefix_ = self.RESULT_nsprefix_ + ':' if (UseCapturedNS_ and self.RESULT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRESULT>%s</%sRESULT>%s' % (namespaceprefix_ , self.gds_format_integer(self.RESULT, input_name='RESULT'), namespaceprefix_ , eol_))
        if self.PARAMETERS is not None:
            namespaceprefix_ = self.PARAMETERS_nsprefix_ + ':' if (UseCapturedNS_ and self.PARAMETERS_nsprefix_) else ''
            self.PARAMETERS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PARAMETERS', pretty_print=pretty_print)
        if self.EXTRA is not None:
            namespaceprefix_ = self.EXTRA_nsprefix_ + ':' if (UseCapturedNS_ and self.EXTRA_nsprefix_) else ''
            self.EXTRA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EXTRA', 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_ == 'RESULT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'RESULT')
            ival_ = self.gds_validate_integer(ival_, node, 'RESULT')
            self.RESULT = ival_
            self.RESULT_nsprefix_ = child_.prefix
        elif nodeName_ == 'PARAMETERS':
            obj_ = PARAMETERSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PARAMETERS = obj_
            obj_.original_tagname_ = 'PARAMETERS'
        elif nodeName_ == 'EXTRA':
            obj_ = EXTRAType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.EXTRA = obj_
            obj_.original_tagname_ = 'EXTRA'
# end class CALL_INFO


class BACKUPJOB_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, BACKUPJOB=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 BACKUPJOB is None:
            self.BACKUPJOB = []
        else:
            self.BACKUPJOB = BACKUPJOB
        self.BACKUPJOB_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, BACKUPJOB_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if BACKUPJOB_POOL.subclass:
            return BACKUPJOB_POOL.subclass(*args_, **kwargs_)
        else:
            return BACKUPJOB_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_BACKUPJOB(self):
        return self.BACKUPJOB
    def set_BACKUPJOB(self, BACKUPJOB):
        self.BACKUPJOB = BACKUPJOB
    def add_BACKUPJOB(self, value):
        self.BACKUPJOB.append(value)
    def insert_BACKUPJOB_at(self, index, value):
        self.BACKUPJOB.insert(index, value)
    def replace_BACKUPJOB_at(self, index, value):
        self.BACKUPJOB[index] = value
    def has__content(self):
        if (
            self.BACKUPJOB
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='BACKUPJOB_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('BACKUPJOB_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_ == 'BACKUPJOB_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_='BACKUPJOB_POOL')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BACKUPJOB_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_='BACKUPJOB_POOL'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='BACKUPJOB_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for BACKUPJOB_ in self.BACKUPJOB:
            namespaceprefix_ = self.BACKUPJOB_nsprefix_ + ':' if (UseCapturedNS_ and self.BACKUPJOB_nsprefix_) else ''
            BACKUPJOB_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BACKUPJOB', 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_ == 'BACKUPJOB':
            obj_ = BACKUPJOB.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.BACKUPJOB.append(obj_)
            obj_.original_tagname_ = 'BACKUPJOB'
# end class BACKUPJOB_POOL


class BACKUPJOB(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, PRIORITY=None, LAST_BACKUP_TIME=None, LAST_BACKUP_DURATION=None, SCHED_ACTIONS=None, UPDATED_VMS=None, OUTDATED_VMS=None, BACKING_UP_VMS=None, ERROR_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.LOCK = LOCK
        self.LOCK_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.PRIORITY = PRIORITY
        self.PRIORITY_nsprefix_ = None
        self.LAST_BACKUP_TIME = LAST_BACKUP_TIME
        self.LAST_BACKUP_TIME_nsprefix_ = None
        self.LAST_BACKUP_DURATION = LAST_BACKUP_DURATION
        self.LAST_BACKUP_DURATION_nsprefix_ = None
        self.SCHED_ACTIONS = SCHED_ACTIONS
        self.SCHED_ACTIONS_nsprefix_ = None
        self.UPDATED_VMS = UPDATED_VMS
        self.UPDATED_VMS_nsprefix_ = None
        self.OUTDATED_VMS = OUTDATED_VMS
        self.OUTDATED_VMS_nsprefix_ = None
        self.BACKING_UP_VMS = BACKING_UP_VMS
        self.BACKING_UP_VMS_nsprefix_ = None
        self.ERROR_VMS = ERROR_VMS
        self.ERROR_VMS_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, BACKUPJOB)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if BACKUPJOB.subclass:
            return BACKUPJOB.subclass(*args_, **kwargs_)
        else:
            return BACKUPJOB(*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_PRIORITY(self):
        return self.PRIORITY
    def set_PRIORITY(self, PRIORITY):
        self.PRIORITY = PRIORITY
    def get_LAST_BACKUP_TIME(self):
        return self.LAST_BACKUP_TIME
    def set_LAST_BACKUP_TIME(self, LAST_BACKUP_TIME):
        self.LAST_BACKUP_TIME = LAST_BACKUP_TIME
    def get_LAST_BACKUP_DURATION(self):
        return self.LAST_BACKUP_DURATION
    def set_LAST_BACKUP_DURATION(self, LAST_BACKUP_DURATION):
        self.LAST_BACKUP_DURATION = LAST_BACKUP_DURATION
    def get_SCHED_ACTIONS(self):
        return self.SCHED_ACTIONS
    def set_SCHED_ACTIONS(self, SCHED_ACTIONS):
        self.SCHED_ACTIONS = SCHED_ACTIONS
    def get_UPDATED_VMS(self):
        return self.UPDATED_VMS
    def set_UPDATED_VMS(self, UPDATED_VMS):
        self.UPDATED_VMS = UPDATED_VMS
    def get_OUTDATED_VMS(self):
        return self.OUTDATED_VMS
    def set_OUTDATED_VMS(self, OUTDATED_VMS):
        self.OUTDATED_VMS = OUTDATED_VMS
    def get_BACKING_UP_VMS(self):
        return self.BACKING_UP_VMS
    def set_BACKING_UP_VMS(self, BACKING_UP_VMS):
        self.BACKING_UP_VMS = BACKING_UP_VMS
    def get_ERROR_VMS(self):
        return self.ERROR_VMS
    def set_ERROR_VMS(self, ERROR_VMS):
        self.ERROR_VMS = ERROR_VMS
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def has__content(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.PRIORITY is not None or
            self.LAST_BACKUP_TIME is not None or
            self.LAST_BACKUP_DURATION is not None or
            self.SCHED_ACTIONS is not None or
            self.UPDATED_VMS is not None or
            self.OUTDATED_VMS is not None or
            self.BACKING_UP_VMS is not None or
            self.ERROR_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_='BACKUPJOB', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('BACKUPJOB')
        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_ == 'BACKUPJOB':
            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_='BACKUPJOB')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BACKUPJOB', 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_='BACKUPJOB'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='BACKUPJOB', 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.PRIORITY is not None:
            namespaceprefix_ = self.PRIORITY_nsprefix_ + ':' if (UseCapturedNS_ and self.PRIORITY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPRIORITY>%s</%sPRIORITY>%s' % (namespaceprefix_ , self.gds_format_integer(self.PRIORITY, input_name='PRIORITY'), namespaceprefix_ , eol_))
        if self.LAST_BACKUP_TIME is not None:
            namespaceprefix_ = self.LAST_BACKUP_TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.LAST_BACKUP_TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLAST_BACKUP_TIME>%s</%sLAST_BACKUP_TIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.LAST_BACKUP_TIME, input_name='LAST_BACKUP_TIME'), namespaceprefix_ , eol_))
        if self.LAST_BACKUP_DURATION is not None:
            namespaceprefix_ = self.LAST_BACKUP_DURATION_nsprefix_ + ':' if (UseCapturedNS_ and self.LAST_BACKUP_DURATION_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLAST_BACKUP_DURATION>%s</%sLAST_BACKUP_DURATION>%s' % (namespaceprefix_ , self.gds_format_integer(self.LAST_BACKUP_DURATION, input_name='LAST_BACKUP_DURATION'), namespaceprefix_ , eol_))
        if self.SCHED_ACTIONS is not None:
            namespaceprefix_ = self.SCHED_ACTIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.SCHED_ACTIONS_nsprefix_) else ''
            self.SCHED_ACTIONS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SCHED_ACTIONS', pretty_print=pretty_print)
        if self.UPDATED_VMS is not None:
            namespaceprefix_ = self.UPDATED_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.UPDATED_VMS_nsprefix_) else ''
            self.UPDATED_VMS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UPDATED_VMS', pretty_print=pretty_print)
        if self.OUTDATED_VMS is not None:
            namespaceprefix_ = self.OUTDATED_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.OUTDATED_VMS_nsprefix_) else ''
            self.OUTDATED_VMS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OUTDATED_VMS', pretty_print=pretty_print)
        if self.BACKING_UP_VMS is not None:
            namespaceprefix_ = self.BACKING_UP_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.BACKING_UP_VMS_nsprefix_) else ''
            self.BACKING_UP_VMS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BACKING_UP_VMS', pretty_print=pretty_print)
        if self.ERROR_VMS is not None:
            namespaceprefix_ = self.ERROR_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.ERROR_VMS_nsprefix_) else ''
            self.ERROR_VMS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ERROR_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_ == '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_ = LOCK.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOCK = obj_
            obj_.original_tagname_ = 'LOCK'
        elif nodeName_ == 'PERMISSIONS':
            obj_ = PERMISSIONS.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'PRIORITY' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PRIORITY')
            ival_ = self.gds_validate_integer(ival_, node, 'PRIORITY')
            self.PRIORITY = ival_
            self.PRIORITY_nsprefix_ = child_.prefix
        elif nodeName_ == 'LAST_BACKUP_TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LAST_BACKUP_TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'LAST_BACKUP_TIME')
            self.LAST_BACKUP_TIME = ival_
            self.LAST_BACKUP_TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'LAST_BACKUP_DURATION' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LAST_BACKUP_DURATION')
            ival_ = self.gds_validate_integer(ival_, node, 'LAST_BACKUP_DURATION')
            self.LAST_BACKUP_DURATION = ival_
            self.LAST_BACKUP_DURATION_nsprefix_ = child_.prefix
        elif nodeName_ == 'SCHED_ACTIONS':
            obj_ = IDS.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SCHED_ACTIONS = obj_
            obj_.original_tagname_ = 'SCHED_ACTIONS'
        elif nodeName_ == 'UPDATED_VMS':
            obj_ = IDS.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.UPDATED_VMS = obj_
            obj_.original_tagname_ = 'UPDATED_VMS'
        elif nodeName_ == 'OUTDATED_VMS':
            obj_ = IDS.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.OUTDATED_VMS = obj_
            obj_.original_tagname_ = 'OUTDATED_VMS'
        elif nodeName_ == 'BACKING_UP_VMS':
            obj_ = IDS.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.BACKING_UP_VMS = obj_
            obj_.original_tagname_ = 'BACKING_UP_VMS'
        elif nodeName_ == 'ERROR_VMS':
            obj_ = IDS.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.ERROR_VMS = obj_
            obj_.original_tagname_ = 'ERROR_VMS'
        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 BACKUPJOB


class LOCK(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_, LOCK)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if LOCK.subclass:
            return LOCK.subclass(*args_, **kwargs_)
        else:
            return LOCK(*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 has__content(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_='LOCK', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('LOCK')
        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_ == 'LOCK':
            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_='LOCK')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LOCK', 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_='LOCK'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='LOCK', 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 LOCK


class PERMISSIONS(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_, PERMISSIONS)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if PERMISSIONS.subclass:
            return PERMISSIONS.subclass(*args_, **kwargs_)
        else:
            return PERMISSIONS(*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 has__content(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_='PERMISSIONS', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('PERMISSIONS')
        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_ == 'PERMISSIONS':
            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_='PERMISSIONS')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PERMISSIONS', 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_='PERMISSIONS'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='PERMISSIONS', 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 PERMISSIONS


class IDS(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_, IDS)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if IDS.subclass:
            return IDS.subclass(*args_, **kwargs_)
        else:
            return IDS(*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 has__content(self):
        if (
            self.ID
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IDS', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('IDS')
        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_ == 'IDS':
            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_='IDS')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='IDS', 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_='IDS'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='IDS', 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 IDS


class SCHED_ACTION(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, PARENT_ID=None, TYPE=None, ACTION=None, ARGS=None, TIME=None, REPEAT=None, DAYS=None, END_TYPE=None, END_VALUE=None, DONE=None, MESSAGE=None, WARNING=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.PARENT_ID = PARENT_ID
        self.PARENT_ID_nsprefix_ = None
        self.TYPE = TYPE
        self.TYPE_nsprefix_ = None
        self.ACTION = ACTION
        self.ACTION_nsprefix_ = None
        self.ARGS = ARGS
        self.ARGS_nsprefix_ = None
        self.TIME = TIME
        self.TIME_nsprefix_ = None
        self.REPEAT = REPEAT
        self.REPEAT_nsprefix_ = None
        self.DAYS = DAYS
        self.DAYS_nsprefix_ = None
        self.END_TYPE = END_TYPE
        self.END_TYPE_nsprefix_ = None
        self.END_VALUE = END_VALUE
        self.END_VALUE_nsprefix_ = None
        self.DONE = DONE
        self.DONE_nsprefix_ = None
        self.MESSAGE = MESSAGE
        self.MESSAGE_nsprefix_ = None
        self.WARNING = WARNING
        self.WARNING_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SCHED_ACTION)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SCHED_ACTION.subclass:
            return SCHED_ACTION.subclass(*args_, **kwargs_)
        else:
            return SCHED_ACTION(*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_PARENT_ID(self):
        return self.PARENT_ID
    def set_PARENT_ID(self, PARENT_ID):
        self.PARENT_ID = PARENT_ID
    def get_TYPE(self):
        return self.TYPE
    def set_TYPE(self, TYPE):
        self.TYPE = TYPE
    def get_ACTION(self):
        return self.ACTION
    def set_ACTION(self, ACTION):
        self.ACTION = ACTION
    def get_ARGS(self):
        return self.ARGS
    def set_ARGS(self, ARGS):
        self.ARGS = ARGS
    def get_TIME(self):
        return self.TIME
    def set_TIME(self, TIME):
        self.TIME = TIME
    def get_REPEAT(self):
        return self.REPEAT
    def set_REPEAT(self, REPEAT):
        self.REPEAT = REPEAT
    def get_DAYS(self):
        return self.DAYS
    def set_DAYS(self, DAYS):
        self.DAYS = DAYS
    def get_END_TYPE(self):
        return self.END_TYPE
    def set_END_TYPE(self, END_TYPE):
        self.END_TYPE = END_TYPE
    def get_END_VALUE(self):
        return self.END_VALUE
    def set_END_VALUE(self, END_VALUE):
        self.END_VALUE = END_VALUE
    def get_DONE(self):
        return self.DONE
    def set_DONE(self, DONE):
        self.DONE = DONE
    def get_MESSAGE(self):
        return self.MESSAGE
    def set_MESSAGE(self, MESSAGE):
        self.MESSAGE = MESSAGE
    def get_WARNING(self):
        return self.WARNING
    def set_WARNING(self, WARNING):
        self.WARNING = WARNING
    def has__content(self):
        if (
            self.ID is not None or
            self.PARENT_ID is not None or
            self.TYPE is not None or
            self.ACTION is not None or
            self.ARGS is not None or
            self.TIME is not None or
            self.REPEAT is not None or
            self.DAYS is not None or
            self.END_TYPE is not None or
            self.END_VALUE is not None or
            self.DONE is not None or
            self.MESSAGE is not None or
            self.WARNING is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SCHED_ACTION', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SCHED_ACTION')
        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_ == 'SCHED_ACTION':
            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_='SCHED_ACTION')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SCHED_ACTION', 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_='SCHED_ACTION'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SCHED_ACTION', 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.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_format_integer(self.PARENT_ID, input_name='PARENT_ID'), 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.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_encode(self.gds_format_string(quote_xml(self.ACTION), input_name='ACTION')), namespaceprefix_ , eol_))
        if self.ARGS is not None:
            namespaceprefix_ = self.ARGS_nsprefix_ + ':' if (UseCapturedNS_ and self.ARGS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sARGS>%s</%sARGS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ARGS), input_name='ARGS')), 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_encode(self.gds_format_string(quote_xml(self.TIME), input_name='TIME')), namespaceprefix_ , eol_))
        if self.REPEAT is not None:
            namespaceprefix_ = self.REPEAT_nsprefix_ + ':' if (UseCapturedNS_ and self.REPEAT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sREPEAT>%s</%sREPEAT>%s' % (namespaceprefix_ , self.gds_format_integer(self.REPEAT, input_name='REPEAT'), namespaceprefix_ , eol_))
        if self.DAYS is not None:
            namespaceprefix_ = self.DAYS_nsprefix_ + ':' if (UseCapturedNS_ and self.DAYS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDAYS>%s</%sDAYS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.DAYS), input_name='DAYS')), namespaceprefix_ , eol_))
        if self.END_TYPE is not None:
            namespaceprefix_ = self.END_TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.END_TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sEND_TYPE>%s</%sEND_TYPE>%s' % (namespaceprefix_ , self.gds_format_integer(self.END_TYPE, input_name='END_TYPE'), namespaceprefix_ , eol_))
        if self.END_VALUE is not None:
            namespaceprefix_ = self.END_VALUE_nsprefix_ + ':' if (UseCapturedNS_ and self.END_VALUE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sEND_VALUE>%s</%sEND_VALUE>%s' % (namespaceprefix_ , self.gds_format_integer(self.END_VALUE, input_name='END_VALUE'), namespaceprefix_ , eol_))
        if self.DONE is not None:
            namespaceprefix_ = self.DONE_nsprefix_ + ':' if (UseCapturedNS_ and self.DONE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDONE>%s</%sDONE>%s' % (namespaceprefix_ , self.gds_format_integer(self.DONE, input_name='DONE'), namespaceprefix_ , eol_))
        if self.MESSAGE is not None:
            namespaceprefix_ = self.MESSAGE_nsprefix_ + ':' if (UseCapturedNS_ and self.MESSAGE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMESSAGE>%s</%sMESSAGE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.MESSAGE), input_name='MESSAGE')), namespaceprefix_ , eol_))
        if self.WARNING is not None:
            namespaceprefix_ = self.WARNING_nsprefix_ + ':' if (UseCapturedNS_ and self.WARNING_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sWARNING>%s</%sWARNING>%s' % (namespaceprefix_ , self.gds_format_integer(self.WARNING, input_name='WARNING'), 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_ == 'PARENT_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PARENT_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'PARENT_ID')
            self.PARENT_ID = ival_
            self.PARENT_ID_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_ == 'ACTION':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ACTION')
            value_ = self.gds_validate_string(value_, node, 'ACTION')
            self.ACTION = value_
            self.ACTION_nsprefix_ = child_.prefix
        elif nodeName_ == 'ARGS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ARGS')
            value_ = self.gds_validate_string(value_, node, 'ARGS')
            self.ARGS = value_
            self.ARGS_nsprefix_ = child_.prefix
        elif nodeName_ == 'TIME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'TIME')
            value_ = self.gds_validate_string(value_, node, 'TIME')
            self.TIME = value_
            self.TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'REPEAT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'REPEAT')
            ival_ = self.gds_validate_integer(ival_, node, 'REPEAT')
            self.REPEAT = ival_
            self.REPEAT_nsprefix_ = child_.prefix
        elif nodeName_ == 'DAYS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DAYS')
            value_ = self.gds_validate_string(value_, node, 'DAYS')
            self.DAYS = value_
            self.DAYS_nsprefix_ = child_.prefix
        elif nodeName_ == 'END_TYPE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'END_TYPE')
            ival_ = self.gds_validate_integer(ival_, node, 'END_TYPE')
            self.END_TYPE = ival_
            self.END_TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'END_VALUE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'END_VALUE')
            ival_ = self.gds_validate_integer(ival_, node, 'END_VALUE')
            self.END_VALUE = ival_
            self.END_VALUE_nsprefix_ = child_.prefix
        elif nodeName_ == 'DONE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DONE')
            ival_ = self.gds_validate_integer(ival_, node, 'DONE')
            self.DONE = ival_
            self.DONE_nsprefix_ = child_.prefix
        elif nodeName_ == 'MESSAGE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MESSAGE')
            value_ = self.gds_validate_string(value_, node, 'MESSAGE')
            self.MESSAGE = value_
            self.MESSAGE_nsprefix_ = child_.prefix
        elif nodeName_ == 'WARNING' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'WARNING')
            ival_ = self.gds_validate_integer(ival_, node, 'WARNING')
            self.WARNING = ival_
            self.WARNING_nsprefix_ = child_.prefix
# end class SCHED_ACTION


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 has__content(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.has__content():
            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 has__content(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.has__content():
            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 has__content(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.has__content():
            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 has__content(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.has__content():
            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_ = TEMPLATEType2.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
# end class DATASTORE


class DOCUMENT_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, DOCUMENT=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 DOCUMENT is None:
            self.DOCUMENT = []
        else:
            self.DOCUMENT = DOCUMENT
        self.DOCUMENT_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DOCUMENT_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DOCUMENT_POOL.subclass:
            return DOCUMENT_POOL.subclass(*args_, **kwargs_)
        else:
            return DOCUMENT_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_DOCUMENT(self):
        return self.DOCUMENT
    def set_DOCUMENT(self, DOCUMENT):
        self.DOCUMENT = DOCUMENT
    def add_DOCUMENT(self, value):
        self.DOCUMENT.append(value)
    def insert_DOCUMENT_at(self, index, value):
        self.DOCUMENT.insert(index, value)
    def replace_DOCUMENT_at(self, index, value):
        self.DOCUMENT[index] = value
    def has__content(self):
        if (
            self.DOCUMENT
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DOCUMENT_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOCUMENT_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_ == 'DOCUMENT_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_='DOCUMENT_POOL')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOCUMENT_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_='DOCUMENT_POOL'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DOCUMENT_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for DOCUMENT_ in self.DOCUMENT:
            namespaceprefix_ = self.DOCUMENT_nsprefix_ + ':' if (UseCapturedNS_ and self.DOCUMENT_nsprefix_) else ''
            DOCUMENT_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DOCUMENT', 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_ == 'DOCUMENT':
            obj_ = DOCUMENT.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DOCUMENT.append(obj_)
            obj_.original_tagname_ = 'DOCUMENT'
# end class DOCUMENT_POOL


class DOCUMENT(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, UID=None, GID=None, UNAME=None, GNAME=None, NAME=None, TYPE=None, PERMISSIONS=None, LOCK=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.TYPE = TYPE
        self.TYPE_nsprefix_ = None
        self.PERMISSIONS = PERMISSIONS
        self.PERMISSIONS_nsprefix_ = None
        self.LOCK = LOCK
        self.LOCK_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, DOCUMENT)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if DOCUMENT.subclass:
            return DOCUMENT.subclass(*args_, **kwargs_)
        else:
            return DOCUMENT(*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_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_LOCK(self):
        return self.LOCK
    def set_LOCK(self, LOCK):
        self.LOCK = LOCK
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def has__content(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.TYPE is not None or
            self.PERMISSIONS is not None or
            self.LOCK 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_='DOCUMENT', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('DOCUMENT')
        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_ == 'DOCUMENT':
            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_='DOCUMENT')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DOCUMENT', 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_='DOCUMENT'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='DOCUMENT', 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.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.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.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_ == '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_ == 'PERMISSIONS':
            obj_ = PERMISSIONSType3.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        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_ == '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 DOCUMENT


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 has__content(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.has__content():
            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 has__content(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.has__content():
            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_ = USERSType13.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.USERS = obj_
            obj_.original_tagname_ = 'USERS'
        elif nodeName_ == 'ADMINS':
            obj_ = ADMINSType14.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.ADMINS = obj_
            obj_.original_tagname_ = 'ADMINS'
        elif nodeName_ == 'DATASTORE_QUOTA':
            obj_ = DATASTORE_QUOTAType15.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_QUOTAType17.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_QUOTAType19.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_QUOTAType21.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_QUOTASType23.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 HOOK_MESSAGE(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, HOOK_TYPE=None, CALL=None, CALL_INFO=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.HOOK_TYPE = HOOK_TYPE
        self.HOOK_TYPE_nsprefix_ = None
        self.CALL = CALL
        self.CALL_nsprefix_ = None
        if CALL_INFO is None:
            self.CALL_INFO = []
        else:
            self.CALL_INFO = CALL_INFO
        self.CALL_INFO_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HOOK_MESSAGE)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HOOK_MESSAGE.subclass:
            return HOOK_MESSAGE.subclass(*args_, **kwargs_)
        else:
            return HOOK_MESSAGE(*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_HOOK_TYPE(self):
        return self.HOOK_TYPE
    def set_HOOK_TYPE(self, HOOK_TYPE):
        self.HOOK_TYPE = HOOK_TYPE
    def get_CALL(self):
        return self.CALL
    def set_CALL(self, CALL):
        self.CALL = CALL
    def get_CALL_INFO(self):
        return self.CALL_INFO
    def set_CALL_INFO(self, CALL_INFO):
        self.CALL_INFO = CALL_INFO
    def add_CALL_INFO(self, value):
        self.CALL_INFO.append(value)
    def insert_CALL_INFO_at(self, index, value):
        self.CALL_INFO.insert(index, value)
    def replace_CALL_INFO_at(self, index, value):
        self.CALL_INFO[index] = value
    def has__content(self):
        if (
            self.HOOK_TYPE is not None or
            self.CALL is not None or
            self.CALL_INFO
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOOK_MESSAGE', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HOOK_MESSAGE')
        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_ == 'HOOK_MESSAGE':
            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_='HOOK_MESSAGE')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HOOK_MESSAGE', 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_='HOOK_MESSAGE'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOOK_MESSAGE', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.HOOK_TYPE is not None:
            namespaceprefix_ = self.HOOK_TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.HOOK_TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sHOOK_TYPE>%s</%sHOOK_TYPE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.HOOK_TYPE), input_name='HOOK_TYPE')), namespaceprefix_ , eol_))
        if self.CALL is not None:
            namespaceprefix_ = self.CALL_nsprefix_ + ':' if (UseCapturedNS_ and self.CALL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCALL>%s</%sCALL>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CALL), input_name='CALL')), namespaceprefix_ , eol_))
        for CALL_INFO_ in self.CALL_INFO:
            namespaceprefix_ = self.CALL_INFO_nsprefix_ + ':' if (UseCapturedNS_ and self.CALL_INFO_nsprefix_) else ''
            CALL_INFO_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CALL_INFO', 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_ == 'HOOK_TYPE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'HOOK_TYPE')
            value_ = self.gds_validate_string(value_, node, 'HOOK_TYPE')
            self.HOOK_TYPE = value_
            self.HOOK_TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'CALL':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CALL')
            value_ = self.gds_validate_string(value_, node, 'CALL')
            self.CALL = value_
            self.CALL_nsprefix_ = child_.prefix
        elif nodeName_ == 'CALL_INFO':
            obj_ = CALL_INFO.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.CALL_INFO.append(obj_)
            obj_.original_tagname_ = 'CALL_INFO'
# end class HOOK_MESSAGE


class HOOK_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, HOOK=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 HOOK is None:
            self.HOOK = []
        else:
            self.HOOK = HOOK
        self.HOOK_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HOOK_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HOOK_POOL.subclass:
            return HOOK_POOL.subclass(*args_, **kwargs_)
        else:
            return HOOK_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_HOOK(self):
        return self.HOOK
    def set_HOOK(self, HOOK):
        self.HOOK = HOOK
    def add_HOOK(self, value):
        self.HOOK.append(value)
    def insert_HOOK_at(self, index, value):
        self.HOOK.insert(index, value)
    def replace_HOOK_at(self, index, value):
        self.HOOK[index] = value
    def has__content(self):
        if (
            self.HOOK
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOOK_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HOOK_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_ == 'HOOK_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_='HOOK_POOL')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HOOK_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_='HOOK_POOL'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOOK_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for HOOK_ in self.HOOK:
            namespaceprefix_ = self.HOOK_nsprefix_ + ':' if (UseCapturedNS_ and self.HOOK_nsprefix_) else ''
            HOOK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HOOK', 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_ == 'HOOK':
            obj_ = HOOK.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HOOK.append(obj_)
            obj_.original_tagname_ = 'HOOK'
# end class HOOK_POOL


class HOOK(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, ID=None, NAME=None, TYPE=None, TEMPLATE=None, HOOKLOG=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.TYPE = TYPE
        self.TYPE_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
        self.HOOKLOG = HOOKLOG
        self.HOOKLOG_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, HOOK)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if HOOK.subclass:
            return HOOK.subclass(*args_, **kwargs_)
        else:
            return HOOK(*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_TYPE(self):
        return self.TYPE
    def set_TYPE(self, TYPE):
        self.TYPE = TYPE
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def get_HOOKLOG(self):
        return self.HOOKLOG
    def set_HOOKLOG(self, HOOKLOG):
        self.HOOKLOG = HOOKLOG
    def has__content(self):
        if (
            self.ID is not None or
            self.NAME is not None or
            self.TYPE is not None or
            self.TEMPLATE is not None or
            self.HOOKLOG is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOOK', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('HOOK')
        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_ == 'HOOK':
            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_='HOOK')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='HOOK', 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_='HOOK'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='HOOK', 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.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.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.HOOKLOG is not None:
            namespaceprefix_ = self.HOOKLOG_nsprefix_ + ':' if (UseCapturedNS_ and self.HOOKLOG_nsprefix_) else ''
            self.HOOKLOG.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HOOKLOG', 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_ == '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_ == 'TEMPLATE':
            obj_ = TEMPLATEType32.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
        elif nodeName_ == 'HOOKLOG':
            obj_ = HOOKLOGType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HOOKLOG = obj_
            obj_.original_tagname_ = 'HOOKLOG'
# end class HOOK


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 has__content(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.has__content():
            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, CLUSTER_ID=None, CLUSTER=None, HOST_SHARE=None, VMS=None, TEMPLATE=None, MONITORING=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.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
        self.MONITORING = MONITORING
        self.MONITORING_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_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 get_MONITORING(self):
        return self.MONITORING
    def set_MONITORING(self, MONITORING):
        self.MONITORING = MONITORING
    def has__content(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.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 or
            self.MONITORING 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.has__content():
            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.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)
        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)
    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_ == '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_ = TEMPLATEType34.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'
# 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 has__content(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.has__content():
            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, FORMAT=None, FS=None, SIZE=None, STATE=None, PREV_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, BACKUP_INCREMENTS=None, BACKUP_DISK_IDS=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.FORMAT = FORMAT
        self.FORMAT_nsprefix_ = None
        self.FS = FS
        self.FS_nsprefix_ = None
        self.SIZE = SIZE
        self.SIZE_nsprefix_ = None
        self.STATE = STATE
        self.STATE_nsprefix_ = None
        self.PREV_STATE = PREV_STATE
        self.PREV_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
        self.BACKUP_INCREMENTS = BACKUP_INCREMENTS
        self.BACKUP_INCREMENTS_nsprefix_ = None
        self.BACKUP_DISK_IDS = BACKUP_DISK_IDS
        self.BACKUP_DISK_IDS_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_FORMAT(self):
        return self.FORMAT
    def set_FORMAT(self, FORMAT):
        self.FORMAT = FORMAT
    def get_FS(self):
        return self.FS
    def set_FS(self, FS):
        self.FS = FS
    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_PREV_STATE(self):
        return self.PREV_STATE
    def set_PREV_STATE(self, PREV_STATE):
        self.PREV_STATE = PREV_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 get_BACKUP_INCREMENTS(self):
        return self.BACKUP_INCREMENTS
    def set_BACKUP_INCREMENTS(self, BACKUP_INCREMENTS):
        self.BACKUP_INCREMENTS = BACKUP_INCREMENTS
    def get_BACKUP_DISK_IDS(self):
        return self.BACKUP_DISK_IDS
    def set_BACKUP_DISK_IDS(self, BACKUP_DISK_IDS):
        self.BACKUP_DISK_IDS = BACKUP_DISK_IDS
    def has__content(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.FORMAT is not None or
            self.FS is not None or
            self.SIZE is not None or
            self.STATE is not None or
            self.PREV_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 or
            self.BACKUP_INCREMENTS is not None or
            self.BACKUP_DISK_IDS 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.has__content():
            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.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.FS is not None:
            namespaceprefix_ = self.FS_nsprefix_ + ':' if (UseCapturedNS_ and self.FS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sFS>%s</%sFS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.FS), input_name='FS')), 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.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.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)
        if self.BACKUP_INCREMENTS is not None:
            namespaceprefix_ = self.BACKUP_INCREMENTS_nsprefix_ + ':' if (UseCapturedNS_ and self.BACKUP_INCREMENTS_nsprefix_) else ''
            self.BACKUP_INCREMENTS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BACKUP_INCREMENTS', pretty_print=pretty_print)
        if self.BACKUP_DISK_IDS is not None:
            namespaceprefix_ = self.BACKUP_DISK_IDS_nsprefix_ + ':' if (UseCapturedNS_ and self.BACKUP_DISK_IDS_nsprefix_) else ''
            self.BACKUP_DISK_IDS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BACKUP_DISK_IDS', 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_ = LOCKType37.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOCK = obj_
            obj_.original_tagname_ = 'LOCK'
        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_ == '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_ == '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_ == 'FS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'FS')
            value_ = self.gds_validate_string(value_, node, 'FS')
            self.FS = value_
            self.FS_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_ == '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_ == '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_ = IDS.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VMS = obj_
            obj_.original_tagname_ = 'VMS'
        elif nodeName_ == 'CLONES':
            obj_ = IDS.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.CLONES = obj_
            obj_.original_tagname_ = 'CLONES'
        elif nodeName_ == 'APP_CLONES':
            obj_ = IDS.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.APP_CLONES = obj_
            obj_.original_tagname_ = 'APP_CLONES'
        elif nodeName_ == 'TEMPLATE':
            obj_ = TEMPLATEType39.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
        elif nodeName_ == 'SNAPSHOTS':
            obj_ = SNAPSHOTSType40.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SNAPSHOTS = obj_
            obj_.original_tagname_ = 'SNAPSHOTS'
        elif nodeName_ == 'BACKUP_INCREMENTS':
            obj_ = BACKUP_INCREMENTSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.BACKUP_INCREMENTS = obj_
            obj_.original_tagname_ = 'BACKUP_INCREMENTS'
        elif nodeName_ == 'BACKUP_DISK_IDS':
            obj_ = IDS.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.BACKUP_DISK_IDS = obj_
            obj_.original_tagname_ = 'BACKUP_DISK_IDS'
# 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 has__content(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.has__content():
            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 has__content(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.has__content():
            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_ = LOCKType42.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_ = PERMISSIONSType43.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 has__content(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.has__content():
            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, STATE=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.STATE = STATE
        self.STATE_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_STATE(self):
        return self.STATE
    def set_STATE(self, STATE):
        self.STATE = STATE
    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 has__content(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.STATE 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.has__content():
            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.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.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_ == '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_ == '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_ = PERMISSIONSType44.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 MONITORING_DATA(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, MONITORING=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 MONITORING is None:
            self.MONITORING = []
        else:
            self.MONITORING = MONITORING
        self.MONITORING_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, MONITORING_DATA)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if MONITORING_DATA.subclass:
            return MONITORING_DATA.subclass(*args_, **kwargs_)
        else:
            return MONITORING_DATA(*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_MONITORING(self):
        return self.MONITORING
    def set_MONITORING(self, MONITORING):
        self.MONITORING = MONITORING
    def add_MONITORING(self, value):
        self.MONITORING.append(value)
    def insert_MONITORING_at(self, index, value):
        self.MONITORING.insert(index, value)
    def replace_MONITORING_at(self, index, value):
        self.MONITORING[index] = value
    def has__content(self):
        if (
            self.MONITORING
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MONITORING_DATA', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('MONITORING_DATA')
        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_DATA':
            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_DATA')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='MONITORING_DATA', 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_='MONITORING_DATA'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='MONITORING_DATA', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for MONITORING_ in self.MONITORING:
            namespaceprefix_ = self.MONITORING_nsprefix_ + ':' if (UseCapturedNS_ and self.MONITORING_nsprefix_) else ''
            MONITORING_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MONITORING', 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_ == 'MONITORING':
            obj_ = MONITORINGType45.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.MONITORING.append(obj_)
            obj_.original_tagname_ = 'MONITORING'
# end class MONITORING_DATA


class OPENNEBULA_CONFIGURATION(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, API_LIST_ORDER=None, AUTH_MAD=None, AUTH_MAD_CONF=None, CLUSTER_ENCRYPTED_ATTR=None, CONTEXT_RESTRICTED_DIRS=None, CONTEXT_SAFE_DIRS=None, DATASTORE_CAPACITY_CHECK=None, DATASTORE_ENCRYPTED_ATTR=None, DATASTORE_LOCATION=None, DATASTORE_MAD=None, DB=None, DEFAULT_AUTH=None, DEFAULT_CDROM_DEVICE_PREFIX=None, DEFAULT_COST=None, DEFAULT_DEVICE_PREFIX=None, DEFAULT_IMAGE_PERSISTENT=None, DEFAULT_IMAGE_PERSISTENT_NEW=None, DEFAULT_IMAGE_TYPE=None, DEFAULT_UMASK=None, DEFAULT_VDC_CLUSTER_DATASTORE_ACL=None, DEFAULT_VDC_CLUSTER_HOST_ACL=None, DEFAULT_VDC_CLUSTER_NET_ACL=None, DEFAULT_VDC_DATASTORE_ACL=None, DEFAULT_VDC_HOST_ACL=None, DEFAULT_VDC_VNET_ACL=None, DOCUMENT_ENCRYPTED_ATTR=None, DS_MAD_CONF=None, DS_MONITOR_VM_DISK=None, ENABLE_OTHER_PERMISSIONS=None, FEDERATION=None, GROUP_RESTRICTED_ATTR=None, HM_MAD=None, HOOK_LOG_CONF=None, HOST_ENCRYPTED_ATTR=None, IMAGE_ENCRYPTED_ATTR=None, IMAGE_RESTRICTED_ATTR=None, IM_MAD=None, INHERIT_DATASTORE_ATTR=None, INHERIT_IMAGE_ATTR=None, INHERIT_VNET_ATTR=None, IPAM_MAD=None, KEEPALIVE_MAX_CONN=None, KEEPALIVE_TIMEOUT=None, LISTEN_ADDRESS=None, LOG=None, LOG_CALL_FORMAT=None, MAC_PREFIX=None, MANAGER_TIMER=None, MARKET_MAD=None, MARKET_MAD_CONF=None, MAX_BACKUPS=None, MAX_BACKUPS_HOST=None, MAX_CONN=None, MAX_CONN_BACKLOG=None, MESSAGE_SIZE=None, MONITORING_INTERVAL_DATASTORE=None, MONITORING_INTERVAL_HOST=None, MONITORING_INTERVAL_MARKET=None, MONITORING_INTERVAL_VM=None, NETWORK_SIZE=None, ONE_KEY=None, PCI_PASSTHROUGH_BUS=None, PORT=None, RAFT=None, RPC_LOG=None, SCRIPTS_REMOTE_DIR=None, SESSION_EXPIRATION_TIME=None, SHOWBACK_ONLY_RUNNING=None, TIMEOUT=None, TM_MAD=None, TM_MAD_CONF=None, USER_ENCRYPTED_ATTR=None, USER_RESTRICTED_ATTR=None, VLAN_IDS=None, VM_ADMIN_OPERATIONS=None, VM_ENCRYPTED_ATTR=None, VM_MAD=None, VM_MANAGE_OPERATIONS=None, VM_MONITORING_EXPIRATION_TIME=None, VM_RESTRICTED_ATTR=None, VM_SNAPSHOT_FACTOR=None, VM_SUBMIT_ON_HOLD=None, VM_USE_OPERATIONS=None, VNC_PORTS=None, VNET_ENCRYPTED_ATTR=None, VNET_RESTRICTED_ATTR=None, VN_MAD_CONF=None, VXLAN_IDS=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 API_LIST_ORDER is None:
            self.API_LIST_ORDER = []
        else:
            self.API_LIST_ORDER = API_LIST_ORDER
        self.API_LIST_ORDER_nsprefix_ = None
        if AUTH_MAD is None:
            self.AUTH_MAD = []
        else:
            self.AUTH_MAD = AUTH_MAD
        self.AUTH_MAD_nsprefix_ = None
        if AUTH_MAD_CONF is None:
            self.AUTH_MAD_CONF = []
        else:
            self.AUTH_MAD_CONF = AUTH_MAD_CONF
        self.AUTH_MAD_CONF_nsprefix_ = None
        if CLUSTER_ENCRYPTED_ATTR is None:
            self.CLUSTER_ENCRYPTED_ATTR = []
        else:
            self.CLUSTER_ENCRYPTED_ATTR = CLUSTER_ENCRYPTED_ATTR
        self.CLUSTER_ENCRYPTED_ATTR_nsprefix_ = None
        self.CONTEXT_RESTRICTED_DIRS = CONTEXT_RESTRICTED_DIRS
        self.CONTEXT_RESTRICTED_DIRS_nsprefix_ = None
        self.CONTEXT_SAFE_DIRS = CONTEXT_SAFE_DIRS
        self.CONTEXT_SAFE_DIRS_nsprefix_ = None
        if DATASTORE_CAPACITY_CHECK is None:
            self.DATASTORE_CAPACITY_CHECK = []
        else:
            self.DATASTORE_CAPACITY_CHECK = DATASTORE_CAPACITY_CHECK
        self.DATASTORE_CAPACITY_CHECK_nsprefix_ = None
        if DATASTORE_ENCRYPTED_ATTR is None:
            self.DATASTORE_ENCRYPTED_ATTR = []
        else:
            self.DATASTORE_ENCRYPTED_ATTR = DATASTORE_ENCRYPTED_ATTR
        self.DATASTORE_ENCRYPTED_ATTR_nsprefix_ = None
        if DATASTORE_LOCATION is None:
            self.DATASTORE_LOCATION = []
        else:
            self.DATASTORE_LOCATION = DATASTORE_LOCATION
        self.DATASTORE_LOCATION_nsprefix_ = None
        if DATASTORE_MAD is None:
            self.DATASTORE_MAD = []
        else:
            self.DATASTORE_MAD = DATASTORE_MAD
        self.DATASTORE_MAD_nsprefix_ = None
        self.DB = DB
        self.DB_nsprefix_ = None
        if DEFAULT_AUTH is None:
            self.DEFAULT_AUTH = []
        else:
            self.DEFAULT_AUTH = DEFAULT_AUTH
        self.DEFAULT_AUTH_nsprefix_ = None
        if DEFAULT_CDROM_DEVICE_PREFIX is None:
            self.DEFAULT_CDROM_DEVICE_PREFIX = []
        else:
            self.DEFAULT_CDROM_DEVICE_PREFIX = DEFAULT_CDROM_DEVICE_PREFIX
        self.DEFAULT_CDROM_DEVICE_PREFIX_nsprefix_ = None
        if DEFAULT_COST is None:
            self.DEFAULT_COST = []
        else:
            self.DEFAULT_COST = DEFAULT_COST
        self.DEFAULT_COST_nsprefix_ = None
        if DEFAULT_DEVICE_PREFIX is None:
            self.DEFAULT_DEVICE_PREFIX = []
        else:
            self.DEFAULT_DEVICE_PREFIX = DEFAULT_DEVICE_PREFIX
        self.DEFAULT_DEVICE_PREFIX_nsprefix_ = None
        if DEFAULT_IMAGE_PERSISTENT is None:
            self.DEFAULT_IMAGE_PERSISTENT = []
        else:
            self.DEFAULT_IMAGE_PERSISTENT = DEFAULT_IMAGE_PERSISTENT
        self.DEFAULT_IMAGE_PERSISTENT_nsprefix_ = None
        if DEFAULT_IMAGE_PERSISTENT_NEW is None:
            self.DEFAULT_IMAGE_PERSISTENT_NEW = []
        else:
            self.DEFAULT_IMAGE_PERSISTENT_NEW = DEFAULT_IMAGE_PERSISTENT_NEW
        self.DEFAULT_IMAGE_PERSISTENT_NEW_nsprefix_ = None
        if DEFAULT_IMAGE_TYPE is None:
            self.DEFAULT_IMAGE_TYPE = []
        else:
            self.DEFAULT_IMAGE_TYPE = DEFAULT_IMAGE_TYPE
        self.DEFAULT_IMAGE_TYPE_nsprefix_ = None
        if DEFAULT_UMASK is None:
            self.DEFAULT_UMASK = []
        else:
            self.DEFAULT_UMASK = DEFAULT_UMASK
        self.DEFAULT_UMASK_nsprefix_ = None
        if DEFAULT_VDC_CLUSTER_DATASTORE_ACL is None:
            self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL = []
        else:
            self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL = DEFAULT_VDC_CLUSTER_DATASTORE_ACL
        self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL_nsprefix_ = None
        if DEFAULT_VDC_CLUSTER_HOST_ACL is None:
            self.DEFAULT_VDC_CLUSTER_HOST_ACL = []
        else:
            self.DEFAULT_VDC_CLUSTER_HOST_ACL = DEFAULT_VDC_CLUSTER_HOST_ACL
        self.DEFAULT_VDC_CLUSTER_HOST_ACL_nsprefix_ = None
        if DEFAULT_VDC_CLUSTER_NET_ACL is None:
            self.DEFAULT_VDC_CLUSTER_NET_ACL = []
        else:
            self.DEFAULT_VDC_CLUSTER_NET_ACL = DEFAULT_VDC_CLUSTER_NET_ACL
        self.DEFAULT_VDC_CLUSTER_NET_ACL_nsprefix_ = None
        if DEFAULT_VDC_DATASTORE_ACL is None:
            self.DEFAULT_VDC_DATASTORE_ACL = []
        else:
            self.DEFAULT_VDC_DATASTORE_ACL = DEFAULT_VDC_DATASTORE_ACL
        self.DEFAULT_VDC_DATASTORE_ACL_nsprefix_ = None
        if DEFAULT_VDC_HOST_ACL is None:
            self.DEFAULT_VDC_HOST_ACL = []
        else:
            self.DEFAULT_VDC_HOST_ACL = DEFAULT_VDC_HOST_ACL
        self.DEFAULT_VDC_HOST_ACL_nsprefix_ = None
        if DEFAULT_VDC_VNET_ACL is None:
            self.DEFAULT_VDC_VNET_ACL = []
        else:
            self.DEFAULT_VDC_VNET_ACL = DEFAULT_VDC_VNET_ACL
        self.DEFAULT_VDC_VNET_ACL_nsprefix_ = None
        if DOCUMENT_ENCRYPTED_ATTR is None:
            self.DOCUMENT_ENCRYPTED_ATTR = []
        else:
            self.DOCUMENT_ENCRYPTED_ATTR = DOCUMENT_ENCRYPTED_ATTR
        self.DOCUMENT_ENCRYPTED_ATTR_nsprefix_ = None
        if DS_MAD_CONF is None:
            self.DS_MAD_CONF = []
        else:
            self.DS_MAD_CONF = DS_MAD_CONF
        self.DS_MAD_CONF_nsprefix_ = None
        self.DS_MONITOR_VM_DISK = DS_MONITOR_VM_DISK
        self.DS_MONITOR_VM_DISK_nsprefix_ = None
        self.ENABLE_OTHER_PERMISSIONS = ENABLE_OTHER_PERMISSIONS
        self.validate_ENABLE_OTHER_PERMISSIONSType(self.ENABLE_OTHER_PERMISSIONS)
        self.ENABLE_OTHER_PERMISSIONS_nsprefix_ = None
        self.FEDERATION = FEDERATION
        self.FEDERATION_nsprefix_ = None
        if GROUP_RESTRICTED_ATTR is None:
            self.GROUP_RESTRICTED_ATTR = []
        else:
            self.GROUP_RESTRICTED_ATTR = GROUP_RESTRICTED_ATTR
        self.GROUP_RESTRICTED_ATTR_nsprefix_ = None
        self.HM_MAD = HM_MAD
        self.HM_MAD_nsprefix_ = None
        self.HOOK_LOG_CONF = HOOK_LOG_CONF
        self.HOOK_LOG_CONF_nsprefix_ = None
        if HOST_ENCRYPTED_ATTR is None:
            self.HOST_ENCRYPTED_ATTR = []
        else:
            self.HOST_ENCRYPTED_ATTR = HOST_ENCRYPTED_ATTR
        self.HOST_ENCRYPTED_ATTR_nsprefix_ = None
        if IMAGE_ENCRYPTED_ATTR is None:
            self.IMAGE_ENCRYPTED_ATTR = []
        else:
            self.IMAGE_ENCRYPTED_ATTR = IMAGE_ENCRYPTED_ATTR
        self.IMAGE_ENCRYPTED_ATTR_nsprefix_ = None
        if IMAGE_RESTRICTED_ATTR is None:
            self.IMAGE_RESTRICTED_ATTR = []
        else:
            self.IMAGE_RESTRICTED_ATTR = IMAGE_RESTRICTED_ATTR
        self.IMAGE_RESTRICTED_ATTR_nsprefix_ = None
        if IM_MAD is None:
            self.IM_MAD = []
        else:
            self.IM_MAD = IM_MAD
        self.IM_MAD_nsprefix_ = None
        if INHERIT_DATASTORE_ATTR is None:
            self.INHERIT_DATASTORE_ATTR = []
        else:
            self.INHERIT_DATASTORE_ATTR = INHERIT_DATASTORE_ATTR
        self.INHERIT_DATASTORE_ATTR_nsprefix_ = None
        if INHERIT_IMAGE_ATTR is None:
            self.INHERIT_IMAGE_ATTR = []
        else:
            self.INHERIT_IMAGE_ATTR = INHERIT_IMAGE_ATTR
        self.INHERIT_IMAGE_ATTR_nsprefix_ = None
        if INHERIT_VNET_ATTR is None:
            self.INHERIT_VNET_ATTR = []
        else:
            self.INHERIT_VNET_ATTR = INHERIT_VNET_ATTR
        self.INHERIT_VNET_ATTR_nsprefix_ = None
        if IPAM_MAD is None:
            self.IPAM_MAD = []
        else:
            self.IPAM_MAD = IPAM_MAD
        self.IPAM_MAD_nsprefix_ = None
        if KEEPALIVE_MAX_CONN is None:
            self.KEEPALIVE_MAX_CONN = []
        else:
            self.KEEPALIVE_MAX_CONN = KEEPALIVE_MAX_CONN
        self.KEEPALIVE_MAX_CONN_nsprefix_ = None
        if KEEPALIVE_TIMEOUT is None:
            self.KEEPALIVE_TIMEOUT = []
        else:
            self.KEEPALIVE_TIMEOUT = KEEPALIVE_TIMEOUT
        self.KEEPALIVE_TIMEOUT_nsprefix_ = None
        if LISTEN_ADDRESS is None:
            self.LISTEN_ADDRESS = []
        else:
            self.LISTEN_ADDRESS = LISTEN_ADDRESS
        self.LISTEN_ADDRESS_nsprefix_ = None
        if LOG is None:
            self.LOG = []
        else:
            self.LOG = LOG
        self.LOG_nsprefix_ = None
        if LOG_CALL_FORMAT is None:
            self.LOG_CALL_FORMAT = []
        else:
            self.LOG_CALL_FORMAT = LOG_CALL_FORMAT
        self.LOG_CALL_FORMAT_nsprefix_ = None
        if MAC_PREFIX is None:
            self.MAC_PREFIX = []
        else:
            self.MAC_PREFIX = MAC_PREFIX
        self.MAC_PREFIX_nsprefix_ = None
        if MANAGER_TIMER is None:
            self.MANAGER_TIMER = []
        else:
            self.MANAGER_TIMER = MANAGER_TIMER
        self.MANAGER_TIMER_nsprefix_ = None
        if MARKET_MAD is None:
            self.MARKET_MAD = []
        else:
            self.MARKET_MAD = MARKET_MAD
        self.MARKET_MAD_nsprefix_ = None
        if MARKET_MAD_CONF is None:
            self.MARKET_MAD_CONF = []
        else:
            self.MARKET_MAD_CONF = MARKET_MAD_CONF
        self.MARKET_MAD_CONF_nsprefix_ = None
        self.MAX_BACKUPS = MAX_BACKUPS
        self.MAX_BACKUPS_nsprefix_ = None
        self.MAX_BACKUPS_HOST = MAX_BACKUPS_HOST
        self.MAX_BACKUPS_HOST_nsprefix_ = None
        self.MAX_CONN = MAX_CONN
        self.MAX_CONN_nsprefix_ = None
        self.MAX_CONN_BACKLOG = MAX_CONN_BACKLOG
        self.MAX_CONN_BACKLOG_nsprefix_ = None
        self.MESSAGE_SIZE = MESSAGE_SIZE
        self.MESSAGE_SIZE_nsprefix_ = None
        self.MONITORING_INTERVAL_DATASTORE = MONITORING_INTERVAL_DATASTORE
        self.MONITORING_INTERVAL_DATASTORE_nsprefix_ = None
        self.MONITORING_INTERVAL_HOST = MONITORING_INTERVAL_HOST
        self.MONITORING_INTERVAL_HOST_nsprefix_ = None
        self.MONITORING_INTERVAL_MARKET = MONITORING_INTERVAL_MARKET
        self.MONITORING_INTERVAL_MARKET_nsprefix_ = None
        self.MONITORING_INTERVAL_VM = MONITORING_INTERVAL_VM
        self.MONITORING_INTERVAL_VM_nsprefix_ = None
        self.NETWORK_SIZE = NETWORK_SIZE
        self.NETWORK_SIZE_nsprefix_ = None
        if ONE_KEY is None:
            self.ONE_KEY = []
        else:
            self.ONE_KEY = ONE_KEY
        self.ONE_KEY_nsprefix_ = None
        self.PCI_PASSTHROUGH_BUS = PCI_PASSTHROUGH_BUS
        self.PCI_PASSTHROUGH_BUS_nsprefix_ = None
        self.PORT = PORT
        self.PORT_nsprefix_ = None
        self.RAFT = RAFT
        self.RAFT_nsprefix_ = None
        self.RPC_LOG = RPC_LOG
        self.RPC_LOG_nsprefix_ = None
        self.SCRIPTS_REMOTE_DIR = SCRIPTS_REMOTE_DIR
        self.SCRIPTS_REMOTE_DIR_nsprefix_ = None
        self.SESSION_EXPIRATION_TIME = SESSION_EXPIRATION_TIME
        self.SESSION_EXPIRATION_TIME_nsprefix_ = None
        self.SHOWBACK_ONLY_RUNNING = SHOWBACK_ONLY_RUNNING
        self.SHOWBACK_ONLY_RUNNING_nsprefix_ = None
        self.TIMEOUT = TIMEOUT
        self.TIMEOUT_nsprefix_ = None
        if TM_MAD is None:
            self.TM_MAD = []
        else:
            self.TM_MAD = TM_MAD
        self.TM_MAD_nsprefix_ = None
        if TM_MAD_CONF is None:
            self.TM_MAD_CONF = []
        else:
            self.TM_MAD_CONF = TM_MAD_CONF
        self.TM_MAD_CONF_nsprefix_ = None
        if USER_ENCRYPTED_ATTR is None:
            self.USER_ENCRYPTED_ATTR = []
        else:
            self.USER_ENCRYPTED_ATTR = USER_ENCRYPTED_ATTR
        self.USER_ENCRYPTED_ATTR_nsprefix_ = None
        if USER_RESTRICTED_ATTR is None:
            self.USER_RESTRICTED_ATTR = []
        else:
            self.USER_RESTRICTED_ATTR = USER_RESTRICTED_ATTR
        self.USER_RESTRICTED_ATTR_nsprefix_ = None
        self.VLAN_IDS = VLAN_IDS
        self.VLAN_IDS_nsprefix_ = None
        self.VM_ADMIN_OPERATIONS = VM_ADMIN_OPERATIONS
        self.VM_ADMIN_OPERATIONS_nsprefix_ = None
        if VM_ENCRYPTED_ATTR is None:
            self.VM_ENCRYPTED_ATTR = []
        else:
            self.VM_ENCRYPTED_ATTR = VM_ENCRYPTED_ATTR
        self.VM_ENCRYPTED_ATTR_nsprefix_ = None
        if VM_MAD is None:
            self.VM_MAD = []
        else:
            self.VM_MAD = VM_MAD
        self.VM_MAD_nsprefix_ = None
        self.VM_MANAGE_OPERATIONS = VM_MANAGE_OPERATIONS
        self.VM_MANAGE_OPERATIONS_nsprefix_ = None
        if VM_MONITORING_EXPIRATION_TIME is None:
            self.VM_MONITORING_EXPIRATION_TIME = []
        else:
            self.VM_MONITORING_EXPIRATION_TIME = VM_MONITORING_EXPIRATION_TIME
        self.VM_MONITORING_EXPIRATION_TIME_nsprefix_ = None
        if VM_RESTRICTED_ATTR is None:
            self.VM_RESTRICTED_ATTR = []
        else:
            self.VM_RESTRICTED_ATTR = VM_RESTRICTED_ATTR
        self.VM_RESTRICTED_ATTR_nsprefix_ = None
        self.VM_SNAPSHOT_FACTOR = VM_SNAPSHOT_FACTOR
        self.VM_SNAPSHOT_FACTOR_nsprefix_ = None
        self.VM_SUBMIT_ON_HOLD = VM_SUBMIT_ON_HOLD
        self.validate_VM_SUBMIT_ON_HOLDType(self.VM_SUBMIT_ON_HOLD)
        self.VM_SUBMIT_ON_HOLD_nsprefix_ = None
        if VM_USE_OPERATIONS is None:
            self.VM_USE_OPERATIONS = []
        else:
            self.VM_USE_OPERATIONS = VM_USE_OPERATIONS
        self.VM_USE_OPERATIONS_nsprefix_ = None
        self.VNC_PORTS = VNC_PORTS
        self.VNC_PORTS_nsprefix_ = None
        if VNET_ENCRYPTED_ATTR is None:
            self.VNET_ENCRYPTED_ATTR = []
        else:
            self.VNET_ENCRYPTED_ATTR = VNET_ENCRYPTED_ATTR
        self.VNET_ENCRYPTED_ATTR_nsprefix_ = None
        if VNET_RESTRICTED_ATTR is None:
            self.VNET_RESTRICTED_ATTR = []
        else:
            self.VNET_RESTRICTED_ATTR = VNET_RESTRICTED_ATTR
        self.VNET_RESTRICTED_ATTR_nsprefix_ = None
        if VN_MAD_CONF is None:
            self.VN_MAD_CONF = []
        else:
            self.VN_MAD_CONF = VN_MAD_CONF
        self.VN_MAD_CONF_nsprefix_ = None
        self.VXLAN_IDS = VXLAN_IDS
        self.VXLAN_IDS_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, OPENNEBULA_CONFIGURATION)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if OPENNEBULA_CONFIGURATION.subclass:
            return OPENNEBULA_CONFIGURATION.subclass(*args_, **kwargs_)
        else:
            return OPENNEBULA_CONFIGURATION(*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_API_LIST_ORDER(self):
        return self.API_LIST_ORDER
    def set_API_LIST_ORDER(self, API_LIST_ORDER):
        self.API_LIST_ORDER = API_LIST_ORDER
    def add_API_LIST_ORDER(self, value):
        self.API_LIST_ORDER.append(value)
    def insert_API_LIST_ORDER_at(self, index, value):
        self.API_LIST_ORDER.insert(index, value)
    def replace_API_LIST_ORDER_at(self, index, value):
        self.API_LIST_ORDER[index] = value
    def get_AUTH_MAD(self):
        return self.AUTH_MAD
    def set_AUTH_MAD(self, AUTH_MAD):
        self.AUTH_MAD = AUTH_MAD
    def add_AUTH_MAD(self, value):
        self.AUTH_MAD.append(value)
    def insert_AUTH_MAD_at(self, index, value):
        self.AUTH_MAD.insert(index, value)
    def replace_AUTH_MAD_at(self, index, value):
        self.AUTH_MAD[index] = value
    def get_AUTH_MAD_CONF(self):
        return self.AUTH_MAD_CONF
    def set_AUTH_MAD_CONF(self, AUTH_MAD_CONF):
        self.AUTH_MAD_CONF = AUTH_MAD_CONF
    def add_AUTH_MAD_CONF(self, value):
        self.AUTH_MAD_CONF.append(value)
    def insert_AUTH_MAD_CONF_at(self, index, value):
        self.AUTH_MAD_CONF.insert(index, value)
    def replace_AUTH_MAD_CONF_at(self, index, value):
        self.AUTH_MAD_CONF[index] = value
    def get_CLUSTER_ENCRYPTED_ATTR(self):
        return self.CLUSTER_ENCRYPTED_ATTR
    def set_CLUSTER_ENCRYPTED_ATTR(self, CLUSTER_ENCRYPTED_ATTR):
        self.CLUSTER_ENCRYPTED_ATTR = CLUSTER_ENCRYPTED_ATTR
    def add_CLUSTER_ENCRYPTED_ATTR(self, value):
        self.CLUSTER_ENCRYPTED_ATTR.append(value)
    def insert_CLUSTER_ENCRYPTED_ATTR_at(self, index, value):
        self.CLUSTER_ENCRYPTED_ATTR.insert(index, value)
    def replace_CLUSTER_ENCRYPTED_ATTR_at(self, index, value):
        self.CLUSTER_ENCRYPTED_ATTR[index] = value
    def get_CONTEXT_RESTRICTED_DIRS(self):
        return self.CONTEXT_RESTRICTED_DIRS
    def set_CONTEXT_RESTRICTED_DIRS(self, CONTEXT_RESTRICTED_DIRS):
        self.CONTEXT_RESTRICTED_DIRS = CONTEXT_RESTRICTED_DIRS
    def get_CONTEXT_SAFE_DIRS(self):
        return self.CONTEXT_SAFE_DIRS
    def set_CONTEXT_SAFE_DIRS(self, CONTEXT_SAFE_DIRS):
        self.CONTEXT_SAFE_DIRS = CONTEXT_SAFE_DIRS
    def get_DATASTORE_CAPACITY_CHECK(self):
        return self.DATASTORE_CAPACITY_CHECK
    def set_DATASTORE_CAPACITY_CHECK(self, DATASTORE_CAPACITY_CHECK):
        self.DATASTORE_CAPACITY_CHECK = DATASTORE_CAPACITY_CHECK
    def add_DATASTORE_CAPACITY_CHECK(self, value):
        self.DATASTORE_CAPACITY_CHECK.append(value)
    def insert_DATASTORE_CAPACITY_CHECK_at(self, index, value):
        self.DATASTORE_CAPACITY_CHECK.insert(index, value)
    def replace_DATASTORE_CAPACITY_CHECK_at(self, index, value):
        self.DATASTORE_CAPACITY_CHECK[index] = value
    def get_DATASTORE_ENCRYPTED_ATTR(self):
        return self.DATASTORE_ENCRYPTED_ATTR
    def set_DATASTORE_ENCRYPTED_ATTR(self, DATASTORE_ENCRYPTED_ATTR):
        self.DATASTORE_ENCRYPTED_ATTR = DATASTORE_ENCRYPTED_ATTR
    def add_DATASTORE_ENCRYPTED_ATTR(self, value):
        self.DATASTORE_ENCRYPTED_ATTR.append(value)
    def insert_DATASTORE_ENCRYPTED_ATTR_at(self, index, value):
        self.DATASTORE_ENCRYPTED_ATTR.insert(index, value)
    def replace_DATASTORE_ENCRYPTED_ATTR_at(self, index, value):
        self.DATASTORE_ENCRYPTED_ATTR[index] = value
    def get_DATASTORE_LOCATION(self):
        return self.DATASTORE_LOCATION
    def set_DATASTORE_LOCATION(self, DATASTORE_LOCATION):
        self.DATASTORE_LOCATION = DATASTORE_LOCATION
    def add_DATASTORE_LOCATION(self, value):
        self.DATASTORE_LOCATION.append(value)
    def insert_DATASTORE_LOCATION_at(self, index, value):
        self.DATASTORE_LOCATION.insert(index, value)
    def replace_DATASTORE_LOCATION_at(self, index, value):
        self.DATASTORE_LOCATION[index] = value
    def get_DATASTORE_MAD(self):
        return self.DATASTORE_MAD
    def set_DATASTORE_MAD(self, DATASTORE_MAD):
        self.DATASTORE_MAD = DATASTORE_MAD
    def add_DATASTORE_MAD(self, value):
        self.DATASTORE_MAD.append(value)
    def insert_DATASTORE_MAD_at(self, index, value):
        self.DATASTORE_MAD.insert(index, value)
    def replace_DATASTORE_MAD_at(self, index, value):
        self.DATASTORE_MAD[index] = value
    def get_DB(self):
        return self.DB
    def set_DB(self, DB):
        self.DB = DB
    def get_DEFAULT_AUTH(self):
        return self.DEFAULT_AUTH
    def set_DEFAULT_AUTH(self, DEFAULT_AUTH):
        self.DEFAULT_AUTH = DEFAULT_AUTH
    def add_DEFAULT_AUTH(self, value):
        self.DEFAULT_AUTH.append(value)
    def insert_DEFAULT_AUTH_at(self, index, value):
        self.DEFAULT_AUTH.insert(index, value)
    def replace_DEFAULT_AUTH_at(self, index, value):
        self.DEFAULT_AUTH[index] = value
    def get_DEFAULT_CDROM_DEVICE_PREFIX(self):
        return self.DEFAULT_CDROM_DEVICE_PREFIX
    def set_DEFAULT_CDROM_DEVICE_PREFIX(self, DEFAULT_CDROM_DEVICE_PREFIX):
        self.DEFAULT_CDROM_DEVICE_PREFIX = DEFAULT_CDROM_DEVICE_PREFIX
    def add_DEFAULT_CDROM_DEVICE_PREFIX(self, value):
        self.DEFAULT_CDROM_DEVICE_PREFIX.append(value)
    def insert_DEFAULT_CDROM_DEVICE_PREFIX_at(self, index, value):
        self.DEFAULT_CDROM_DEVICE_PREFIX.insert(index, value)
    def replace_DEFAULT_CDROM_DEVICE_PREFIX_at(self, index, value):
        self.DEFAULT_CDROM_DEVICE_PREFIX[index] = value
    def get_DEFAULT_COST(self):
        return self.DEFAULT_COST
    def set_DEFAULT_COST(self, DEFAULT_COST):
        self.DEFAULT_COST = DEFAULT_COST
    def add_DEFAULT_COST(self, value):
        self.DEFAULT_COST.append(value)
    def insert_DEFAULT_COST_at(self, index, value):
        self.DEFAULT_COST.insert(index, value)
    def replace_DEFAULT_COST_at(self, index, value):
        self.DEFAULT_COST[index] = value
    def get_DEFAULT_DEVICE_PREFIX(self):
        return self.DEFAULT_DEVICE_PREFIX
    def set_DEFAULT_DEVICE_PREFIX(self, DEFAULT_DEVICE_PREFIX):
        self.DEFAULT_DEVICE_PREFIX = DEFAULT_DEVICE_PREFIX
    def add_DEFAULT_DEVICE_PREFIX(self, value):
        self.DEFAULT_DEVICE_PREFIX.append(value)
    def insert_DEFAULT_DEVICE_PREFIX_at(self, index, value):
        self.DEFAULT_DEVICE_PREFIX.insert(index, value)
    def replace_DEFAULT_DEVICE_PREFIX_at(self, index, value):
        self.DEFAULT_DEVICE_PREFIX[index] = value
    def get_DEFAULT_IMAGE_PERSISTENT(self):
        return self.DEFAULT_IMAGE_PERSISTENT
    def set_DEFAULT_IMAGE_PERSISTENT(self, DEFAULT_IMAGE_PERSISTENT):
        self.DEFAULT_IMAGE_PERSISTENT = DEFAULT_IMAGE_PERSISTENT
    def add_DEFAULT_IMAGE_PERSISTENT(self, value):
        self.DEFAULT_IMAGE_PERSISTENT.append(value)
    def insert_DEFAULT_IMAGE_PERSISTENT_at(self, index, value):
        self.DEFAULT_IMAGE_PERSISTENT.insert(index, value)
    def replace_DEFAULT_IMAGE_PERSISTENT_at(self, index, value):
        self.DEFAULT_IMAGE_PERSISTENT[index] = value
    def get_DEFAULT_IMAGE_PERSISTENT_NEW(self):
        return self.DEFAULT_IMAGE_PERSISTENT_NEW
    def set_DEFAULT_IMAGE_PERSISTENT_NEW(self, DEFAULT_IMAGE_PERSISTENT_NEW):
        self.DEFAULT_IMAGE_PERSISTENT_NEW = DEFAULT_IMAGE_PERSISTENT_NEW
    def add_DEFAULT_IMAGE_PERSISTENT_NEW(self, value):
        self.DEFAULT_IMAGE_PERSISTENT_NEW.append(value)
    def insert_DEFAULT_IMAGE_PERSISTENT_NEW_at(self, index, value):
        self.DEFAULT_IMAGE_PERSISTENT_NEW.insert(index, value)
    def replace_DEFAULT_IMAGE_PERSISTENT_NEW_at(self, index, value):
        self.DEFAULT_IMAGE_PERSISTENT_NEW[index] = value
    def get_DEFAULT_IMAGE_TYPE(self):
        return self.DEFAULT_IMAGE_TYPE
    def set_DEFAULT_IMAGE_TYPE(self, DEFAULT_IMAGE_TYPE):
        self.DEFAULT_IMAGE_TYPE = DEFAULT_IMAGE_TYPE
    def add_DEFAULT_IMAGE_TYPE(self, value):
        self.DEFAULT_IMAGE_TYPE.append(value)
    def insert_DEFAULT_IMAGE_TYPE_at(self, index, value):
        self.DEFAULT_IMAGE_TYPE.insert(index, value)
    def replace_DEFAULT_IMAGE_TYPE_at(self, index, value):
        self.DEFAULT_IMAGE_TYPE[index] = value
    def get_DEFAULT_UMASK(self):
        return self.DEFAULT_UMASK
    def set_DEFAULT_UMASK(self, DEFAULT_UMASK):
        self.DEFAULT_UMASK = DEFAULT_UMASK
    def add_DEFAULT_UMASK(self, value):
        self.DEFAULT_UMASK.append(value)
    def insert_DEFAULT_UMASK_at(self, index, value):
        self.DEFAULT_UMASK.insert(index, value)
    def replace_DEFAULT_UMASK_at(self, index, value):
        self.DEFAULT_UMASK[index] = value
    def get_DEFAULT_VDC_CLUSTER_DATASTORE_ACL(self):
        return self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL
    def set_DEFAULT_VDC_CLUSTER_DATASTORE_ACL(self, DEFAULT_VDC_CLUSTER_DATASTORE_ACL):
        self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL = DEFAULT_VDC_CLUSTER_DATASTORE_ACL
    def add_DEFAULT_VDC_CLUSTER_DATASTORE_ACL(self, value):
        self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL.append(value)
    def insert_DEFAULT_VDC_CLUSTER_DATASTORE_ACL_at(self, index, value):
        self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL.insert(index, value)
    def replace_DEFAULT_VDC_CLUSTER_DATASTORE_ACL_at(self, index, value):
        self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL[index] = value
    def get_DEFAULT_VDC_CLUSTER_HOST_ACL(self):
        return self.DEFAULT_VDC_CLUSTER_HOST_ACL
    def set_DEFAULT_VDC_CLUSTER_HOST_ACL(self, DEFAULT_VDC_CLUSTER_HOST_ACL):
        self.DEFAULT_VDC_CLUSTER_HOST_ACL = DEFAULT_VDC_CLUSTER_HOST_ACL
    def add_DEFAULT_VDC_CLUSTER_HOST_ACL(self, value):
        self.DEFAULT_VDC_CLUSTER_HOST_ACL.append(value)
    def insert_DEFAULT_VDC_CLUSTER_HOST_ACL_at(self, index, value):
        self.DEFAULT_VDC_CLUSTER_HOST_ACL.insert(index, value)
    def replace_DEFAULT_VDC_CLUSTER_HOST_ACL_at(self, index, value):
        self.DEFAULT_VDC_CLUSTER_HOST_ACL[index] = value
    def get_DEFAULT_VDC_CLUSTER_NET_ACL(self):
        return self.DEFAULT_VDC_CLUSTER_NET_ACL
    def set_DEFAULT_VDC_CLUSTER_NET_ACL(self, DEFAULT_VDC_CLUSTER_NET_ACL):
        self.DEFAULT_VDC_CLUSTER_NET_ACL = DEFAULT_VDC_CLUSTER_NET_ACL
    def add_DEFAULT_VDC_CLUSTER_NET_ACL(self, value):
        self.DEFAULT_VDC_CLUSTER_NET_ACL.append(value)
    def insert_DEFAULT_VDC_CLUSTER_NET_ACL_at(self, index, value):
        self.DEFAULT_VDC_CLUSTER_NET_ACL.insert(index, value)
    def replace_DEFAULT_VDC_CLUSTER_NET_ACL_at(self, index, value):
        self.DEFAULT_VDC_CLUSTER_NET_ACL[index] = value
    def get_DEFAULT_VDC_DATASTORE_ACL(self):
        return self.DEFAULT_VDC_DATASTORE_ACL
    def set_DEFAULT_VDC_DATASTORE_ACL(self, DEFAULT_VDC_DATASTORE_ACL):
        self.DEFAULT_VDC_DATASTORE_ACL = DEFAULT_VDC_DATASTORE_ACL
    def add_DEFAULT_VDC_DATASTORE_ACL(self, value):
        self.DEFAULT_VDC_DATASTORE_ACL.append(value)
    def insert_DEFAULT_VDC_DATASTORE_ACL_at(self, index, value):
        self.DEFAULT_VDC_DATASTORE_ACL.insert(index, value)
    def replace_DEFAULT_VDC_DATASTORE_ACL_at(self, index, value):
        self.DEFAULT_VDC_DATASTORE_ACL[index] = value
    def get_DEFAULT_VDC_HOST_ACL(self):
        return self.DEFAULT_VDC_HOST_ACL
    def set_DEFAULT_VDC_HOST_ACL(self, DEFAULT_VDC_HOST_ACL):
        self.DEFAULT_VDC_HOST_ACL = DEFAULT_VDC_HOST_ACL
    def add_DEFAULT_VDC_HOST_ACL(self, value):
        self.DEFAULT_VDC_HOST_ACL.append(value)
    def insert_DEFAULT_VDC_HOST_ACL_at(self, index, value):
        self.DEFAULT_VDC_HOST_ACL.insert(index, value)
    def replace_DEFAULT_VDC_HOST_ACL_at(self, index, value):
        self.DEFAULT_VDC_HOST_ACL[index] = value
    def get_DEFAULT_VDC_VNET_ACL(self):
        return self.DEFAULT_VDC_VNET_ACL
    def set_DEFAULT_VDC_VNET_ACL(self, DEFAULT_VDC_VNET_ACL):
        self.DEFAULT_VDC_VNET_ACL = DEFAULT_VDC_VNET_ACL
    def add_DEFAULT_VDC_VNET_ACL(self, value):
        self.DEFAULT_VDC_VNET_ACL.append(value)
    def insert_DEFAULT_VDC_VNET_ACL_at(self, index, value):
        self.DEFAULT_VDC_VNET_ACL.insert(index, value)
    def replace_DEFAULT_VDC_VNET_ACL_at(self, index, value):
        self.DEFAULT_VDC_VNET_ACL[index] = value
    def get_DOCUMENT_ENCRYPTED_ATTR(self):
        return self.DOCUMENT_ENCRYPTED_ATTR
    def set_DOCUMENT_ENCRYPTED_ATTR(self, DOCUMENT_ENCRYPTED_ATTR):
        self.DOCUMENT_ENCRYPTED_ATTR = DOCUMENT_ENCRYPTED_ATTR
    def add_DOCUMENT_ENCRYPTED_ATTR(self, value):
        self.DOCUMENT_ENCRYPTED_ATTR.append(value)
    def insert_DOCUMENT_ENCRYPTED_ATTR_at(self, index, value):
        self.DOCUMENT_ENCRYPTED_ATTR.insert(index, value)
    def replace_DOCUMENT_ENCRYPTED_ATTR_at(self, index, value):
        self.DOCUMENT_ENCRYPTED_ATTR[index] = value
    def get_DS_MAD_CONF(self):
        return self.DS_MAD_CONF
    def set_DS_MAD_CONF(self, DS_MAD_CONF):
        self.DS_MAD_CONF = DS_MAD_CONF
    def add_DS_MAD_CONF(self, value):
        self.DS_MAD_CONF.append(value)
    def insert_DS_MAD_CONF_at(self, index, value):
        self.DS_MAD_CONF.insert(index, value)
    def replace_DS_MAD_CONF_at(self, index, value):
        self.DS_MAD_CONF[index] = value
    def get_DS_MONITOR_VM_DISK(self):
        return self.DS_MONITOR_VM_DISK
    def set_DS_MONITOR_VM_DISK(self, DS_MONITOR_VM_DISK):
        self.DS_MONITOR_VM_DISK = DS_MONITOR_VM_DISK
    def get_ENABLE_OTHER_PERMISSIONS(self):
        return self.ENABLE_OTHER_PERMISSIONS
    def set_ENABLE_OTHER_PERMISSIONS(self, ENABLE_OTHER_PERMISSIONS):
        self.ENABLE_OTHER_PERMISSIONS = ENABLE_OTHER_PERMISSIONS
    def get_FEDERATION(self):
        return self.FEDERATION
    def set_FEDERATION(self, FEDERATION):
        self.FEDERATION = FEDERATION
    def get_GROUP_RESTRICTED_ATTR(self):
        return self.GROUP_RESTRICTED_ATTR
    def set_GROUP_RESTRICTED_ATTR(self, GROUP_RESTRICTED_ATTR):
        self.GROUP_RESTRICTED_ATTR = GROUP_RESTRICTED_ATTR
    def add_GROUP_RESTRICTED_ATTR(self, value):
        self.GROUP_RESTRICTED_ATTR.append(value)
    def insert_GROUP_RESTRICTED_ATTR_at(self, index, value):
        self.GROUP_RESTRICTED_ATTR.insert(index, value)
    def replace_GROUP_RESTRICTED_ATTR_at(self, index, value):
        self.GROUP_RESTRICTED_ATTR[index] = value
    def get_HM_MAD(self):
        return self.HM_MAD
    def set_HM_MAD(self, HM_MAD):
        self.HM_MAD = HM_MAD
    def get_HOOK_LOG_CONF(self):
        return self.HOOK_LOG_CONF
    def set_HOOK_LOG_CONF(self, HOOK_LOG_CONF):
        self.HOOK_LOG_CONF = HOOK_LOG_CONF
    def get_HOST_ENCRYPTED_ATTR(self):
        return self.HOST_ENCRYPTED_ATTR
    def set_HOST_ENCRYPTED_ATTR(self, HOST_ENCRYPTED_ATTR):
        self.HOST_ENCRYPTED_ATTR = HOST_ENCRYPTED_ATTR
    def add_HOST_ENCRYPTED_ATTR(self, value):
        self.HOST_ENCRYPTED_ATTR.append(value)
    def insert_HOST_ENCRYPTED_ATTR_at(self, index, value):
        self.HOST_ENCRYPTED_ATTR.insert(index, value)
    def replace_HOST_ENCRYPTED_ATTR_at(self, index, value):
        self.HOST_ENCRYPTED_ATTR[index] = value
    def get_IMAGE_ENCRYPTED_ATTR(self):
        return self.IMAGE_ENCRYPTED_ATTR
    def set_IMAGE_ENCRYPTED_ATTR(self, IMAGE_ENCRYPTED_ATTR):
        self.IMAGE_ENCRYPTED_ATTR = IMAGE_ENCRYPTED_ATTR
    def add_IMAGE_ENCRYPTED_ATTR(self, value):
        self.IMAGE_ENCRYPTED_ATTR.append(value)
    def insert_IMAGE_ENCRYPTED_ATTR_at(self, index, value):
        self.IMAGE_ENCRYPTED_ATTR.insert(index, value)
    def replace_IMAGE_ENCRYPTED_ATTR_at(self, index, value):
        self.IMAGE_ENCRYPTED_ATTR[index] = value
    def get_IMAGE_RESTRICTED_ATTR(self):
        return self.IMAGE_RESTRICTED_ATTR
    def set_IMAGE_RESTRICTED_ATTR(self, IMAGE_RESTRICTED_ATTR):
        self.IMAGE_RESTRICTED_ATTR = IMAGE_RESTRICTED_ATTR
    def add_IMAGE_RESTRICTED_ATTR(self, value):
        self.IMAGE_RESTRICTED_ATTR.append(value)
    def insert_IMAGE_RESTRICTED_ATTR_at(self, index, value):
        self.IMAGE_RESTRICTED_ATTR.insert(index, value)
    def replace_IMAGE_RESTRICTED_ATTR_at(self, index, value):
        self.IMAGE_RESTRICTED_ATTR[index] = value
    def get_IM_MAD(self):
        return self.IM_MAD
    def set_IM_MAD(self, IM_MAD):
        self.IM_MAD = IM_MAD
    def add_IM_MAD(self, value):
        self.IM_MAD.append(value)
    def insert_IM_MAD_at(self, index, value):
        self.IM_MAD.insert(index, value)
    def replace_IM_MAD_at(self, index, value):
        self.IM_MAD[index] = value
    def get_INHERIT_DATASTORE_ATTR(self):
        return self.INHERIT_DATASTORE_ATTR
    def set_INHERIT_DATASTORE_ATTR(self, INHERIT_DATASTORE_ATTR):
        self.INHERIT_DATASTORE_ATTR = INHERIT_DATASTORE_ATTR
    def add_INHERIT_DATASTORE_ATTR(self, value):
        self.INHERIT_DATASTORE_ATTR.append(value)
    def insert_INHERIT_DATASTORE_ATTR_at(self, index, value):
        self.INHERIT_DATASTORE_ATTR.insert(index, value)
    def replace_INHERIT_DATASTORE_ATTR_at(self, index, value):
        self.INHERIT_DATASTORE_ATTR[index] = value
    def get_INHERIT_IMAGE_ATTR(self):
        return self.INHERIT_IMAGE_ATTR
    def set_INHERIT_IMAGE_ATTR(self, INHERIT_IMAGE_ATTR):
        self.INHERIT_IMAGE_ATTR = INHERIT_IMAGE_ATTR
    def add_INHERIT_IMAGE_ATTR(self, value):
        self.INHERIT_IMAGE_ATTR.append(value)
    def insert_INHERIT_IMAGE_ATTR_at(self, index, value):
        self.INHERIT_IMAGE_ATTR.insert(index, value)
    def replace_INHERIT_IMAGE_ATTR_at(self, index, value):
        self.INHERIT_IMAGE_ATTR[index] = value
    def get_INHERIT_VNET_ATTR(self):
        return self.INHERIT_VNET_ATTR
    def set_INHERIT_VNET_ATTR(self, INHERIT_VNET_ATTR):
        self.INHERIT_VNET_ATTR = INHERIT_VNET_ATTR
    def add_INHERIT_VNET_ATTR(self, value):
        self.INHERIT_VNET_ATTR.append(value)
    def insert_INHERIT_VNET_ATTR_at(self, index, value):
        self.INHERIT_VNET_ATTR.insert(index, value)
    def replace_INHERIT_VNET_ATTR_at(self, index, value):
        self.INHERIT_VNET_ATTR[index] = value
    def get_IPAM_MAD(self):
        return self.IPAM_MAD
    def set_IPAM_MAD(self, IPAM_MAD):
        self.IPAM_MAD = IPAM_MAD
    def add_IPAM_MAD(self, value):
        self.IPAM_MAD.append(value)
    def insert_IPAM_MAD_at(self, index, value):
        self.IPAM_MAD.insert(index, value)
    def replace_IPAM_MAD_at(self, index, value):
        self.IPAM_MAD[index] = value
    def get_KEEPALIVE_MAX_CONN(self):
        return self.KEEPALIVE_MAX_CONN
    def set_KEEPALIVE_MAX_CONN(self, KEEPALIVE_MAX_CONN):
        self.KEEPALIVE_MAX_CONN = KEEPALIVE_MAX_CONN
    def add_KEEPALIVE_MAX_CONN(self, value):
        self.KEEPALIVE_MAX_CONN.append(value)
    def insert_KEEPALIVE_MAX_CONN_at(self, index, value):
        self.KEEPALIVE_MAX_CONN.insert(index, value)
    def replace_KEEPALIVE_MAX_CONN_at(self, index, value):
        self.KEEPALIVE_MAX_CONN[index] = value
    def get_KEEPALIVE_TIMEOUT(self):
        return self.KEEPALIVE_TIMEOUT
    def set_KEEPALIVE_TIMEOUT(self, KEEPALIVE_TIMEOUT):
        self.KEEPALIVE_TIMEOUT = KEEPALIVE_TIMEOUT
    def add_KEEPALIVE_TIMEOUT(self, value):
        self.KEEPALIVE_TIMEOUT.append(value)
    def insert_KEEPALIVE_TIMEOUT_at(self, index, value):
        self.KEEPALIVE_TIMEOUT.insert(index, value)
    def replace_KEEPALIVE_TIMEOUT_at(self, index, value):
        self.KEEPALIVE_TIMEOUT[index] = value
    def get_LISTEN_ADDRESS(self):
        return self.LISTEN_ADDRESS
    def set_LISTEN_ADDRESS(self, LISTEN_ADDRESS):
        self.LISTEN_ADDRESS = LISTEN_ADDRESS
    def add_LISTEN_ADDRESS(self, value):
        self.LISTEN_ADDRESS.append(value)
    def insert_LISTEN_ADDRESS_at(self, index, value):
        self.LISTEN_ADDRESS.insert(index, value)
    def replace_LISTEN_ADDRESS_at(self, index, value):
        self.LISTEN_ADDRESS[index] = value
    def get_LOG(self):
        return self.LOG
    def set_LOG(self, LOG):
        self.LOG = LOG
    def add_LOG(self, value):
        self.LOG.append(value)
    def insert_LOG_at(self, index, value):
        self.LOG.insert(index, value)
    def replace_LOG_at(self, index, value):
        self.LOG[index] = value
    def get_LOG_CALL_FORMAT(self):
        return self.LOG_CALL_FORMAT
    def set_LOG_CALL_FORMAT(self, LOG_CALL_FORMAT):
        self.LOG_CALL_FORMAT = LOG_CALL_FORMAT
    def add_LOG_CALL_FORMAT(self, value):
        self.LOG_CALL_FORMAT.append(value)
    def insert_LOG_CALL_FORMAT_at(self, index, value):
        self.LOG_CALL_FORMAT.insert(index, value)
    def replace_LOG_CALL_FORMAT_at(self, index, value):
        self.LOG_CALL_FORMAT[index] = value
    def get_MAC_PREFIX(self):
        return self.MAC_PREFIX
    def set_MAC_PREFIX(self, MAC_PREFIX):
        self.MAC_PREFIX = MAC_PREFIX
    def add_MAC_PREFIX(self, value):
        self.MAC_PREFIX.append(value)
    def insert_MAC_PREFIX_at(self, index, value):
        self.MAC_PREFIX.insert(index, value)
    def replace_MAC_PREFIX_at(self, index, value):
        self.MAC_PREFIX[index] = value
    def get_MANAGER_TIMER(self):
        return self.MANAGER_TIMER
    def set_MANAGER_TIMER(self, MANAGER_TIMER):
        self.MANAGER_TIMER = MANAGER_TIMER
    def add_MANAGER_TIMER(self, value):
        self.MANAGER_TIMER.append(value)
    def insert_MANAGER_TIMER_at(self, index, value):
        self.MANAGER_TIMER.insert(index, value)
    def replace_MANAGER_TIMER_at(self, index, value):
        self.MANAGER_TIMER[index] = value
    def get_MARKET_MAD(self):
        return self.MARKET_MAD
    def set_MARKET_MAD(self, MARKET_MAD):
        self.MARKET_MAD = MARKET_MAD
    def add_MARKET_MAD(self, value):
        self.MARKET_MAD.append(value)
    def insert_MARKET_MAD_at(self, index, value):
        self.MARKET_MAD.insert(index, value)
    def replace_MARKET_MAD_at(self, index, value):
        self.MARKET_MAD[index] = value
    def get_MARKET_MAD_CONF(self):
        return self.MARKET_MAD_CONF
    def set_MARKET_MAD_CONF(self, MARKET_MAD_CONF):
        self.MARKET_MAD_CONF = MARKET_MAD_CONF
    def add_MARKET_MAD_CONF(self, value):
        self.MARKET_MAD_CONF.append(value)
    def insert_MARKET_MAD_CONF_at(self, index, value):
        self.MARKET_MAD_CONF.insert(index, value)
    def replace_MARKET_MAD_CONF_at(self, index, value):
        self.MARKET_MAD_CONF[index] = value
    def get_MAX_BACKUPS(self):
        return self.MAX_BACKUPS
    def set_MAX_BACKUPS(self, MAX_BACKUPS):
        self.MAX_BACKUPS = MAX_BACKUPS
    def get_MAX_BACKUPS_HOST(self):
        return self.MAX_BACKUPS_HOST
    def set_MAX_BACKUPS_HOST(self, MAX_BACKUPS_HOST):
        self.MAX_BACKUPS_HOST = MAX_BACKUPS_HOST
    def get_MAX_CONN(self):
        return self.MAX_CONN
    def set_MAX_CONN(self, MAX_CONN):
        self.MAX_CONN = MAX_CONN
    def get_MAX_CONN_BACKLOG(self):
        return self.MAX_CONN_BACKLOG
    def set_MAX_CONN_BACKLOG(self, MAX_CONN_BACKLOG):
        self.MAX_CONN_BACKLOG = MAX_CONN_BACKLOG
    def get_MESSAGE_SIZE(self):
        return self.MESSAGE_SIZE
    def set_MESSAGE_SIZE(self, MESSAGE_SIZE):
        self.MESSAGE_SIZE = MESSAGE_SIZE
    def get_MONITORING_INTERVAL_DATASTORE(self):
        return self.MONITORING_INTERVAL_DATASTORE
    def set_MONITORING_INTERVAL_DATASTORE(self, MONITORING_INTERVAL_DATASTORE):
        self.MONITORING_INTERVAL_DATASTORE = MONITORING_INTERVAL_DATASTORE
    def get_MONITORING_INTERVAL_HOST(self):
        return self.MONITORING_INTERVAL_HOST
    def set_MONITORING_INTERVAL_HOST(self, MONITORING_INTERVAL_HOST):
        self.MONITORING_INTERVAL_HOST = MONITORING_INTERVAL_HOST
    def get_MONITORING_INTERVAL_MARKET(self):
        return self.MONITORING_INTERVAL_MARKET
    def set_MONITORING_INTERVAL_MARKET(self, MONITORING_INTERVAL_MARKET):
        self.MONITORING_INTERVAL_MARKET = MONITORING_INTERVAL_MARKET
    def get_MONITORING_INTERVAL_VM(self):
        return self.MONITORING_INTERVAL_VM
    def set_MONITORING_INTERVAL_VM(self, MONITORING_INTERVAL_VM):
        self.MONITORING_INTERVAL_VM = MONITORING_INTERVAL_VM
    def get_NETWORK_SIZE(self):
        return self.NETWORK_SIZE
    def set_NETWORK_SIZE(self, NETWORK_SIZE):
        self.NETWORK_SIZE = NETWORK_SIZE
    def get_ONE_KEY(self):
        return self.ONE_KEY
    def set_ONE_KEY(self, ONE_KEY):
        self.ONE_KEY = ONE_KEY
    def add_ONE_KEY(self, value):
        self.ONE_KEY.append(value)
    def insert_ONE_KEY_at(self, index, value):
        self.ONE_KEY.insert(index, value)
    def replace_ONE_KEY_at(self, index, value):
        self.ONE_KEY[index] = value
    def get_PCI_PASSTHROUGH_BUS(self):
        return self.PCI_PASSTHROUGH_BUS
    def set_PCI_PASSTHROUGH_BUS(self, PCI_PASSTHROUGH_BUS):
        self.PCI_PASSTHROUGH_BUS = PCI_PASSTHROUGH_BUS
    def get_PORT(self):
        return self.PORT
    def set_PORT(self, PORT):
        self.PORT = PORT
    def get_RAFT(self):
        return self.RAFT
    def set_RAFT(self, RAFT):
        self.RAFT = RAFT
    def get_RPC_LOG(self):
        return self.RPC_LOG
    def set_RPC_LOG(self, RPC_LOG):
        self.RPC_LOG = RPC_LOG
    def get_SCRIPTS_REMOTE_DIR(self):
        return self.SCRIPTS_REMOTE_DIR
    def set_SCRIPTS_REMOTE_DIR(self, SCRIPTS_REMOTE_DIR):
        self.SCRIPTS_REMOTE_DIR = SCRIPTS_REMOTE_DIR
    def get_SESSION_EXPIRATION_TIME(self):
        return self.SESSION_EXPIRATION_TIME
    def set_SESSION_EXPIRATION_TIME(self, SESSION_EXPIRATION_TIME):
        self.SESSION_EXPIRATION_TIME = SESSION_EXPIRATION_TIME
    def get_SHOWBACK_ONLY_RUNNING(self):
        return self.SHOWBACK_ONLY_RUNNING
    def set_SHOWBACK_ONLY_RUNNING(self, SHOWBACK_ONLY_RUNNING):
        self.SHOWBACK_ONLY_RUNNING = SHOWBACK_ONLY_RUNNING
    def get_TIMEOUT(self):
        return self.TIMEOUT
    def set_TIMEOUT(self, TIMEOUT):
        self.TIMEOUT = TIMEOUT
    def get_TM_MAD(self):
        return self.TM_MAD
    def set_TM_MAD(self, TM_MAD):
        self.TM_MAD = TM_MAD
    def add_TM_MAD(self, value):
        self.TM_MAD.append(value)
    def insert_TM_MAD_at(self, index, value):
        self.TM_MAD.insert(index, value)
    def replace_TM_MAD_at(self, index, value):
        self.TM_MAD[index] = value
    def get_TM_MAD_CONF(self):
        return self.TM_MAD_CONF
    def set_TM_MAD_CONF(self, TM_MAD_CONF):
        self.TM_MAD_CONF = TM_MAD_CONF
    def add_TM_MAD_CONF(self, value):
        self.TM_MAD_CONF.append(value)
    def insert_TM_MAD_CONF_at(self, index, value):
        self.TM_MAD_CONF.insert(index, value)
    def replace_TM_MAD_CONF_at(self, index, value):
        self.TM_MAD_CONF[index] = value
    def get_USER_ENCRYPTED_ATTR(self):
        return self.USER_ENCRYPTED_ATTR
    def set_USER_ENCRYPTED_ATTR(self, USER_ENCRYPTED_ATTR):
        self.USER_ENCRYPTED_ATTR = USER_ENCRYPTED_ATTR
    def add_USER_ENCRYPTED_ATTR(self, value):
        self.USER_ENCRYPTED_ATTR.append(value)
    def insert_USER_ENCRYPTED_ATTR_at(self, index, value):
        self.USER_ENCRYPTED_ATTR.insert(index, value)
    def replace_USER_ENCRYPTED_ATTR_at(self, index, value):
        self.USER_ENCRYPTED_ATTR[index] = value
    def get_USER_RESTRICTED_ATTR(self):
        return self.USER_RESTRICTED_ATTR
    def set_USER_RESTRICTED_ATTR(self, USER_RESTRICTED_ATTR):
        self.USER_RESTRICTED_ATTR = USER_RESTRICTED_ATTR
    def add_USER_RESTRICTED_ATTR(self, value):
        self.USER_RESTRICTED_ATTR.append(value)
    def insert_USER_RESTRICTED_ATTR_at(self, index, value):
        self.USER_RESTRICTED_ATTR.insert(index, value)
    def replace_USER_RESTRICTED_ATTR_at(self, index, value):
        self.USER_RESTRICTED_ATTR[index] = value
    def get_VLAN_IDS(self):
        return self.VLAN_IDS
    def set_VLAN_IDS(self, VLAN_IDS):
        self.VLAN_IDS = VLAN_IDS
    def get_VM_ADMIN_OPERATIONS(self):
        return self.VM_ADMIN_OPERATIONS
    def set_VM_ADMIN_OPERATIONS(self, VM_ADMIN_OPERATIONS):
        self.VM_ADMIN_OPERATIONS = VM_ADMIN_OPERATIONS
    def get_VM_ENCRYPTED_ATTR(self):
        return self.VM_ENCRYPTED_ATTR
    def set_VM_ENCRYPTED_ATTR(self, VM_ENCRYPTED_ATTR):
        self.VM_ENCRYPTED_ATTR = VM_ENCRYPTED_ATTR
    def add_VM_ENCRYPTED_ATTR(self, value):
        self.VM_ENCRYPTED_ATTR.append(value)
    def insert_VM_ENCRYPTED_ATTR_at(self, index, value):
        self.VM_ENCRYPTED_ATTR.insert(index, value)
    def replace_VM_ENCRYPTED_ATTR_at(self, index, value):
        self.VM_ENCRYPTED_ATTR[index] = value
    def get_VM_MAD(self):
        return self.VM_MAD
    def set_VM_MAD(self, VM_MAD):
        self.VM_MAD = VM_MAD
    def add_VM_MAD(self, value):
        self.VM_MAD.append(value)
    def insert_VM_MAD_at(self, index, value):
        self.VM_MAD.insert(index, value)
    def replace_VM_MAD_at(self, index, value):
        self.VM_MAD[index] = value
    def get_VM_MANAGE_OPERATIONS(self):
        return self.VM_MANAGE_OPERATIONS
    def set_VM_MANAGE_OPERATIONS(self, VM_MANAGE_OPERATIONS):
        self.VM_MANAGE_OPERATIONS = VM_MANAGE_OPERATIONS
    def get_VM_MONITORING_EXPIRATION_TIME(self):
        return self.VM_MONITORING_EXPIRATION_TIME
    def set_VM_MONITORING_EXPIRATION_TIME(self, VM_MONITORING_EXPIRATION_TIME):
        self.VM_MONITORING_EXPIRATION_TIME = VM_MONITORING_EXPIRATION_TIME
    def add_VM_MONITORING_EXPIRATION_TIME(self, value):
        self.VM_MONITORING_EXPIRATION_TIME.append(value)
    def insert_VM_MONITORING_EXPIRATION_TIME_at(self, index, value):
        self.VM_MONITORING_EXPIRATION_TIME.insert(index, value)
    def replace_VM_MONITORING_EXPIRATION_TIME_at(self, index, value):
        self.VM_MONITORING_EXPIRATION_TIME[index] = value
    def get_VM_RESTRICTED_ATTR(self):
        return self.VM_RESTRICTED_ATTR
    def set_VM_RESTRICTED_ATTR(self, VM_RESTRICTED_ATTR):
        self.VM_RESTRICTED_ATTR = VM_RESTRICTED_ATTR
    def add_VM_RESTRICTED_ATTR(self, value):
        self.VM_RESTRICTED_ATTR.append(value)
    def insert_VM_RESTRICTED_ATTR_at(self, index, value):
        self.VM_RESTRICTED_ATTR.insert(index, value)
    def replace_VM_RESTRICTED_ATTR_at(self, index, value):
        self.VM_RESTRICTED_ATTR[index] = value
    def get_VM_SNAPSHOT_FACTOR(self):
        return self.VM_SNAPSHOT_FACTOR
    def set_VM_SNAPSHOT_FACTOR(self, VM_SNAPSHOT_FACTOR):
        self.VM_SNAPSHOT_FACTOR = VM_SNAPSHOT_FACTOR
    def get_VM_SUBMIT_ON_HOLD(self):
        return self.VM_SUBMIT_ON_HOLD
    def set_VM_SUBMIT_ON_HOLD(self, VM_SUBMIT_ON_HOLD):
        self.VM_SUBMIT_ON_HOLD = VM_SUBMIT_ON_HOLD
    def get_VM_USE_OPERATIONS(self):
        return self.VM_USE_OPERATIONS
    def set_VM_USE_OPERATIONS(self, VM_USE_OPERATIONS):
        self.VM_USE_OPERATIONS = VM_USE_OPERATIONS
    def add_VM_USE_OPERATIONS(self, value):
        self.VM_USE_OPERATIONS.append(value)
    def insert_VM_USE_OPERATIONS_at(self, index, value):
        self.VM_USE_OPERATIONS.insert(index, value)
    def replace_VM_USE_OPERATIONS_at(self, index, value):
        self.VM_USE_OPERATIONS[index] = value
    def get_VNC_PORTS(self):
        return self.VNC_PORTS
    def set_VNC_PORTS(self, VNC_PORTS):
        self.VNC_PORTS = VNC_PORTS
    def get_VNET_ENCRYPTED_ATTR(self):
        return self.VNET_ENCRYPTED_ATTR
    def set_VNET_ENCRYPTED_ATTR(self, VNET_ENCRYPTED_ATTR):
        self.VNET_ENCRYPTED_ATTR = VNET_ENCRYPTED_ATTR
    def add_VNET_ENCRYPTED_ATTR(self, value):
        self.VNET_ENCRYPTED_ATTR.append(value)
    def insert_VNET_ENCRYPTED_ATTR_at(self, index, value):
        self.VNET_ENCRYPTED_ATTR.insert(index, value)
    def replace_VNET_ENCRYPTED_ATTR_at(self, index, value):
        self.VNET_ENCRYPTED_ATTR[index] = value
    def get_VNET_RESTRICTED_ATTR(self):
        return self.VNET_RESTRICTED_ATTR
    def set_VNET_RESTRICTED_ATTR(self, VNET_RESTRICTED_ATTR):
        self.VNET_RESTRICTED_ATTR = VNET_RESTRICTED_ATTR
    def add_VNET_RESTRICTED_ATTR(self, value):
        self.VNET_RESTRICTED_ATTR.append(value)
    def insert_VNET_RESTRICTED_ATTR_at(self, index, value):
        self.VNET_RESTRICTED_ATTR.insert(index, value)
    def replace_VNET_RESTRICTED_ATTR_at(self, index, value):
        self.VNET_RESTRICTED_ATTR[index] = value
    def get_VN_MAD_CONF(self):
        return self.VN_MAD_CONF
    def set_VN_MAD_CONF(self, VN_MAD_CONF):
        self.VN_MAD_CONF = VN_MAD_CONF
    def add_VN_MAD_CONF(self, value):
        self.VN_MAD_CONF.append(value)
    def insert_VN_MAD_CONF_at(self, index, value):
        self.VN_MAD_CONF.insert(index, value)
    def replace_VN_MAD_CONF_at(self, index, value):
        self.VN_MAD_CONF[index] = value
    def get_VXLAN_IDS(self):
        return self.VXLAN_IDS
    def set_VXLAN_IDS(self, VXLAN_IDS):
        self.VXLAN_IDS = VXLAN_IDS
    def validate_ENABLE_OTHER_PERMISSIONSType(self, value):
        result = True
        # Validate type ENABLE_OTHER_PERMISSIONSType, a restriction on xs:string.
        if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
            if not isinstance(value, str):
                lineno = self.gds_get_node_lineno_()
                self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
                return False
            if not self.gds_validate_simple_patterns(
                    self.validate_ENABLE_OTHER_PERMISSIONSType_patterns_, value):
                self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_ENABLE_OTHER_PERMISSIONSType_patterns_, ))
                result = False
        return result
    validate_ENABLE_OTHER_PERMISSIONSType_patterns_ = [['^([yY][eE][sS])$', '^([nN][oO])$']]
    def validate_VM_SUBMIT_ON_HOLDType(self, value):
        result = True
        # Validate type VM_SUBMIT_ON_HOLDType, a restriction on xs:string.
        if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None:
            if not isinstance(value, str):
                lineno = self.gds_get_node_lineno_()
                self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, })
                return False
            if not self.gds_validate_simple_patterns(
                    self.validate_VM_SUBMIT_ON_HOLDType_patterns_, value):
                self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_VM_SUBMIT_ON_HOLDType_patterns_, ))
                result = False
        return result
    validate_VM_SUBMIT_ON_HOLDType_patterns_ = [['^([yY][eE][sS])$', '^([nN][oO])$']]
    def has__content(self):
        if (
            self.API_LIST_ORDER or
            self.AUTH_MAD or
            self.AUTH_MAD_CONF or
            self.CLUSTER_ENCRYPTED_ATTR or
            self.CONTEXT_RESTRICTED_DIRS is not None or
            self.CONTEXT_SAFE_DIRS is not None or
            self.DATASTORE_CAPACITY_CHECK or
            self.DATASTORE_ENCRYPTED_ATTR or
            self.DATASTORE_LOCATION or
            self.DATASTORE_MAD or
            self.DB is not None or
            self.DEFAULT_AUTH or
            self.DEFAULT_CDROM_DEVICE_PREFIX or
            self.DEFAULT_COST or
            self.DEFAULT_DEVICE_PREFIX or
            self.DEFAULT_IMAGE_PERSISTENT or
            self.DEFAULT_IMAGE_PERSISTENT_NEW or
            self.DEFAULT_IMAGE_TYPE or
            self.DEFAULT_UMASK or
            self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL or
            self.DEFAULT_VDC_CLUSTER_HOST_ACL or
            self.DEFAULT_VDC_CLUSTER_NET_ACL or
            self.DEFAULT_VDC_DATASTORE_ACL or
            self.DEFAULT_VDC_HOST_ACL or
            self.DEFAULT_VDC_VNET_ACL or
            self.DOCUMENT_ENCRYPTED_ATTR or
            self.DS_MAD_CONF or
            self.DS_MONITOR_VM_DISK is not None or
            self.ENABLE_OTHER_PERMISSIONS is not None or
            self.FEDERATION is not None or
            self.GROUP_RESTRICTED_ATTR or
            self.HM_MAD is not None or
            self.HOOK_LOG_CONF is not None or
            self.HOST_ENCRYPTED_ATTR or
            self.IMAGE_ENCRYPTED_ATTR or
            self.IMAGE_RESTRICTED_ATTR or
            self.IM_MAD or
            self.INHERIT_DATASTORE_ATTR or
            self.INHERIT_IMAGE_ATTR or
            self.INHERIT_VNET_ATTR or
            self.IPAM_MAD or
            self.KEEPALIVE_MAX_CONN or
            self.KEEPALIVE_TIMEOUT or
            self.LISTEN_ADDRESS or
            self.LOG or
            self.LOG_CALL_FORMAT or
            self.MAC_PREFIX or
            self.MANAGER_TIMER or
            self.MARKET_MAD or
            self.MARKET_MAD_CONF or
            self.MAX_BACKUPS is not None or
            self.MAX_BACKUPS_HOST is not None or
            self.MAX_CONN is not None or
            self.MAX_CONN_BACKLOG is not None or
            self.MESSAGE_SIZE is not None or
            self.MONITORING_INTERVAL_DATASTORE is not None or
            self.MONITORING_INTERVAL_HOST is not None or
            self.MONITORING_INTERVAL_MARKET is not None or
            self.MONITORING_INTERVAL_VM is not None or
            self.NETWORK_SIZE is not None or
            self.ONE_KEY or
            self.PCI_PASSTHROUGH_BUS is not None or
            self.PORT is not None or
            self.RAFT is not None or
            self.RPC_LOG is not None or
            self.SCRIPTS_REMOTE_DIR is not None or
            self.SESSION_EXPIRATION_TIME is not None or
            self.SHOWBACK_ONLY_RUNNING is not None or
            self.TIMEOUT is not None or
            self.TM_MAD or
            self.TM_MAD_CONF or
            self.USER_ENCRYPTED_ATTR or
            self.USER_RESTRICTED_ATTR or
            self.VLAN_IDS is not None or
            self.VM_ADMIN_OPERATIONS is not None or
            self.VM_ENCRYPTED_ATTR or
            self.VM_MAD or
            self.VM_MANAGE_OPERATIONS is not None or
            self.VM_MONITORING_EXPIRATION_TIME or
            self.VM_RESTRICTED_ATTR or
            self.VM_SNAPSHOT_FACTOR is not None or
            self.VM_SUBMIT_ON_HOLD is not None or
            self.VM_USE_OPERATIONS or
            self.VNC_PORTS is not None or
            self.VNET_ENCRYPTED_ATTR or
            self.VNET_RESTRICTED_ATTR or
            self.VN_MAD_CONF or
            self.VXLAN_IDS is not None
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='OPENNEBULA_CONFIGURATION', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('OPENNEBULA_CONFIGURATION')
        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_ == 'OPENNEBULA_CONFIGURATION':
            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_='OPENNEBULA_CONFIGURATION')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OPENNEBULA_CONFIGURATION', 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_='OPENNEBULA_CONFIGURATION'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='OPENNEBULA_CONFIGURATION', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for API_LIST_ORDER_ in self.API_LIST_ORDER:
            namespaceprefix_ = self.API_LIST_ORDER_nsprefix_ + ':' if (UseCapturedNS_ and self.API_LIST_ORDER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sAPI_LIST_ORDER>%s</%sAPI_LIST_ORDER>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(API_LIST_ORDER_), input_name='API_LIST_ORDER')), namespaceprefix_ , eol_))
        for AUTH_MAD_ in self.AUTH_MAD:
            namespaceprefix_ = self.AUTH_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.AUTH_MAD_nsprefix_) else ''
            AUTH_MAD_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AUTH_MAD', pretty_print=pretty_print)
        for AUTH_MAD_CONF_ in self.AUTH_MAD_CONF:
            namespaceprefix_ = self.AUTH_MAD_CONF_nsprefix_ + ':' if (UseCapturedNS_ and self.AUTH_MAD_CONF_nsprefix_) else ''
            AUTH_MAD_CONF_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AUTH_MAD_CONF', pretty_print=pretty_print)
        for CLUSTER_ENCRYPTED_ATTR_ in self.CLUSTER_ENCRYPTED_ATTR:
            namespaceprefix_ = self.CLUSTER_ENCRYPTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.CLUSTER_ENCRYPTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCLUSTER_ENCRYPTED_ATTR>%s</%sCLUSTER_ENCRYPTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(CLUSTER_ENCRYPTED_ATTR_), input_name='CLUSTER_ENCRYPTED_ATTR')), namespaceprefix_ , eol_))
        if self.CONTEXT_RESTRICTED_DIRS is not None:
            namespaceprefix_ = self.CONTEXT_RESTRICTED_DIRS_nsprefix_ + ':' if (UseCapturedNS_ and self.CONTEXT_RESTRICTED_DIRS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCONTEXT_RESTRICTED_DIRS>%s</%sCONTEXT_RESTRICTED_DIRS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CONTEXT_RESTRICTED_DIRS), input_name='CONTEXT_RESTRICTED_DIRS')), namespaceprefix_ , eol_))
        if self.CONTEXT_SAFE_DIRS is not None:
            namespaceprefix_ = self.CONTEXT_SAFE_DIRS_nsprefix_ + ':' if (UseCapturedNS_ and self.CONTEXT_SAFE_DIRS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sCONTEXT_SAFE_DIRS>%s</%sCONTEXT_SAFE_DIRS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CONTEXT_SAFE_DIRS), input_name='CONTEXT_SAFE_DIRS')), namespaceprefix_ , eol_))
        for DATASTORE_CAPACITY_CHECK_ in self.DATASTORE_CAPACITY_CHECK:
            namespaceprefix_ = self.DATASTORE_CAPACITY_CHECK_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_CAPACITY_CHECK_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDATASTORE_CAPACITY_CHECK>%s</%sDATASTORE_CAPACITY_CHECK>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DATASTORE_CAPACITY_CHECK_), input_name='DATASTORE_CAPACITY_CHECK')), namespaceprefix_ , eol_))
        for DATASTORE_ENCRYPTED_ATTR_ in self.DATASTORE_ENCRYPTED_ATTR:
            namespaceprefix_ = self.DATASTORE_ENCRYPTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_ENCRYPTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDATASTORE_ENCRYPTED_ATTR>%s</%sDATASTORE_ENCRYPTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DATASTORE_ENCRYPTED_ATTR_), input_name='DATASTORE_ENCRYPTED_ATTR')), namespaceprefix_ , eol_))
        for DATASTORE_LOCATION_ in self.DATASTORE_LOCATION:
            namespaceprefix_ = self.DATASTORE_LOCATION_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_LOCATION_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDATASTORE_LOCATION>%s</%sDATASTORE_LOCATION>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DATASTORE_LOCATION_), input_name='DATASTORE_LOCATION')), namespaceprefix_ , eol_))
        for DATASTORE_MAD_ in self.DATASTORE_MAD:
            namespaceprefix_ = self.DATASTORE_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.DATASTORE_MAD_nsprefix_) else ''
            DATASTORE_MAD_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DATASTORE_MAD', pretty_print=pretty_print)
        if self.DB is not None:
            namespaceprefix_ = self.DB_nsprefix_ + ':' if (UseCapturedNS_ and self.DB_nsprefix_) else ''
            self.DB.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DB', pretty_print=pretty_print)
        for DEFAULT_AUTH_ in self.DEFAULT_AUTH:
            namespaceprefix_ = self.DEFAULT_AUTH_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_AUTH_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_AUTH>%s</%sDEFAULT_AUTH>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_AUTH_), input_name='DEFAULT_AUTH')), namespaceprefix_ , eol_))
        for DEFAULT_CDROM_DEVICE_PREFIX_ in self.DEFAULT_CDROM_DEVICE_PREFIX:
            namespaceprefix_ = self.DEFAULT_CDROM_DEVICE_PREFIX_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_CDROM_DEVICE_PREFIX_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_CDROM_DEVICE_PREFIX>%s</%sDEFAULT_CDROM_DEVICE_PREFIX>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_CDROM_DEVICE_PREFIX_), input_name='DEFAULT_CDROM_DEVICE_PREFIX')), namespaceprefix_ , eol_))
        for DEFAULT_COST_ in self.DEFAULT_COST:
            namespaceprefix_ = self.DEFAULT_COST_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_COST_nsprefix_) else ''
            DEFAULT_COST_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DEFAULT_COST', pretty_print=pretty_print)
        for DEFAULT_DEVICE_PREFIX_ in self.DEFAULT_DEVICE_PREFIX:
            namespaceprefix_ = self.DEFAULT_DEVICE_PREFIX_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_DEVICE_PREFIX_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_DEVICE_PREFIX>%s</%sDEFAULT_DEVICE_PREFIX>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_DEVICE_PREFIX_), input_name='DEFAULT_DEVICE_PREFIX')), namespaceprefix_ , eol_))
        for DEFAULT_IMAGE_PERSISTENT_ in self.DEFAULT_IMAGE_PERSISTENT:
            namespaceprefix_ = self.DEFAULT_IMAGE_PERSISTENT_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_IMAGE_PERSISTENT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_IMAGE_PERSISTENT>%s</%sDEFAULT_IMAGE_PERSISTENT>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_IMAGE_PERSISTENT_), input_name='DEFAULT_IMAGE_PERSISTENT')), namespaceprefix_ , eol_))
        for DEFAULT_IMAGE_PERSISTENT_NEW_ in self.DEFAULT_IMAGE_PERSISTENT_NEW:
            namespaceprefix_ = self.DEFAULT_IMAGE_PERSISTENT_NEW_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_IMAGE_PERSISTENT_NEW_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_IMAGE_PERSISTENT_NEW>%s</%sDEFAULT_IMAGE_PERSISTENT_NEW>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_IMAGE_PERSISTENT_NEW_), input_name='DEFAULT_IMAGE_PERSISTENT_NEW')), namespaceprefix_ , eol_))
        for DEFAULT_IMAGE_TYPE_ in self.DEFAULT_IMAGE_TYPE:
            namespaceprefix_ = self.DEFAULT_IMAGE_TYPE_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_IMAGE_TYPE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_IMAGE_TYPE>%s</%sDEFAULT_IMAGE_TYPE>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_IMAGE_TYPE_), input_name='DEFAULT_IMAGE_TYPE')), namespaceprefix_ , eol_))
        for DEFAULT_UMASK_ in self.DEFAULT_UMASK:
            namespaceprefix_ = self.DEFAULT_UMASK_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_UMASK_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_UMASK>%s</%sDEFAULT_UMASK>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_UMASK_), input_name='DEFAULT_UMASK')), namespaceprefix_ , eol_))
        for DEFAULT_VDC_CLUSTER_DATASTORE_ACL_ in self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL:
            namespaceprefix_ = self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_VDC_CLUSTER_DATASTORE_ACL>%s</%sDEFAULT_VDC_CLUSTER_DATASTORE_ACL>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_VDC_CLUSTER_DATASTORE_ACL_), input_name='DEFAULT_VDC_CLUSTER_DATASTORE_ACL')), namespaceprefix_ , eol_))
        for DEFAULT_VDC_CLUSTER_HOST_ACL_ in self.DEFAULT_VDC_CLUSTER_HOST_ACL:
            namespaceprefix_ = self.DEFAULT_VDC_CLUSTER_HOST_ACL_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_VDC_CLUSTER_HOST_ACL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_VDC_CLUSTER_HOST_ACL>%s</%sDEFAULT_VDC_CLUSTER_HOST_ACL>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_VDC_CLUSTER_HOST_ACL_), input_name='DEFAULT_VDC_CLUSTER_HOST_ACL')), namespaceprefix_ , eol_))
        for DEFAULT_VDC_CLUSTER_NET_ACL_ in self.DEFAULT_VDC_CLUSTER_NET_ACL:
            namespaceprefix_ = self.DEFAULT_VDC_CLUSTER_NET_ACL_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_VDC_CLUSTER_NET_ACL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_VDC_CLUSTER_NET_ACL>%s</%sDEFAULT_VDC_CLUSTER_NET_ACL>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_VDC_CLUSTER_NET_ACL_), input_name='DEFAULT_VDC_CLUSTER_NET_ACL')), namespaceprefix_ , eol_))
        for DEFAULT_VDC_DATASTORE_ACL_ in self.DEFAULT_VDC_DATASTORE_ACL:
            namespaceprefix_ = self.DEFAULT_VDC_DATASTORE_ACL_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_VDC_DATASTORE_ACL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_VDC_DATASTORE_ACL>%s</%sDEFAULT_VDC_DATASTORE_ACL>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_VDC_DATASTORE_ACL_), input_name='DEFAULT_VDC_DATASTORE_ACL')), namespaceprefix_ , eol_))
        for DEFAULT_VDC_HOST_ACL_ in self.DEFAULT_VDC_HOST_ACL:
            namespaceprefix_ = self.DEFAULT_VDC_HOST_ACL_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_VDC_HOST_ACL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_VDC_HOST_ACL>%s</%sDEFAULT_VDC_HOST_ACL>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_VDC_HOST_ACL_), input_name='DEFAULT_VDC_HOST_ACL')), namespaceprefix_ , eol_))
        for DEFAULT_VDC_VNET_ACL_ in self.DEFAULT_VDC_VNET_ACL:
            namespaceprefix_ = self.DEFAULT_VDC_VNET_ACL_nsprefix_ + ':' if (UseCapturedNS_ and self.DEFAULT_VDC_VNET_ACL_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDEFAULT_VDC_VNET_ACL>%s</%sDEFAULT_VDC_VNET_ACL>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DEFAULT_VDC_VNET_ACL_), input_name='DEFAULT_VDC_VNET_ACL')), namespaceprefix_ , eol_))
        for DOCUMENT_ENCRYPTED_ATTR_ in self.DOCUMENT_ENCRYPTED_ATTR:
            namespaceprefix_ = self.DOCUMENT_ENCRYPTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.DOCUMENT_ENCRYPTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDOCUMENT_ENCRYPTED_ATTR>%s</%sDOCUMENT_ENCRYPTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(DOCUMENT_ENCRYPTED_ATTR_), input_name='DOCUMENT_ENCRYPTED_ATTR')), namespaceprefix_ , eol_))
        for DS_MAD_CONF_ in self.DS_MAD_CONF:
            namespaceprefix_ = self.DS_MAD_CONF_nsprefix_ + ':' if (UseCapturedNS_ and self.DS_MAD_CONF_nsprefix_) else ''
            DS_MAD_CONF_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DS_MAD_CONF', pretty_print=pretty_print)
        if self.DS_MONITOR_VM_DISK is not None:
            namespaceprefix_ = self.DS_MONITOR_VM_DISK_nsprefix_ + ':' if (UseCapturedNS_ and self.DS_MONITOR_VM_DISK_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sDS_MONITOR_VM_DISK>%s</%sDS_MONITOR_VM_DISK>%s' % (namespaceprefix_ , self.gds_format_integer(self.DS_MONITOR_VM_DISK, input_name='DS_MONITOR_VM_DISK'), namespaceprefix_ , eol_))
        if self.ENABLE_OTHER_PERMISSIONS is not None:
            namespaceprefix_ = self.ENABLE_OTHER_PERMISSIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.ENABLE_OTHER_PERMISSIONS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sENABLE_OTHER_PERMISSIONS>%s</%sENABLE_OTHER_PERMISSIONS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ENABLE_OTHER_PERMISSIONS), input_name='ENABLE_OTHER_PERMISSIONS')), namespaceprefix_ , eol_))
        if self.FEDERATION is not None:
            namespaceprefix_ = self.FEDERATION_nsprefix_ + ':' if (UseCapturedNS_ and self.FEDERATION_nsprefix_) else ''
            self.FEDERATION.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FEDERATION', pretty_print=pretty_print)
        for GROUP_RESTRICTED_ATTR_ in self.GROUP_RESTRICTED_ATTR:
            namespaceprefix_ = self.GROUP_RESTRICTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.GROUP_RESTRICTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sGROUP_RESTRICTED_ATTR>%s</%sGROUP_RESTRICTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(GROUP_RESTRICTED_ATTR_), input_name='GROUP_RESTRICTED_ATTR')), namespaceprefix_ , eol_))
        if self.HM_MAD is not None:
            namespaceprefix_ = self.HM_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.HM_MAD_nsprefix_) else ''
            self.HM_MAD.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HM_MAD', pretty_print=pretty_print)
        if self.HOOK_LOG_CONF is not None:
            namespaceprefix_ = self.HOOK_LOG_CONF_nsprefix_ + ':' if (UseCapturedNS_ and self.HOOK_LOG_CONF_nsprefix_) else ''
            self.HOOK_LOG_CONF.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HOOK_LOG_CONF', pretty_print=pretty_print)
        for HOST_ENCRYPTED_ATTR_ in self.HOST_ENCRYPTED_ATTR:
            namespaceprefix_ = self.HOST_ENCRYPTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.HOST_ENCRYPTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sHOST_ENCRYPTED_ATTR>%s</%sHOST_ENCRYPTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(HOST_ENCRYPTED_ATTR_), input_name='HOST_ENCRYPTED_ATTR')), namespaceprefix_ , eol_))
        for IMAGE_ENCRYPTED_ATTR_ in self.IMAGE_ENCRYPTED_ATTR:
            namespaceprefix_ = self.IMAGE_ENCRYPTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_ENCRYPTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGE_ENCRYPTED_ATTR>%s</%sIMAGE_ENCRYPTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(IMAGE_ENCRYPTED_ATTR_), input_name='IMAGE_ENCRYPTED_ATTR')), namespaceprefix_ , eol_))
        for IMAGE_RESTRICTED_ATTR_ in self.IMAGE_RESTRICTED_ATTR:
            namespaceprefix_ = self.IMAGE_RESTRICTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.IMAGE_RESTRICTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sIMAGE_RESTRICTED_ATTR>%s</%sIMAGE_RESTRICTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(IMAGE_RESTRICTED_ATTR_), input_name='IMAGE_RESTRICTED_ATTR')), namespaceprefix_ , eol_))
        for IM_MAD_ in self.IM_MAD:
            namespaceprefix_ = self.IM_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.IM_MAD_nsprefix_) else ''
            IM_MAD_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IM_MAD', pretty_print=pretty_print)
        for INHERIT_DATASTORE_ATTR_ in self.INHERIT_DATASTORE_ATTR:
            namespaceprefix_ = self.INHERIT_DATASTORE_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.INHERIT_DATASTORE_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sINHERIT_DATASTORE_ATTR>%s</%sINHERIT_DATASTORE_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(INHERIT_DATASTORE_ATTR_), input_name='INHERIT_DATASTORE_ATTR')), namespaceprefix_ , eol_))
        for INHERIT_IMAGE_ATTR_ in self.INHERIT_IMAGE_ATTR:
            namespaceprefix_ = self.INHERIT_IMAGE_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.INHERIT_IMAGE_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sINHERIT_IMAGE_ATTR>%s</%sINHERIT_IMAGE_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(INHERIT_IMAGE_ATTR_), input_name='INHERIT_IMAGE_ATTR')), namespaceprefix_ , eol_))
        for INHERIT_VNET_ATTR_ in self.INHERIT_VNET_ATTR:
            namespaceprefix_ = self.INHERIT_VNET_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.INHERIT_VNET_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sINHERIT_VNET_ATTR>%s</%sINHERIT_VNET_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(INHERIT_VNET_ATTR_), input_name='INHERIT_VNET_ATTR')), namespaceprefix_ , eol_))
        for IPAM_MAD_ in self.IPAM_MAD:
            namespaceprefix_ = self.IPAM_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.IPAM_MAD_nsprefix_) else ''
            IPAM_MAD_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IPAM_MAD', pretty_print=pretty_print)
        for KEEPALIVE_MAX_CONN_ in self.KEEPALIVE_MAX_CONN:
            namespaceprefix_ = self.KEEPALIVE_MAX_CONN_nsprefix_ + ':' if (UseCapturedNS_ and self.KEEPALIVE_MAX_CONN_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sKEEPALIVE_MAX_CONN>%s</%sKEEPALIVE_MAX_CONN>%s' % (namespaceprefix_ , self.gds_format_integer(KEEPALIVE_MAX_CONN_, input_name='KEEPALIVE_MAX_CONN'), namespaceprefix_ , eol_))
        for KEEPALIVE_TIMEOUT_ in self.KEEPALIVE_TIMEOUT:
            namespaceprefix_ = self.KEEPALIVE_TIMEOUT_nsprefix_ + ':' if (UseCapturedNS_ and self.KEEPALIVE_TIMEOUT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sKEEPALIVE_TIMEOUT>%s</%sKEEPALIVE_TIMEOUT>%s' % (namespaceprefix_ , self.gds_format_integer(KEEPALIVE_TIMEOUT_, input_name='KEEPALIVE_TIMEOUT'), namespaceprefix_ , eol_))
        for LISTEN_ADDRESS_ in self.LISTEN_ADDRESS:
            namespaceprefix_ = self.LISTEN_ADDRESS_nsprefix_ + ':' if (UseCapturedNS_ and self.LISTEN_ADDRESS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLISTEN_ADDRESS>%s</%sLISTEN_ADDRESS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(LISTEN_ADDRESS_), input_name='LISTEN_ADDRESS')), namespaceprefix_ , eol_))
        for LOG_ in self.LOG:
            namespaceprefix_ = self.LOG_nsprefix_ + ':' if (UseCapturedNS_ and self.LOG_nsprefix_) else ''
            LOG_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LOG', pretty_print=pretty_print)
        for LOG_CALL_FORMAT_ in self.LOG_CALL_FORMAT:
            namespaceprefix_ = self.LOG_CALL_FORMAT_nsprefix_ + ':' if (UseCapturedNS_ and self.LOG_CALL_FORMAT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLOG_CALL_FORMAT>%s</%sLOG_CALL_FORMAT>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(LOG_CALL_FORMAT_), input_name='LOG_CALL_FORMAT')), namespaceprefix_ , eol_))
        for MAC_PREFIX_ in self.MAC_PREFIX:
            namespaceprefix_ = self.MAC_PREFIX_nsprefix_ + ':' if (UseCapturedNS_ and self.MAC_PREFIX_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMAC_PREFIX>%s</%sMAC_PREFIX>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(MAC_PREFIX_), input_name='MAC_PREFIX')), namespaceprefix_ , eol_))
        for MANAGER_TIMER_ in self.MANAGER_TIMER:
            namespaceprefix_ = self.MANAGER_TIMER_nsprefix_ + ':' if (UseCapturedNS_ and self.MANAGER_TIMER_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMANAGER_TIMER>%s</%sMANAGER_TIMER>%s' % (namespaceprefix_ , self.gds_format_integer(MANAGER_TIMER_, input_name='MANAGER_TIMER'), namespaceprefix_ , eol_))
        for MARKET_MAD_ in self.MARKET_MAD:
            namespaceprefix_ = self.MARKET_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.MARKET_MAD_nsprefix_) else ''
            MARKET_MAD_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MARKET_MAD', pretty_print=pretty_print)
        for MARKET_MAD_CONF_ in self.MARKET_MAD_CONF:
            namespaceprefix_ = self.MARKET_MAD_CONF_nsprefix_ + ':' if (UseCapturedNS_ and self.MARKET_MAD_CONF_nsprefix_) else ''
            MARKET_MAD_CONF_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='MARKET_MAD_CONF', pretty_print=pretty_print)
        if self.MAX_BACKUPS is not None:
            namespaceprefix_ = self.MAX_BACKUPS_nsprefix_ + ':' if (UseCapturedNS_ and self.MAX_BACKUPS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMAX_BACKUPS>%s</%sMAX_BACKUPS>%s' % (namespaceprefix_ , self.gds_format_integer(self.MAX_BACKUPS, input_name='MAX_BACKUPS'), namespaceprefix_ , eol_))
        if self.MAX_BACKUPS_HOST is not None:
            namespaceprefix_ = self.MAX_BACKUPS_HOST_nsprefix_ + ':' if (UseCapturedNS_ and self.MAX_BACKUPS_HOST_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMAX_BACKUPS_HOST>%s</%sMAX_BACKUPS_HOST>%s' % (namespaceprefix_ , self.gds_format_integer(self.MAX_BACKUPS_HOST, input_name='MAX_BACKUPS_HOST'), namespaceprefix_ , eol_))
        if self.MAX_CONN is not None:
            namespaceprefix_ = self.MAX_CONN_nsprefix_ + ':' if (UseCapturedNS_ and self.MAX_CONN_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMAX_CONN>%s</%sMAX_CONN>%s' % (namespaceprefix_ , self.gds_format_integer(self.MAX_CONN, input_name='MAX_CONN'), namespaceprefix_ , eol_))
        if self.MAX_CONN_BACKLOG is not None:
            namespaceprefix_ = self.MAX_CONN_BACKLOG_nsprefix_ + ':' if (UseCapturedNS_ and self.MAX_CONN_BACKLOG_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMAX_CONN_BACKLOG>%s</%sMAX_CONN_BACKLOG>%s' % (namespaceprefix_ , self.gds_format_integer(self.MAX_CONN_BACKLOG, input_name='MAX_CONN_BACKLOG'), namespaceprefix_ , eol_))
        if self.MESSAGE_SIZE is not None:
            namespaceprefix_ = self.MESSAGE_SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.MESSAGE_SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMESSAGE_SIZE>%s</%sMESSAGE_SIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.MESSAGE_SIZE, input_name='MESSAGE_SIZE'), namespaceprefix_ , eol_))
        if self.MONITORING_INTERVAL_DATASTORE is not None:
            namespaceprefix_ = self.MONITORING_INTERVAL_DATASTORE_nsprefix_ + ':' if (UseCapturedNS_ and self.MONITORING_INTERVAL_DATASTORE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMONITORING_INTERVAL_DATASTORE>%s</%sMONITORING_INTERVAL_DATASTORE>%s' % (namespaceprefix_ , self.gds_format_integer(self.MONITORING_INTERVAL_DATASTORE, input_name='MONITORING_INTERVAL_DATASTORE'), namespaceprefix_ , eol_))
        if self.MONITORING_INTERVAL_HOST is not None:
            namespaceprefix_ = self.MONITORING_INTERVAL_HOST_nsprefix_ + ':' if (UseCapturedNS_ and self.MONITORING_INTERVAL_HOST_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMONITORING_INTERVAL_HOST>%s</%sMONITORING_INTERVAL_HOST>%s' % (namespaceprefix_ , self.gds_format_integer(self.MONITORING_INTERVAL_HOST, input_name='MONITORING_INTERVAL_HOST'), namespaceprefix_ , eol_))
        if self.MONITORING_INTERVAL_MARKET is not None:
            namespaceprefix_ = self.MONITORING_INTERVAL_MARKET_nsprefix_ + ':' if (UseCapturedNS_ and self.MONITORING_INTERVAL_MARKET_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMONITORING_INTERVAL_MARKET>%s</%sMONITORING_INTERVAL_MARKET>%s' % (namespaceprefix_ , self.gds_format_integer(self.MONITORING_INTERVAL_MARKET, input_name='MONITORING_INTERVAL_MARKET'), namespaceprefix_ , eol_))
        if self.MONITORING_INTERVAL_VM is not None:
            namespaceprefix_ = self.MONITORING_INTERVAL_VM_nsprefix_ + ':' if (UseCapturedNS_ and self.MONITORING_INTERVAL_VM_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sMONITORING_INTERVAL_VM>%s</%sMONITORING_INTERVAL_VM>%s' % (namespaceprefix_ , self.gds_format_integer(self.MONITORING_INTERVAL_VM, input_name='MONITORING_INTERVAL_VM'), namespaceprefix_ , eol_))
        if self.NETWORK_SIZE is not None:
            namespaceprefix_ = self.NETWORK_SIZE_nsprefix_ + ':' if (UseCapturedNS_ and self.NETWORK_SIZE_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sNETWORK_SIZE>%s</%sNETWORK_SIZE>%s' % (namespaceprefix_ , self.gds_format_integer(self.NETWORK_SIZE, input_name='NETWORK_SIZE'), namespaceprefix_ , eol_))
        for ONE_KEY_ in self.ONE_KEY:
            namespaceprefix_ = self.ONE_KEY_nsprefix_ + ':' if (UseCapturedNS_ and self.ONE_KEY_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sONE_KEY>%s</%sONE_KEY>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(ONE_KEY_), input_name='ONE_KEY')), namespaceprefix_ , eol_))
        if self.PCI_PASSTHROUGH_BUS is not None:
            namespaceprefix_ = self.PCI_PASSTHROUGH_BUS_nsprefix_ + ':' if (UseCapturedNS_ and self.PCI_PASSTHROUGH_BUS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPCI_PASSTHROUGH_BUS>%s</%sPCI_PASSTHROUGH_BUS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PCI_PASSTHROUGH_BUS), input_name='PCI_PASSTHROUGH_BUS')), namespaceprefix_ , eol_))
        if self.PORT is not None:
            namespaceprefix_ = self.PORT_nsprefix_ + ':' if (UseCapturedNS_ and self.PORT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sPORT>%s</%sPORT>%s' % (namespaceprefix_ , self.gds_format_integer(self.PORT, input_name='PORT'), namespaceprefix_ , eol_))
        if self.RAFT is not None:
            namespaceprefix_ = self.RAFT_nsprefix_ + ':' if (UseCapturedNS_ and self.RAFT_nsprefix_) else ''
            self.RAFT.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RAFT', pretty_print=pretty_print)
        if self.RPC_LOG is not None:
            namespaceprefix_ = self.RPC_LOG_nsprefix_ + ':' if (UseCapturedNS_ and self.RPC_LOG_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sRPC_LOG>%s</%sRPC_LOG>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RPC_LOG), input_name='RPC_LOG')), namespaceprefix_ , eol_))
        if self.SCRIPTS_REMOTE_DIR is not None:
            namespaceprefix_ = self.SCRIPTS_REMOTE_DIR_nsprefix_ + ':' if (UseCapturedNS_ and self.SCRIPTS_REMOTE_DIR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSCRIPTS_REMOTE_DIR>%s</%sSCRIPTS_REMOTE_DIR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SCRIPTS_REMOTE_DIR), input_name='SCRIPTS_REMOTE_DIR')), namespaceprefix_ , eol_))
        if self.SESSION_EXPIRATION_TIME is not None:
            namespaceprefix_ = self.SESSION_EXPIRATION_TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.SESSION_EXPIRATION_TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSESSION_EXPIRATION_TIME>%s</%sSESSION_EXPIRATION_TIME>%s' % (namespaceprefix_ , self.gds_format_integer(self.SESSION_EXPIRATION_TIME, input_name='SESSION_EXPIRATION_TIME'), namespaceprefix_ , eol_))
        if self.SHOWBACK_ONLY_RUNNING is not None:
            namespaceprefix_ = self.SHOWBACK_ONLY_RUNNING_nsprefix_ + ':' if (UseCapturedNS_ and self.SHOWBACK_ONLY_RUNNING_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSHOWBACK_ONLY_RUNNING>%s</%sSHOWBACK_ONLY_RUNNING>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SHOWBACK_ONLY_RUNNING), input_name='SHOWBACK_ONLY_RUNNING')), namespaceprefix_ , eol_))
        if self.TIMEOUT is not None:
            namespaceprefix_ = self.TIMEOUT_nsprefix_ + ':' if (UseCapturedNS_ and self.TIMEOUT_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sTIMEOUT>%s</%sTIMEOUT>%s' % (namespaceprefix_ , self.gds_format_integer(self.TIMEOUT, input_name='TIMEOUT'), namespaceprefix_ , eol_))
        for TM_MAD_ in self.TM_MAD:
            namespaceprefix_ = self.TM_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.TM_MAD_nsprefix_) else ''
            TM_MAD_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TM_MAD', pretty_print=pretty_print)
        for TM_MAD_CONF_ in self.TM_MAD_CONF:
            namespaceprefix_ = self.TM_MAD_CONF_nsprefix_ + ':' if (UseCapturedNS_ and self.TM_MAD_CONF_nsprefix_) else ''
            TM_MAD_CONF_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TM_MAD_CONF', pretty_print=pretty_print)
        for USER_ENCRYPTED_ATTR_ in self.USER_ENCRYPTED_ATTR:
            namespaceprefix_ = self.USER_ENCRYPTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.USER_ENCRYPTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSER_ENCRYPTED_ATTR>%s</%sUSER_ENCRYPTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(USER_ENCRYPTED_ATTR_), input_name='USER_ENCRYPTED_ATTR')), namespaceprefix_ , eol_))
        for USER_RESTRICTED_ATTR_ in self.USER_RESTRICTED_ATTR:
            namespaceprefix_ = self.USER_RESTRICTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.USER_RESTRICTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sUSER_RESTRICTED_ATTR>%s</%sUSER_RESTRICTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(USER_RESTRICTED_ATTR_), input_name='USER_RESTRICTED_ATTR')), namespaceprefix_ , eol_))
        if self.VLAN_IDS is not None:
            namespaceprefix_ = self.VLAN_IDS_nsprefix_ + ':' if (UseCapturedNS_ and self.VLAN_IDS_nsprefix_) else ''
            self.VLAN_IDS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VLAN_IDS', pretty_print=pretty_print)
        if self.VM_ADMIN_OPERATIONS is not None:
            namespaceprefix_ = self.VM_ADMIN_OPERATIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_ADMIN_OPERATIONS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVM_ADMIN_OPERATIONS>%s</%sVM_ADMIN_OPERATIONS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VM_ADMIN_OPERATIONS), input_name='VM_ADMIN_OPERATIONS')), namespaceprefix_ , eol_))
        for VM_ENCRYPTED_ATTR_ in self.VM_ENCRYPTED_ATTR:
            namespaceprefix_ = self.VM_ENCRYPTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_ENCRYPTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVM_ENCRYPTED_ATTR>%s</%sVM_ENCRYPTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(VM_ENCRYPTED_ATTR_), input_name='VM_ENCRYPTED_ATTR')), namespaceprefix_ , eol_))
        for VM_MAD_ in self.VM_MAD:
            namespaceprefix_ = self.VM_MAD_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_MAD_nsprefix_) else ''
            VM_MAD_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VM_MAD', pretty_print=pretty_print)
        if self.VM_MANAGE_OPERATIONS is not None:
            namespaceprefix_ = self.VM_MANAGE_OPERATIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_MANAGE_OPERATIONS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVM_MANAGE_OPERATIONS>%s</%sVM_MANAGE_OPERATIONS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VM_MANAGE_OPERATIONS), input_name='VM_MANAGE_OPERATIONS')), namespaceprefix_ , eol_))
        for VM_MONITORING_EXPIRATION_TIME_ in self.VM_MONITORING_EXPIRATION_TIME:
            namespaceprefix_ = self.VM_MONITORING_EXPIRATION_TIME_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_MONITORING_EXPIRATION_TIME_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVM_MONITORING_EXPIRATION_TIME>%s</%sVM_MONITORING_EXPIRATION_TIME>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(VM_MONITORING_EXPIRATION_TIME_), input_name='VM_MONITORING_EXPIRATION_TIME')), namespaceprefix_ , eol_))
        for VM_RESTRICTED_ATTR_ in self.VM_RESTRICTED_ATTR:
            namespaceprefix_ = self.VM_RESTRICTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_RESTRICTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVM_RESTRICTED_ATTR>%s</%sVM_RESTRICTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(VM_RESTRICTED_ATTR_), input_name='VM_RESTRICTED_ATTR')), namespaceprefix_ , eol_))
        if self.VM_SNAPSHOT_FACTOR is not None:
            namespaceprefix_ = self.VM_SNAPSHOT_FACTOR_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_SNAPSHOT_FACTOR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVM_SNAPSHOT_FACTOR>%s</%sVM_SNAPSHOT_FACTOR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VM_SNAPSHOT_FACTOR), input_name='VM_SNAPSHOT_FACTOR')), namespaceprefix_ , eol_))
        if self.VM_SUBMIT_ON_HOLD is not None:
            namespaceprefix_ = self.VM_SUBMIT_ON_HOLD_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_SUBMIT_ON_HOLD_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVM_SUBMIT_ON_HOLD>%s</%sVM_SUBMIT_ON_HOLD>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.VM_SUBMIT_ON_HOLD), input_name='VM_SUBMIT_ON_HOLD')), namespaceprefix_ , eol_))
        for VM_USE_OPERATIONS_ in self.VM_USE_OPERATIONS:
            namespaceprefix_ = self.VM_USE_OPERATIONS_nsprefix_ + ':' if (UseCapturedNS_ and self.VM_USE_OPERATIONS_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVM_USE_OPERATIONS>%s</%sVM_USE_OPERATIONS>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(VM_USE_OPERATIONS_), input_name='VM_USE_OPERATIONS')), namespaceprefix_ , eol_))
        if self.VNC_PORTS is not None:
            namespaceprefix_ = self.VNC_PORTS_nsprefix_ + ':' if (UseCapturedNS_ and self.VNC_PORTS_nsprefix_) else ''
            self.VNC_PORTS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VNC_PORTS', pretty_print=pretty_print)
        for VNET_ENCRYPTED_ATTR_ in self.VNET_ENCRYPTED_ATTR:
            namespaceprefix_ = self.VNET_ENCRYPTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.VNET_ENCRYPTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVNET_ENCRYPTED_ATTR>%s</%sVNET_ENCRYPTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(VNET_ENCRYPTED_ATTR_), input_name='VNET_ENCRYPTED_ATTR')), namespaceprefix_ , eol_))
        for VNET_RESTRICTED_ATTR_ in self.VNET_RESTRICTED_ATTR:
            namespaceprefix_ = self.VNET_RESTRICTED_ATTR_nsprefix_ + ':' if (UseCapturedNS_ and self.VNET_RESTRICTED_ATTR_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sVNET_RESTRICTED_ATTR>%s</%sVNET_RESTRICTED_ATTR>%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(VNET_RESTRICTED_ATTR_), input_name='VNET_RESTRICTED_ATTR')), namespaceprefix_ , eol_))
        for VN_MAD_CONF_ in self.VN_MAD_CONF:
            namespaceprefix_ = self.VN_MAD_CONF_nsprefix_ + ':' if (UseCapturedNS_ and self.VN_MAD_CONF_nsprefix_) else ''
            VN_MAD_CONF_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VN_MAD_CONF', pretty_print=pretty_print)
        if self.VXLAN_IDS is not None:
            namespaceprefix_ = self.VXLAN_IDS_nsprefix_ + ':' if (UseCapturedNS_ and self.VXLAN_IDS_nsprefix_) else ''
            self.VXLAN_IDS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VXLAN_IDS', 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_ == 'API_LIST_ORDER':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'API_LIST_ORDER')
            value_ = self.gds_validate_string(value_, node, 'API_LIST_ORDER')
            self.API_LIST_ORDER.append(value_)
            self.API_LIST_ORDER_nsprefix_ = child_.prefix
        elif nodeName_ == 'AUTH_MAD':
            obj_ = AUTH_MADType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.AUTH_MAD.append(obj_)
            obj_.original_tagname_ = 'AUTH_MAD'
        elif nodeName_ == 'AUTH_MAD_CONF':
            obj_ = AUTH_MAD_CONFType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.AUTH_MAD_CONF.append(obj_)
            obj_.original_tagname_ = 'AUTH_MAD_CONF'
        elif nodeName_ == 'CLUSTER_ENCRYPTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CLUSTER_ENCRYPTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'CLUSTER_ENCRYPTED_ATTR')
            self.CLUSTER_ENCRYPTED_ATTR.append(value_)
            self.CLUSTER_ENCRYPTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'CONTEXT_RESTRICTED_DIRS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CONTEXT_RESTRICTED_DIRS')
            value_ = self.gds_validate_string(value_, node, 'CONTEXT_RESTRICTED_DIRS')
            self.CONTEXT_RESTRICTED_DIRS = value_
            self.CONTEXT_RESTRICTED_DIRS_nsprefix_ = child_.prefix
        elif nodeName_ == 'CONTEXT_SAFE_DIRS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'CONTEXT_SAFE_DIRS')
            value_ = self.gds_validate_string(value_, node, 'CONTEXT_SAFE_DIRS')
            self.CONTEXT_SAFE_DIRS = value_
            self.CONTEXT_SAFE_DIRS_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATASTORE_CAPACITY_CHECK':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DATASTORE_CAPACITY_CHECK')
            value_ = self.gds_validate_string(value_, node, 'DATASTORE_CAPACITY_CHECK')
            self.DATASTORE_CAPACITY_CHECK.append(value_)
            self.DATASTORE_CAPACITY_CHECK_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATASTORE_ENCRYPTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DATASTORE_ENCRYPTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'DATASTORE_ENCRYPTED_ATTR')
            self.DATASTORE_ENCRYPTED_ATTR.append(value_)
            self.DATASTORE_ENCRYPTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATASTORE_LOCATION':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DATASTORE_LOCATION')
            value_ = self.gds_validate_string(value_, node, 'DATASTORE_LOCATION')
            self.DATASTORE_LOCATION.append(value_)
            self.DATASTORE_LOCATION_nsprefix_ = child_.prefix
        elif nodeName_ == 'DATASTORE_MAD':
            obj_ = DATASTORE_MADType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DATASTORE_MAD.append(obj_)
            obj_.original_tagname_ = 'DATASTORE_MAD'
        elif nodeName_ == 'DB':
            obj_ = DBType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DB = obj_
            obj_.original_tagname_ = 'DB'
        elif nodeName_ == 'DEFAULT_AUTH':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_AUTH')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_AUTH')
            self.DEFAULT_AUTH.append(value_)
            self.DEFAULT_AUTH_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEFAULT_CDROM_DEVICE_PREFIX':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_CDROM_DEVICE_PREFIX')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_CDROM_DEVICE_PREFIX')
            self.DEFAULT_CDROM_DEVICE_PREFIX.append(value_)
            self.DEFAULT_CDROM_DEVICE_PREFIX_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEFAULT_COST':
            obj_ = DEFAULT_COSTType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DEFAULT_COST.append(obj_)
            obj_.original_tagname_ = 'DEFAULT_COST'
        elif nodeName_ == 'DEFAULT_DEVICE_PREFIX':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_DEVICE_PREFIX')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_DEVICE_PREFIX')
            self.DEFAULT_DEVICE_PREFIX.append(value_)
            self.DEFAULT_DEVICE_PREFIX_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEFAULT_IMAGE_PERSISTENT':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_IMAGE_PERSISTENT')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_IMAGE_PERSISTENT')
            self.DEFAULT_IMAGE_PERSISTENT.append(value_)
            self.DEFAULT_IMAGE_PERSISTENT_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEFAULT_IMAGE_PERSISTENT_NEW':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_IMAGE_PERSISTENT_NEW')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_IMAGE_PERSISTENT_NEW')
            self.DEFAULT_IMAGE_PERSISTENT_NEW.append(value_)
            self.DEFAULT_IMAGE_PERSISTENT_NEW_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEFAULT_IMAGE_TYPE':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_IMAGE_TYPE')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_IMAGE_TYPE')
            self.DEFAULT_IMAGE_TYPE.append(value_)
            self.DEFAULT_IMAGE_TYPE_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEFAULT_UMASK':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_UMASK')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_UMASK')
            self.DEFAULT_UMASK.append(value_)
            self.DEFAULT_UMASK_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEFAULT_VDC_CLUSTER_DATASTORE_ACL':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_VDC_CLUSTER_DATASTORE_ACL')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_VDC_CLUSTER_DATASTORE_ACL')
            self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL.append(value_)
            self.DEFAULT_VDC_CLUSTER_DATASTORE_ACL_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEFAULT_VDC_CLUSTER_HOST_ACL':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_VDC_CLUSTER_HOST_ACL')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_VDC_CLUSTER_HOST_ACL')
            self.DEFAULT_VDC_CLUSTER_HOST_ACL.append(value_)
            self.DEFAULT_VDC_CLUSTER_HOST_ACL_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEFAULT_VDC_CLUSTER_NET_ACL':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_VDC_CLUSTER_NET_ACL')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_VDC_CLUSTER_NET_ACL')
            self.DEFAULT_VDC_CLUSTER_NET_ACL.append(value_)
            self.DEFAULT_VDC_CLUSTER_NET_ACL_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEFAULT_VDC_DATASTORE_ACL':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_VDC_DATASTORE_ACL')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_VDC_DATASTORE_ACL')
            self.DEFAULT_VDC_DATASTORE_ACL.append(value_)
            self.DEFAULT_VDC_DATASTORE_ACL_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEFAULT_VDC_HOST_ACL':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_VDC_HOST_ACL')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_VDC_HOST_ACL')
            self.DEFAULT_VDC_HOST_ACL.append(value_)
            self.DEFAULT_VDC_HOST_ACL_nsprefix_ = child_.prefix
        elif nodeName_ == 'DEFAULT_VDC_VNET_ACL':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DEFAULT_VDC_VNET_ACL')
            value_ = self.gds_validate_string(value_, node, 'DEFAULT_VDC_VNET_ACL')
            self.DEFAULT_VDC_VNET_ACL.append(value_)
            self.DEFAULT_VDC_VNET_ACL_nsprefix_ = child_.prefix
        elif nodeName_ == 'DOCUMENT_ENCRYPTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'DOCUMENT_ENCRYPTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'DOCUMENT_ENCRYPTED_ATTR')
            self.DOCUMENT_ENCRYPTED_ATTR.append(value_)
            self.DOCUMENT_ENCRYPTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'DS_MAD_CONF':
            obj_ = DS_MAD_CONFType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.DS_MAD_CONF.append(obj_)
            obj_.original_tagname_ = 'DS_MAD_CONF'
        elif nodeName_ == 'DS_MONITOR_VM_DISK' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'DS_MONITOR_VM_DISK')
            ival_ = self.gds_validate_integer(ival_, node, 'DS_MONITOR_VM_DISK')
            self.DS_MONITOR_VM_DISK = ival_
            self.DS_MONITOR_VM_DISK_nsprefix_ = child_.prefix
        elif nodeName_ == 'ENABLE_OTHER_PERMISSIONS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ENABLE_OTHER_PERMISSIONS')
            value_ = self.gds_validate_string(value_, node, 'ENABLE_OTHER_PERMISSIONS')
            self.ENABLE_OTHER_PERMISSIONS = value_
            self.ENABLE_OTHER_PERMISSIONS_nsprefix_ = child_.prefix
            # validate type ENABLE_OTHER_PERMISSIONSType
            self.validate_ENABLE_OTHER_PERMISSIONSType(self.ENABLE_OTHER_PERMISSIONS)
        elif nodeName_ == 'FEDERATION':
            obj_ = FEDERATIONType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.FEDERATION = obj_
            obj_.original_tagname_ = 'FEDERATION'
        elif nodeName_ == 'GROUP_RESTRICTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'GROUP_RESTRICTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'GROUP_RESTRICTED_ATTR')
            self.GROUP_RESTRICTED_ATTR.append(value_)
            self.GROUP_RESTRICTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'HM_MAD':
            obj_ = HM_MADType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HM_MAD = obj_
            obj_.original_tagname_ = 'HM_MAD'
        elif nodeName_ == 'HOOK_LOG_CONF':
            obj_ = HOOK_LOG_CONFType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.HOOK_LOG_CONF = obj_
            obj_.original_tagname_ = 'HOOK_LOG_CONF'
        elif nodeName_ == 'HOST_ENCRYPTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'HOST_ENCRYPTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'HOST_ENCRYPTED_ATTR')
            self.HOST_ENCRYPTED_ATTR.append(value_)
            self.HOST_ENCRYPTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGE_ENCRYPTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGE_ENCRYPTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'IMAGE_ENCRYPTED_ATTR')
            self.IMAGE_ENCRYPTED_ATTR.append(value_)
            self.IMAGE_ENCRYPTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'IMAGE_RESTRICTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'IMAGE_RESTRICTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'IMAGE_RESTRICTED_ATTR')
            self.IMAGE_RESTRICTED_ATTR.append(value_)
            self.IMAGE_RESTRICTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'IM_MAD':
            obj_ = IM_MADType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IM_MAD.append(obj_)
            obj_.original_tagname_ = 'IM_MAD'
        elif nodeName_ == 'INHERIT_DATASTORE_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'INHERIT_DATASTORE_ATTR')
            value_ = self.gds_validate_string(value_, node, 'INHERIT_DATASTORE_ATTR')
            self.INHERIT_DATASTORE_ATTR.append(value_)
            self.INHERIT_DATASTORE_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'INHERIT_IMAGE_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'INHERIT_IMAGE_ATTR')
            value_ = self.gds_validate_string(value_, node, 'INHERIT_IMAGE_ATTR')
            self.INHERIT_IMAGE_ATTR.append(value_)
            self.INHERIT_IMAGE_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'INHERIT_VNET_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'INHERIT_VNET_ATTR')
            value_ = self.gds_validate_string(value_, node, 'INHERIT_VNET_ATTR')
            self.INHERIT_VNET_ATTR.append(value_)
            self.INHERIT_VNET_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'IPAM_MAD':
            obj_ = IPAM_MADType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.IPAM_MAD.append(obj_)
            obj_.original_tagname_ = 'IPAM_MAD'
        elif nodeName_ == 'KEEPALIVE_MAX_CONN' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'KEEPALIVE_MAX_CONN')
            ival_ = self.gds_validate_integer(ival_, node, 'KEEPALIVE_MAX_CONN')
            self.KEEPALIVE_MAX_CONN.append(ival_)
            self.KEEPALIVE_MAX_CONN_nsprefix_ = child_.prefix
        elif nodeName_ == 'KEEPALIVE_TIMEOUT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'KEEPALIVE_TIMEOUT')
            ival_ = self.gds_validate_integer(ival_, node, 'KEEPALIVE_TIMEOUT')
            self.KEEPALIVE_TIMEOUT.append(ival_)
            self.KEEPALIVE_TIMEOUT_nsprefix_ = child_.prefix
        elif nodeName_ == 'LISTEN_ADDRESS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LISTEN_ADDRESS')
            value_ = self.gds_validate_string(value_, node, 'LISTEN_ADDRESS')
            self.LISTEN_ADDRESS.append(value_)
            self.LISTEN_ADDRESS_nsprefix_ = child_.prefix
        elif nodeName_ == 'LOG':
            obj_ = LOGType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.LOG.append(obj_)
            obj_.original_tagname_ = 'LOG'
        elif nodeName_ == 'LOG_CALL_FORMAT':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'LOG_CALL_FORMAT')
            value_ = self.gds_validate_string(value_, node, 'LOG_CALL_FORMAT')
            self.LOG_CALL_FORMAT.append(value_)
            self.LOG_CALL_FORMAT_nsprefix_ = child_.prefix
        elif nodeName_ == 'MAC_PREFIX':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'MAC_PREFIX')
            value_ = self.gds_validate_string(value_, node, 'MAC_PREFIX')
            self.MAC_PREFIX.append(value_)
            self.MAC_PREFIX_nsprefix_ = child_.prefix
        elif nodeName_ == 'MANAGER_TIMER' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MANAGER_TIMER')
            ival_ = self.gds_validate_integer(ival_, node, 'MANAGER_TIMER')
            self.MANAGER_TIMER.append(ival_)
            self.MANAGER_TIMER_nsprefix_ = child_.prefix
        elif nodeName_ == 'MARKET_MAD':
            obj_ = MARKET_MADType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.MARKET_MAD.append(obj_)
            obj_.original_tagname_ = 'MARKET_MAD'
        elif nodeName_ == 'MARKET_MAD_CONF':
            obj_ = MARKET_MAD_CONFType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.MARKET_MAD_CONF.append(obj_)
            obj_.original_tagname_ = 'MARKET_MAD_CONF'
        elif nodeName_ == 'MAX_BACKUPS' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MAX_BACKUPS')
            ival_ = self.gds_validate_integer(ival_, node, 'MAX_BACKUPS')
            self.MAX_BACKUPS = ival_
            self.MAX_BACKUPS_nsprefix_ = child_.prefix
        elif nodeName_ == 'MAX_BACKUPS_HOST' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MAX_BACKUPS_HOST')
            ival_ = self.gds_validate_integer(ival_, node, 'MAX_BACKUPS_HOST')
            self.MAX_BACKUPS_HOST = ival_
            self.MAX_BACKUPS_HOST_nsprefix_ = child_.prefix
        elif nodeName_ == 'MAX_CONN' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MAX_CONN')
            ival_ = self.gds_validate_integer(ival_, node, 'MAX_CONN')
            self.MAX_CONN = ival_
            self.MAX_CONN_nsprefix_ = child_.prefix
        elif nodeName_ == 'MAX_CONN_BACKLOG' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MAX_CONN_BACKLOG')
            ival_ = self.gds_validate_integer(ival_, node, 'MAX_CONN_BACKLOG')
            self.MAX_CONN_BACKLOG = ival_
            self.MAX_CONN_BACKLOG_nsprefix_ = child_.prefix
        elif nodeName_ == 'MESSAGE_SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MESSAGE_SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'MESSAGE_SIZE')
            self.MESSAGE_SIZE = ival_
            self.MESSAGE_SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'MONITORING_INTERVAL_DATASTORE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MONITORING_INTERVAL_DATASTORE')
            ival_ = self.gds_validate_integer(ival_, node, 'MONITORING_INTERVAL_DATASTORE')
            self.MONITORING_INTERVAL_DATASTORE = ival_
            self.MONITORING_INTERVAL_DATASTORE_nsprefix_ = child_.prefix
        elif nodeName_ == 'MONITORING_INTERVAL_HOST' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MONITORING_INTERVAL_HOST')
            ival_ = self.gds_validate_integer(ival_, node, 'MONITORING_INTERVAL_HOST')
            self.MONITORING_INTERVAL_HOST = ival_
            self.MONITORING_INTERVAL_HOST_nsprefix_ = child_.prefix
        elif nodeName_ == 'MONITORING_INTERVAL_MARKET' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MONITORING_INTERVAL_MARKET')
            ival_ = self.gds_validate_integer(ival_, node, 'MONITORING_INTERVAL_MARKET')
            self.MONITORING_INTERVAL_MARKET = ival_
            self.MONITORING_INTERVAL_MARKET_nsprefix_ = child_.prefix
        elif nodeName_ == 'MONITORING_INTERVAL_VM' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'MONITORING_INTERVAL_VM')
            ival_ = self.gds_validate_integer(ival_, node, 'MONITORING_INTERVAL_VM')
            self.MONITORING_INTERVAL_VM = ival_
            self.MONITORING_INTERVAL_VM_nsprefix_ = child_.prefix
        elif nodeName_ == 'NETWORK_SIZE' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'NETWORK_SIZE')
            ival_ = self.gds_validate_integer(ival_, node, 'NETWORK_SIZE')
            self.NETWORK_SIZE = ival_
            self.NETWORK_SIZE_nsprefix_ = child_.prefix
        elif nodeName_ == 'ONE_KEY':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'ONE_KEY')
            value_ = self.gds_validate_string(value_, node, 'ONE_KEY')
            self.ONE_KEY.append(value_)
            self.ONE_KEY_nsprefix_ = child_.prefix
        elif nodeName_ == 'PCI_PASSTHROUGH_BUS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'PCI_PASSTHROUGH_BUS')
            value_ = self.gds_validate_string(value_, node, 'PCI_PASSTHROUGH_BUS')
            self.PCI_PASSTHROUGH_BUS = value_
            self.PCI_PASSTHROUGH_BUS_nsprefix_ = child_.prefix
        elif nodeName_ == 'PORT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'PORT')
            ival_ = self.gds_validate_integer(ival_, node, 'PORT')
            self.PORT = ival_
            self.PORT_nsprefix_ = child_.prefix
        elif nodeName_ == 'RAFT':
            obj_ = RAFTType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.RAFT = obj_
            obj_.original_tagname_ = 'RAFT'
        elif nodeName_ == 'RPC_LOG':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'RPC_LOG')
            value_ = self.gds_validate_string(value_, node, 'RPC_LOG')
            self.RPC_LOG = value_
            self.RPC_LOG_nsprefix_ = child_.prefix
        elif nodeName_ == 'SCRIPTS_REMOTE_DIR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SCRIPTS_REMOTE_DIR')
            value_ = self.gds_validate_string(value_, node, 'SCRIPTS_REMOTE_DIR')
            self.SCRIPTS_REMOTE_DIR = value_
            self.SCRIPTS_REMOTE_DIR_nsprefix_ = child_.prefix
        elif nodeName_ == 'SESSION_EXPIRATION_TIME' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SESSION_EXPIRATION_TIME')
            ival_ = self.gds_validate_integer(ival_, node, 'SESSION_EXPIRATION_TIME')
            self.SESSION_EXPIRATION_TIME = ival_
            self.SESSION_EXPIRATION_TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'SHOWBACK_ONLY_RUNNING':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'SHOWBACK_ONLY_RUNNING')
            value_ = self.gds_validate_string(value_, node, 'SHOWBACK_ONLY_RUNNING')
            self.SHOWBACK_ONLY_RUNNING = value_
            self.SHOWBACK_ONLY_RUNNING_nsprefix_ = child_.prefix
        elif nodeName_ == 'TIMEOUT' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'TIMEOUT')
            ival_ = self.gds_validate_integer(ival_, node, 'TIMEOUT')
            self.TIMEOUT = ival_
            self.TIMEOUT_nsprefix_ = child_.prefix
        elif nodeName_ == 'TM_MAD':
            obj_ = TM_MADType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TM_MAD.append(obj_)
            obj_.original_tagname_ = 'TM_MAD'
        elif nodeName_ == 'TM_MAD_CONF':
            obj_ = TM_MAD_CONFType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TM_MAD_CONF.append(obj_)
            obj_.original_tagname_ = 'TM_MAD_CONF'
        elif nodeName_ == 'USER_ENCRYPTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'USER_ENCRYPTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'USER_ENCRYPTED_ATTR')
            self.USER_ENCRYPTED_ATTR.append(value_)
            self.USER_ENCRYPTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'USER_RESTRICTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'USER_RESTRICTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'USER_RESTRICTED_ATTR')
            self.USER_RESTRICTED_ATTR.append(value_)
            self.USER_RESTRICTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'VLAN_IDS':
            obj_ = VLAN_IDSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VLAN_IDS = obj_
            obj_.original_tagname_ = 'VLAN_IDS'
        elif nodeName_ == 'VM_ADMIN_OPERATIONS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VM_ADMIN_OPERATIONS')
            value_ = self.gds_validate_string(value_, node, 'VM_ADMIN_OPERATIONS')
            self.VM_ADMIN_OPERATIONS = value_
            self.VM_ADMIN_OPERATIONS_nsprefix_ = child_.prefix
        elif nodeName_ == 'VM_ENCRYPTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VM_ENCRYPTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'VM_ENCRYPTED_ATTR')
            self.VM_ENCRYPTED_ATTR.append(value_)
            self.VM_ENCRYPTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'VM_MAD':
            obj_ = VM_MADType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VM_MAD.append(obj_)
            obj_.original_tagname_ = 'VM_MAD'
        elif nodeName_ == 'VM_MANAGE_OPERATIONS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VM_MANAGE_OPERATIONS')
            value_ = self.gds_validate_string(value_, node, 'VM_MANAGE_OPERATIONS')
            self.VM_MANAGE_OPERATIONS = value_
            self.VM_MANAGE_OPERATIONS_nsprefix_ = child_.prefix
        elif nodeName_ == 'VM_MONITORING_EXPIRATION_TIME':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VM_MONITORING_EXPIRATION_TIME')
            value_ = self.gds_validate_string(value_, node, 'VM_MONITORING_EXPIRATION_TIME')
            self.VM_MONITORING_EXPIRATION_TIME.append(value_)
            self.VM_MONITORING_EXPIRATION_TIME_nsprefix_ = child_.prefix
        elif nodeName_ == 'VM_RESTRICTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VM_RESTRICTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'VM_RESTRICTED_ATTR')
            self.VM_RESTRICTED_ATTR.append(value_)
            self.VM_RESTRICTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'VM_SNAPSHOT_FACTOR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VM_SNAPSHOT_FACTOR')
            value_ = self.gds_validate_string(value_, node, 'VM_SNAPSHOT_FACTOR')
            self.VM_SNAPSHOT_FACTOR = value_
            self.VM_SNAPSHOT_FACTOR_nsprefix_ = child_.prefix
        elif nodeName_ == 'VM_SUBMIT_ON_HOLD':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VM_SUBMIT_ON_HOLD')
            value_ = self.gds_validate_string(value_, node, 'VM_SUBMIT_ON_HOLD')
            self.VM_SUBMIT_ON_HOLD = value_
            self.VM_SUBMIT_ON_HOLD_nsprefix_ = child_.prefix
            # validate type VM_SUBMIT_ON_HOLDType
            self.validate_VM_SUBMIT_ON_HOLDType(self.VM_SUBMIT_ON_HOLD)
        elif nodeName_ == 'VM_USE_OPERATIONS':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VM_USE_OPERATIONS')
            value_ = self.gds_validate_string(value_, node, 'VM_USE_OPERATIONS')
            self.VM_USE_OPERATIONS.append(value_)
            self.VM_USE_OPERATIONS_nsprefix_ = child_.prefix
        elif nodeName_ == 'VNC_PORTS':
            obj_ = VNC_PORTSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VNC_PORTS = obj_
            obj_.original_tagname_ = 'VNC_PORTS'
        elif nodeName_ == 'VNET_ENCRYPTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VNET_ENCRYPTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'VNET_ENCRYPTED_ATTR')
            self.VNET_ENCRYPTED_ATTR.append(value_)
            self.VNET_ENCRYPTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'VNET_RESTRICTED_ATTR':
            value_ = child_.text
            value_ = self.gds_parse_string(value_, node, 'VNET_RESTRICTED_ATTR')
            value_ = self.gds_validate_string(value_, node, 'VNET_RESTRICTED_ATTR')
            self.VNET_RESTRICTED_ATTR.append(value_)
            self.VNET_RESTRICTED_ATTR_nsprefix_ = child_.prefix
        elif nodeName_ == 'VN_MAD_CONF':
            obj_ = VN_MAD_CONFType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VN_MAD_CONF.append(obj_)
            obj_.original_tagname_ = 'VN_MAD_CONF'
        elif nodeName_ == 'VXLAN_IDS':
            obj_ = VXLAN_IDSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.VXLAN_IDS = obj_
            obj_.original_tagname_ = 'VXLAN_IDS'
# end class OPENNEBULA_CONFIGURATION


class RAFT(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, SERVER_ID=None, STATE=None, TERM=None, VOTEDFOR=None, COMMIT=None, LOG_INDEX=None, LOG_TERM=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.SERVER_ID = SERVER_ID
        self.SERVER_ID_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.LOG_TERM = LOG_TERM
        self.LOG_TERM_nsprefix_ = None
        self.FEDLOG_INDEX = FEDLOG_INDEX
        self.FEDLOG_INDEX_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, RAFT)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if RAFT.subclass:
            return RAFT.subclass(*args_, **kwargs_)
        else:
            return RAFT(*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_ID(self):
        return self.SERVER_ID
    def set_SERVER_ID(self, SERVER_ID):
        self.SERVER_ID = SERVER_ID
    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_LOG_TERM(self):
        return self.LOG_TERM
    def set_LOG_TERM(self, LOG_TERM):
        self.LOG_TERM = LOG_TERM
    def get_FEDLOG_INDEX(self):
        return self.FEDLOG_INDEX
    def set_FEDLOG_INDEX(self, FEDLOG_INDEX):
        self.FEDLOG_INDEX = FEDLOG_INDEX
    def has__content(self):
        if (
            self.SERVER_ID 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.LOG_TERM 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_='RAFT', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('RAFT')
        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_ == 'RAFT':
            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_='RAFT')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='RAFT', 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_='RAFT'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='RAFT', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        if self.SERVER_ID is not None:
            namespaceprefix_ = self.SERVER_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.SERVER_ID_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sSERVER_ID>%s</%sSERVER_ID>%s' % (namespaceprefix_ , self.gds_format_integer(self.SERVER_ID, input_name='SERVER_ID'), 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.LOG_TERM is not None:
            namespaceprefix_ = self.LOG_TERM_nsprefix_ + ':' if (UseCapturedNS_ and self.LOG_TERM_nsprefix_) else ''
            showIndent(outfile, level, pretty_print)
            outfile.write('<%sLOG_TERM>%s</%sLOG_TERM>%s' % (namespaceprefix_ , self.gds_format_integer(self.LOG_TERM, input_name='LOG_TERM'), 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_ == 'SERVER_ID' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'SERVER_ID')
            ival_ = self.gds_validate_integer(ival_, node, 'SERVER_ID')
            self.SERVER_ID = ival_
            self.SERVER_ID_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_ == 'LOG_TERM' and child_.text:
            sval_ = child_.text
            ival_ = self.gds_parse_integer(sval_, node, 'LOG_TERM')
            ival_ = self.gds_validate_integer(ival_, node, 'LOG_TERM')
            self.LOG_TERM = ival_
            self.LOG_TERM_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 RAFT


class SECURITY_GROUP_POOL(GeneratedsSuper):
    __hash__ = GeneratedsSuper.__hash__
    subclass = None
    superclass = None
    def __init__(self, SECURITY_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 SECURITY_GROUP is None:
            self.SECURITY_GROUP = []
        else:
            self.SECURITY_GROUP = SECURITY_GROUP
        self.SECURITY_GROUP_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SECURITY_GROUP_POOL)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SECURITY_GROUP_POOL.subclass:
            return SECURITY_GROUP_POOL.subclass(*args_, **kwargs_)
        else:
            return SECURITY_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_SECURITY_GROUP(self):
        return self.SECURITY_GROUP
    def set_SECURITY_GROUP(self, SECURITY_GROUP):
        self.SECURITY_GROUP = SECURITY_GROUP
    def add_SECURITY_GROUP(self, value):
        self.SECURITY_GROUP.append(value)
    def insert_SECURITY_GROUP_at(self, index, value):
        self.SECURITY_GROUP.insert(index, value)
    def replace_SECURITY_GROUP_at(self, index, value):
        self.SECURITY_GROUP[index] = value
    def has__content(self):
        if (
            self.SECURITY_GROUP
        ):
            return True
        else:
            return False
    def export(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SECURITY_GROUP_POOL', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SECURITY_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_ == 'SECURITY_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_='SECURITY_GROUP_POOL')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SECURITY_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_='SECURITY_GROUP_POOL'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SECURITY_GROUP_POOL', fromsubclass_=False, pretty_print=True):
        if pretty_print:
            eol_ = '\n'
        else:
            eol_ = ''
        for SECURITY_GROUP_ in self.SECURITY_GROUP:
            namespaceprefix_ = self.SECURITY_GROUP_nsprefix_ + ':' if (UseCapturedNS_ and self.SECURITY_GROUP_nsprefix_) else ''
            SECURITY_GROUP_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SECURITY_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_ == 'SECURITY_GROUP':
            obj_ = SECURITY_GROUP.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.SECURITY_GROUP.append(obj_)
            obj_.original_tagname_ = 'SECURITY_GROUP'
# end class SECURITY_GROUP_POOL


class SECURITY_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, UPDATED_VMS=None, OUTDATED_VMS=None, UPDATING_VMS=None, ERROR_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.UPDATED_VMS = UPDATED_VMS
        self.UPDATED_VMS_nsprefix_ = None
        self.OUTDATED_VMS = OUTDATED_VMS
        self.OUTDATED_VMS_nsprefix_ = None
        self.UPDATING_VMS = UPDATING_VMS
        self.UPDATING_VMS_nsprefix_ = None
        self.ERROR_VMS = ERROR_VMS
        self.ERROR_VMS_nsprefix_ = None
        self.TEMPLATE = TEMPLATE
        self.TEMPLATE_nsprefix_ = None
    def factory(*args_, **kwargs_):
        if CurrentSubclassModule_ is not None:
            subclass = getSubclassFromModule_(
                CurrentSubclassModule_, SECURITY_GROUP)
            if subclass is not None:
                return subclass(*args_, **kwargs_)
        if SECURITY_GROUP.subclass:
            return SECURITY_GROUP.subclass(*args_, **kwargs_)
        else:
            return SECURITY_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_UPDATED_VMS(self):
        return self.UPDATED_VMS
    def set_UPDATED_VMS(self, UPDATED_VMS):
        self.UPDATED_VMS = UPDATED_VMS
    def get_OUTDATED_VMS(self):
        return self.OUTDATED_VMS
    def set_OUTDATED_VMS(self, OUTDATED_VMS):
        self.OUTDATED_VMS = OUTDATED_VMS
    def get_UPDATING_VMS(self):
        return self.UPDATING_VMS
    def set_UPDATING_VMS(self, UPDATING_VMS):
        self.UPDATING_VMS = UPDATING_VMS
    def get_ERROR_VMS(self):
        return self.ERROR_VMS
    def set_ERROR_VMS(self, ERROR_VMS):
        self.ERROR_VMS = ERROR_VMS
    def get_TEMPLATE(self):
        return self.TEMPLATE
    def set_TEMPLATE(self, TEMPLATE):
        self.TEMPLATE = TEMPLATE
    def has__content(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.UPDATED_VMS is not None or
            self.OUTDATED_VMS is not None or
            self.UPDATING_VMS is not None or
            self.ERROR_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_='SECURITY_GROUP', pretty_print=True):
        imported_ns_def_ = GenerateDSNamespaceDefs_.get('SECURITY_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_ == 'SECURITY_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_='SECURITY_GROUP')
        if self.has__content():
            outfile.write('>%s' % (eol_, ))
            self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SECURITY_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_='SECURITY_GROUP'):
        pass
    def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_=' xmlns:None="http://opennebula.org/XMLSchema" ', name_='SECURITY_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.UPDATED_VMS is not None:
            namespaceprefix_ = self.UPDATED_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.UPDATED_VMS_nsprefix_) else ''
            self.UPDATED_VMS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UPDATED_VMS', pretty_print=pretty_print)
        if self.OUTDATED_VMS is not None:
            namespaceprefix_ = self.OUTDATED_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.OUTDATED_VMS_nsprefix_) else ''
            self.OUTDATED_VMS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OUTDATED_VMS', pretty_print=pretty_print)
        if self.UPDATING_VMS is not None:
            namespaceprefix_ = self.UPDATING_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.UPDATING_VMS_nsprefix_) else ''
            self.UPDATING_VMS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='UPDATING_VMS', pretty_print=pretty_print)
        if self.ERROR_VMS is not None:
            namespaceprefix_ = self.ERROR_VMS_nsprefix_ + ':' if (UseCapturedNS_ and self.ERROR_VMS_nsprefix_) else ''
            self.ERROR_VMS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ERROR_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_ == '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_ = PERMISSIONSType46.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.PERMISSIONS = obj_
            obj_.original_tagname_ = 'PERMISSIONS'
        elif nodeName_ == 'UPDATED_VMS':
            obj_ = UPDATED_VMSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.UPDATED_VMS = obj_
            obj_.original_tagname_ = 'UPDATED_VMS'
        elif nodeName_ == 'OUTDATED_VMS':
            obj_ = OUTDATED_VMSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.OUTDATED_VMS = obj_
            obj_.original_tagname_ = 'OUTDATED_VMS'
        elif nodeName_ == 'UPDATING_VMS':
            obj_ = UPDATING_VMSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.UPDATING_VMS = obj_
            obj_.original_tagname_ = 'UPDATING_VMS'
        elif nodeName_ == 'ERROR_VMS':
            obj_ = ERROR_VMSType.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.ERROR_VMS = obj_
            obj_.original_tagname_ = 'ERROR_VMS'
        elif nodeName_ == 'TEMPLATE':
            obj_ = TEMPLATEType47.factory(parent_object_=self)
            obj_.build(child_, gds_collector_=gds_collector_)
            self.TEMPLATE = obj_
            obj_.original_tagname_ = 'TEMPLATE'
# end class SECURITY_GROUP


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 has__content(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.has__content():
            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 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 has__content(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.has__content():
            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_ = QUOTASType48.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 has__content(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.has__content():
            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_ = GROUPSType65.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_TOKENType66.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_QUOTAType67.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_QUOTAType69.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_QUOTAType71.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_QUOTAType73.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_QUOTASType75.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)
 
Showing 512.00 KB of 2.58 MB. Use Edit/Download for full content.

Directory Contents

Dirs: 1 × Files: 2

Name Size Perms Modified Actions
- drwxr-xr-x 2025-04-04 08:02:07
Edit Download
2.58 MB lrw-r--r-- 2025-04-04 08:02:05
Edit Download
114.91 KB lrw-r--r-- 2025-04-04 08:02:05
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).