summaryrefslogtreecommitdiffstats
path: root/opensteak/tools/opensteak/foreman_objects/hostgroups.py
diff options
context:
space:
mode:
Diffstat (limited to 'opensteak/tools/opensteak/foreman_objects/hostgroups.py')
-rw-r--r--opensteak/tools/opensteak/foreman_objects/hostgroups.py103
1 files changed, 0 insertions, 103 deletions
diff --git a/opensteak/tools/opensteak/foreman_objects/hostgroups.py b/opensteak/tools/opensteak/foreman_objects/hostgroups.py
deleted file mode 100644
index 55b8ba6..0000000
--- a/opensteak/tools/opensteak/foreman_objects/hostgroups.py
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/python3
-# -*- coding: utf-8 -*-
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# Authors:
-# @author: David Blaisonneau <david.blaisonneau@orange.com>
-# @author: Arnaud Morin <arnaud1.morin@orange.com>
-
-from opensteak.foreman_objects.objects import ForemanObjects
-from opensteak.foreman_objects.itemHostsGroup import ItemHostsGroup
-from pprint import pprint as pp
-
-
-class HostGroups(ForemanObjects):
- """
- HostGroups class
- """
- objName = 'hostgroups'
- payloadObj = 'hostgroup'
-
- def list(self):
- """ Function list
- list the hostgroups
-
- @return RETURN: List of ItemHostsGroup objects
- """
- return list(map(lambda x: ItemHostsGroup(self.api, x['id'], x),
- self.api.list(self.objName)))
-
- def __getitem__(self, key):
- """ Function __getitem__
- Get an hostgroup
-
- @param key: The hostgroup name or ID
- @return RETURN: The ItemHostsGroup object of an host
- """
- # Because Hostgroup did not support get by name we need to do it by id
- if type(key) is not int:
- key = self.getId(key)
- ret = self.api.get(self.objName, key)
- return ItemHostsGroup(self.api, key, ret)
-
- def __delitem__(self, key):
- """ Function __delitem__
- Delete an hostgroup
-
- @param key: The hostgroup name or ID
- @return RETURN: The API result
- """
- # Because Hostgroup did not support get by name we need to do it by id
- if type(key) is not int:
- key = self.getId(key)
- return self.api.delete(self.objName, key)
-
- def checkAndCreate(self, key, payload,
- hostgroupConf,
- hostgroupParent,
- puppetClassesId):
- """ Function checkAndCreate
- check And Create procedure for an hostgroup
- - check the hostgroup is not existing
- - create the hostgroup
- - Add puppet classes from puppetClassesId
- - Add params from hostgroupConf
-
- @param key: The hostgroup name or ID
- @param payload: The description of the hostgroup
- @param hostgroupConf: The configuration of the host group from the
- foreman.conf
- @param hostgroupParent: The id of the parent hostgroup
- @param puppetClassesId: The dict of puppet classes ids in foreman
- @return RETURN: The ItemHostsGroup object of an host
- """
- if key not in self:
- self[key] = payload
- oid = self[key]['id']
- if not oid:
- return False
-
- # Create Hostgroup classes
- hostgroupClassIds = self[key]['puppetclass_ids']
- if 'classes' in hostgroupConf.keys():
- if not self[key].checkAndCreateClasses(puppetClassesId.values()):
- print("Failed in classes")
- return False
-
- # Set params
- if 'params' in hostgroupConf.keys():
- if not self[key].checkAndCreateParams(hostgroupConf['params']):
- print("Failed in params")
- return False
-
- return oid