summaryrefslogtreecommitdiffstats
path: root/mof
diff options
context:
space:
mode:
authorMichal Minar <miminar@redhat.com>2013-07-04 12:24:06 +0200
committerMichal Minar <miminar@redhat.com>2013-07-10 07:45:43 +0200
commitf7660edd0f0b1068038f8d4e92830c9e986a72c9 (patch)
treea5ff36ea4ada789ccb9c27ff68db4a9cab5ba105 /mof
parent5fa1202caa877ab87e195403cdbd33a8643c8e80 (diff)
downloadopenlmi-providers-f7660edd0f0b1068038f8d4e92830c9e986a72c9.tar.gz
openlmi-providers-f7660edd0f0b1068038f8d4e92830c9e986a72c9.tar.xz
openlmi-providers-f7660edd0f0b1068038f8d4e92830c9e986a72c9.zip
added profile registration class
Each OpenLMI profile should define static instance of LMI_RegisteredProfile in one of its mof files. This instance should use CIM_RegisteredProfile::RegisteredVersion to say, which version of DMTF/SMASH profile it implements. And Major/Minor versions and RevisionNumber for any API/implementation changes.
Diffstat (limited to 'mof')
-rw-r--r--mof/30_LMI_ProfileRegistration.mof70
1 files changed, 70 insertions, 0 deletions
diff --git a/mof/30_LMI_ProfileRegistration.mof b/mof/30_LMI_ProfileRegistration.mof
new file mode 100644
index 0000000..1e5ed06
--- /dev/null
+++ b/mof/30_LMI_ProfileRegistration.mof
@@ -0,0 +1,70 @@
+/*
+ * 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: Michal Minar <miminar@redhat.com>
+ */
+
+#pragma locale ("en_US")
+
+[ Version("1.0.0"),
+ Description(
+ "A RegisteredProfile describes a set of CIM Schema classes with"
+ " required properties and/or methods, necessary to manage a real-world"
+ " entity or to support a usage scenario, in an interoperable fashion."
+ " RegisteredProfiles can be defined by the DMTF or other standards"
+ " organizations. Note that this class should not be confused with"
+ " CIM_Profile, which collects SettingData instances, to be applied as a"
+ " 'configuration profile' for an element. A RegisteredProfile is a named"
+ " 'standard' for CIM-based management of a particular System, subsystem,"
+ " Service or other entity, for a specified set of uses. It is a"
+ " complete, standalone definition, as opposed to the subclass"
+ " RegisteredSubProfile, which requires a scoping profile for context."
+ " The uses for a RegisteredProfile or SubProfile MUST be specified in"
+ " the document that defines the profile. Examples of Profiles are to"
+ " manage various aspects of an Operating System, Storage Array, or"
+ " Database. The name of the profile is defined and scoped by its"
+ " authoring organization.\n"
+ " This subclass adds version numbers specific to providers of OpenLMI"
+ " project. These can be used by clients to check for compability. Clients"
+ " may use provided features not covered by implemented DMTF or SMASH"
+ " profiles, that's why the \"CIM_RegisteredProfile::RegisteredVersion\""
+ " property is insufficient.")]
+class LMI_RegisteredProfile : CIM_RegisteredProfile {
+
+ [Required(True), Description(
+ "Major version of LMI profile API. All provider releases with the same"
+ " MajorVersion are backwards compatible. If some API breaking change"
+ " occurs in a new release, this version number must be incremented.")]
+ uint16 MajorVersion;
+ [Required(True), Description(
+ "MinorVersion of LMI profile API. This number is incremented, when there"
+ " is an API change bringing new features, but preserving backwards"
+ " compatibility. This includes adding new classes, properties, methods or"
+ " just adding some parameters to the existing method. When MajorVersion is"
+ " increased, this number is reset to 0.")]
+ uint16 MinorVersion;
+ [Required(True), Description(
+ "RevisionNumber of LMI profile API. Implementations with the same"
+ " Major and Minor versions, varying only in Revision have exactly the"
+ " same API. This number is incremented when the change affects only"
+ " the implementation, not the API. It's reset to 0, when MajorVersion or"
+ " MinorVersion gets incremented.")]
+ uint16 RevisionNumber;
+
+};
+
+// ex:ts=2:sw=2:et