summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2008-09-21 16:06:14 +0000
committerNarayan Desai <desai@mcs.anl.gov>2008-09-21 16:06:14 +0000
commitc186a79899fa8ccfdeb3d51818ce340874399939 (patch)
tree66761cf3f08d47e17fa89ca2ce1f1e24b8d1329d
parent4a2ddbf324f68afe75f418b926c6855425d5882a (diff)
downloadbcfg2-c186a79899fa8ccfdeb3d51818ce340874399939.tar.gz
bcfg2-c186a79899fa8ccfdeb3d51818ce340874399939.tar.bz2
bcfg2-c186a79899fa8ccfdeb3d51818ce340874399939.zip
ClientMetadata add accessor methods for overall metadata (will make life easier for NagiosGen and never_CC)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4916 ce84e21b-d406-0410-9b95-82705330c041
-rw-r--r--src/lib/Server/Plugins/Metadata.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/lib/Server/Plugins/Metadata.py b/src/lib/Server/Plugins/Metadata.py
index da951999d..c6008c7f4 100644
--- a/src/lib/Server/Plugins/Metadata.py
+++ b/src/lib/Server/Plugins/Metadata.py
@@ -31,6 +31,26 @@ class ClientMetadata(object):
'''Test to see if client is a member of group'''
return group in self.groups
+ def get_clients_by_group(self, group):
+ """
+ return a list of clients that are members of a group
+ Arguments:
+ - `group`: group name
+ """
+ profiles = [key for key, value in self.all[0].iteritems() \
+ if group in value[1]]
+ return [key for key, value in self.all[1].iteritems() \
+ if value in profiles]
+
+ def get_clients_by_profile(self, profile):
+ """
+ return clients with a given profile
+ Arguments:
+ - `profile`: profile name
+ """
+ return [key for key, value in self.all[1].iteritems() \
+ if value == profile]
+
class ProbeSet(Bcfg2.Server.Plugin.EntrySet):
def __init__(self, path, fam, encoding, plugin_name):
fpattern = '[0-9A-Za-z_\-]+'