Merge "Remove Compass from genesis."
[genesis.git] / opensteak / tools / opensteak / foreman_objects / puppetClasses.py
1 #!/usr/bin/python3
2 # -*- coding: utf-8 -*-
3 # Licensed under the Apache License, Version 2.0 (the "License"); you may
4 # not use this file except in compliance with the License. You may obtain
5 # a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 # License for the specific language governing permissions and limitations
13 # under the License.
14 #
15 # Authors:
16 # @author: David Blaisonneau <david.blaisonneau@orange.com>
17 # @author: Arnaud Morin <arnaud1.morin@orange.com>
18
19 from opensteak.foreman_objects.objects import ForemanObjects
20 from opensteak.foreman_objects.item import ForemanItem
21 from pprint import pprint as pp
22
23
24 class PuppetClasses(ForemanObjects):
25     """
26     OperatingSystems class
27     """
28     objName = 'puppetclasses'
29     payloadObj = 'puppetclass'
30
31     def list(self, limit=20):
32         """ Function list
33         Get the list of all objects
34
35         @param key: The targeted object
36         @param limit: The limit of items to return
37         @return RETURN: A ForemanItem list
38         """
39         puppetClassList = list()
40         for v in self.api.list(self.objName, limit=limit).values():
41             puppetClassList.extend(v)
42         return list(map(lambda x:
43                         ForemanItem(self.api, x['id'],
44                                     self.objName, self.payloadObj,
45                                     x),
46                         puppetClassList))