summaryrefslogtreecommitdiffstats
path: root/mof/30_LMI_ProfileRegistration.mof
blob: 1e5ed0678078fa0903a14468162d9d55d0d82747 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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