summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xopenlmi-register-pegasus15
1 files changed, 11 insertions, 4 deletions
diff --git a/openlmi-register-pegasus b/openlmi-register-pegasus
index d314d27..149af59 100755
--- a/openlmi-register-pegasus
+++ b/openlmi-register-pegasus
@@ -17,10 +17,12 @@
# 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+"
@@ -38,18 +40,18 @@ Types = {
'instanceQuery': '7'
}
-def define_module(location, group):
+def define_module(location, group, version):
return """instance of PG_ProviderModule
{
Name = "%(group)s";
Location = "%(location)s";
Vendor = "OpenLMI";
- Version = "0.0.1";
+ Version = "%(version)s";
InterfaceType = "CMPI";
InterfaceVersion = "2.0.0";
ModuleGroupName = "%(group)s";
};
-""" % { 'location': location, 'group': group }
+""" % { 'location': location, 'group': group, 'version': version }
def getTypes(types):
l = []
@@ -78,6 +80,11 @@ instance of PG_ProviderCapabilities
};
""" % { '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
@@ -86,7 +93,7 @@ for record in reg_parse.findall(sys.stdin.read()):
group = location
if group not in modules_defined:
- print define_module(location, group)
+ print define_module(location, group, version)
modules_defined[group] = True
print define_capability(location, provider, cls, types, group)