diff options
Diffstat (limited to 'openlmi-register-pegasus')
-rwxr-xr-x | openlmi-register-pegasus | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/openlmi-register-pegasus b/openlmi-register-pegasus deleted file mode 100755 index 149af59..0000000 --- a/openlmi-register-pegasus +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/python2 -# -# Copyright (C) 2012-2013 Red Hat, Inc. All rights reserved. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# -# Authors: Radek Novacek <rnovacek@redhat.com> -# Jan Safranek <jsafrane@redhat.com> -# - -import sys -import re -import argparse - -reg_parse = re.compile(r"\[([^\]]+)\]\s+" -"provider: ([^\s]+)\s+" -"location: (\w+)\s+" -"type: ([^\n]+)\s+" -"namespace: ([^\n]+)\s+" -"(group: ([^\n]+)|)") # the group is optional - -Types = { - 'instance': '2', - 'association': '3', - 'indication': '4', - 'method': '5', - 'consumer': '6', - 'instanceQuery': '7' -} - -def define_module(location, group, version): - return """instance of PG_ProviderModule -{ - Name = "%(group)s"; - Location = "%(location)s"; - Vendor = "OpenLMI"; - Version = "%(version)s"; - InterfaceType = "CMPI"; - InterfaceVersion = "2.0.0"; - ModuleGroupName = "%(group)s"; -}; -""" % { 'location': location, 'group': group, 'version': version } - -def getTypes(types): - l = [] - for key, value in Types.items(): - if key in types: - l.append(value) - return ",".join(l) - -def define_capability(location, provider, cls, types, group): - return """instance of PG_Provider -{ - Name = "%(provider)s"; - ProviderModuleName = "%(group)s"; -}; - -instance of PG_ProviderCapabilities -{ - ProviderModuleName = "%(group)s"; - ProviderName = "%(provider)s"; - CapabilityID = "%(class)s"; - ClassName = "%(class)s"; - Namespaces = { "root/cimv2" }; - ProviderType = { %(types)s }; - SupportedProperties = NULL; - SupportedMethods = NULL; -}; -""" % { 'location': location, 'provider': provider, 'class': cls, 'types': getTypes(types), 'group': group } - -parser = argparse.ArgumentParser(description='Create MOF files with registration of providers for Pegasus CIMOM.') -parser.add_argument('-v', '--version', action='store', required=True, help="Version of the provider API.") -args = parser.parse_args() -version = args.version - -modules_defined = {} -for record in reg_parse.findall(sys.stdin.read()): - cls, provider, location, types, namespace, _unused, group = record - - if not group: - group = location - - if group not in modules_defined: - print define_module(location, group, version) - modules_defined[group] = True - - print define_capability(location, provider, cls, types, group) |