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
7 # http://www.apache.org/licenses/LICENSE-2.0
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
16 # @author: David Blaisonneau <david.blaisonneau@orange.com>
17 # @author: Arnaud Morin <arnaud1.morin@orange.com>
19 from opensteak.foreman_objects.objects import ForemanObjects
20 from opensteak.foreman_objects.item import ForemanItem
23 class ComputeResources(ForemanObjects):
27 objName = 'compute_resources'
28 payloadObj = 'compute_resource'
34 @return RETURN: List of ForemanItemHostsGroup objects
36 return list(map(lambda x: ForemanItem(self.api, x['id'], x),
37 self.api.list(self.objName)))
39 def __getitem__(self, key):
40 """ Function __getitem__
43 @param key: The hostgroup name or ID
44 @return RETURN: The ForemanItemHostsGroup object of an host
46 # Because Hostgroup did not support get by name we need to do it by id
47 if type(key) is not int:
49 ret = self.api.get(self.objName, key)
50 return ForemanItem(self.api, key, ret)
52 def __delitem__(self, key):
53 """ Function __delitem__
56 @param key: The hostgroup name or ID
57 @return RETURN: The API result
59 # Because Hostgroup did not support get by name we need to do it by id
60 if type(key) is not int:
62 return self.api.delete(self.objName, key)