def get_cis_by_query(self, **kwargs):
        """
        get all cis that match a certain query parameter
        :param kwargs: possible query parameters
                        possible parameters: 'parent', 'ancestor', 'namePattern', 'lastModifiedBefore', 'lastModifiedAfter', 'page' and 'resultsPerPage'
        :return: list of ci objects
        """
        cis = CiSet()

        for k in kwargs.iterkeys():
            if k not in VALID_QUERY_PARAMETERS:
                logger.error('"query parameter: %s not allowed" % k')
                raise IllegalQueryParameter("query parameter: %s not allowed" % k)

        if 'resultsPerPage' not in kwargs.iterkeys():
            kwargs['resultsPerPage'] = '-1'

        try:
            logger.debug('trying to retrieve a set of cis')
            root = ET.fromstring(self.http_get_query('repository/query', kwargs))
            logger.debug('retrieval succesfull')
        except Exception:
            logger.error('to retrieve cis')
            return False


        for elem in root.findall('ci'):
            logger.debug('appending; %s' % elem.attrib['ref'])
            ci = (self.get_ci_by_name(elem.attrib['ref']))
            cis.add_ci(ci)

        return cis
Ejemplo n.º 2
0
    def get_cis_by_query(self, **kwargs):
        """
        get all cis that match a certain query parameter
        :param kwargs: possible query parameters
                        possible parameters: 'parent', 'ancestor', 'namePattern', 'lastModifiedBefore', 'lastModifiedAfter', 'page' and 'resultsPerPage'
        :return: list of ci objects
        """
        cis = CiSet()

        for k in kwargs.iterkeys():
            if k not in VALID_QUERY_PARAMETERS:
                logger.error('"query parameter: %s not allowed" % k')
                raise IllegalQueryParameter("query parameter: %s not allowed" %
                                            k)

        if 'resultsPerPage' not in kwargs.iterkeys():
            kwargs['resultsPerPage'] = '-1'

        try:
            logger.debug('trying to retrieve a set of cis')
            root = ET.fromstring(
                self.http_get_query('repository/query', kwargs))
            logger.debug('retrieval succesfull')
        except Exception:
            logger.error('to retrieve cis')
            return False

        for elem in root.findall('ci'):
            logger.debug('appending; %s' % elem.attrib['ref'])
            ci = (self.get_ci_by_name(elem.attrib['ref']))
            cis.add_ci(ci)

        return cis
def handle_directory_data(data, project_name, sub_projects):

    ciset = CiSet()

    for type, ids in data.items():
        for id in ids:
           for i in get_id_list(id, project_name, sub_projects):
                    ci = create_ci(i, type)
                    ciset.add_ci(ci)
    repo.save_cis(ciset)
Ejemplo n.º 4
0
import xldeploy
from xldeploy.repository.configuration_item import CiSet

repo = xldeploy.connect_repository()

cis = repo.get_cis_by_query(parent='Infrastructure')

## test iteration
for ci in cis:
    repo.update_ci(ci)

## test __str__
print str(cis)

for ci in cis:
    ci.update_ci_properties(tags=['blah31', 'blah41', 'blah51'])

repo.update_cis(cis)

xcis = CiSet()
for ci in cis:
    nci = ci
    nci.update_id("%s_test2" % ci.get_id())
    xcis.add_ci(nci)

repo.create_cis(xcis)
Ejemplo n.º 5
0
import xldeploy
from xldeploy.repository.configuration_item import CiSet

repo = xldeploy.connect_repository()


cis = repo.get_cis_by_query(parent = 'Infrastructure' )

## test iteration
for ci in cis:
    repo.update_ci(ci)

## test __str__
print str(cis)


for ci in cis:
    ci.update_ci_properties(tags = ['blah31', 'blah41', 'blah51'])

repo.update_cis(cis)

xcis = CiSet()
for ci in cis:
    nci = ci
    nci.update_id("%s_test2" % ci.get_id())
    xcis.add_ci(nci)

repo.create_cis(xcis)