// Copyright (c) 2008 DMTF.  All rights reserved.
   [Version ( "2.19.0" ), 
    UMLPackagePath ( "CIM::Network::OSPF" ), 
    Description ( 
       "Each OSPF router has an association to one or more OSPF areas. "
       "Into these areas, a router advertises summaries filtered by "
       "specific address ranges. This would natively be modeled as a "
       "ternary association (router/OSPFService to OSPFArea to "
       "RangeOfIPAddresses), which is problematic in some "
       "implementations. To get around this issue, the "
       "OSPFAreaConfiguration class is defined to act as a focal point "
       "to bring together the router (indicated as a ComputerSystem "
       "with an instance of OSPFService, associated to the "
       "AreaConfiguration using OSPFServiceConfiguration), the area "
       "(indicated as an OSPFArea, associated to the AreaConfiguration "
       "using AreaOfConfiguration) and the address ranges for "
       "advertising (indicated as instances of RangeOfIPAddresses, "
       "associated to the AreaConfiguration using "
       "RangesOfConfiguration). There would be an instance of "
       "OSPFAreaConfiguration for each connected area of a "
       "router/OSPFService. \n"
       "\n"
       "When network administrators want to control the advertisements "
       "of OSPF routers by filters, they first define the relevant "
       "ranges. In order for a router to handle a range, an instance "
       "of RangeOfIPAddresses MUST be associated to the relevant "
       "OSPFAreaConfiguration (using the relationship, RangesOf "
       "Configuration). The association between the range and area "
       "configuration contains a property defining the handling "
       "(EnableAdvertise) to allow or disallow advertisements in the "
       "range. \n"
       "\n"
       "Notes: \n"
       "- Because RangeOfIPAddresses is scoped by a System (via the "
       "HostedCollection association), an instance of "
       "RangeOfIPAddresses would be associated to an OSPFArea, "
       "satisfying this semantic. \n"
       "- This class is inherited from LogicalElement, because a "
       "suitable subclass \'lower\' in the inheritance hiearchy does "
       "not exist." )]
class CIM_OSPFAreaConfiguration : CIM_LogicalElement {

      [Key, Override ( "InstanceID" ), 
       Description ( 
          "Within the scope of the instantiating Namespace, "
          "InstanceID opaquely and uniquely identifies an instance "
          "of this class. In order to ensure uniqueness within the "
          "NameSpace, the value of InstanceID SHOULD be constructed "
          "using the following \'preferred\' algorithm: \n"
          "<OrgID>:<OSPFService ID><Area Configuration ID> \n"
          "where: \n"
          "<OrgID> and the remainder of the InstanceID are "
          "separated by a colon \':\', and where <OrgID> MUST "
          "include a copyrighted, trademarked or otherwise unique "
          "name that is owned by the business entity "
          "creating/defining the InstanceID, or is a registered ID "
          "that is assigned to the business entity by a recognized "
          "global authority. (This is similar to the <Schema "
          "Name>_<Class Name> structure of Schema class names.) In "
          "addition, to ensure uniqueness <OrgID> MUST NOT contain "
          "a colon (\':\'). When using this algorithm, the first "
          "colon to appear in InstanceID MUST appear between "
          "<OrgID> and the <OSPFService ID>. For DMTF defined "
          "instances, the \'preferred\' algorithm MUST be used, and "
          "the <OrgID> set to \'CIM\'. \n"
          "<OSPFService ID> and <Area Configuration ID> MUST "
          "specify vendor-unique identifiers for the OSPFService "
          "and AreaConfiguration." )]
   string InstanceID;

      [Description ( 
          "This attribute contains the value of the default route "
          "that this router advertises into a stub area, see C.2 "
          "RFC 2328." ), 
       MappingStrings { "MIB.IETF|OSPF-MIB.ospfStubMetric" }]
   uint32 StubDefaultCost;

      [Description ( 
          "This attribute contains the type of metric advertised as "
          "a default route into a stub area, see 3. in RFC 1850." ), 
       ValueMap { "2", "3", "4" }, 
       Values { "OSPF Metric", "Comparable Cost", "NonComparable" }, 
       MappingStrings { "MIB.IETF|OSPF-MIB.ospfStubMetricType" }]
   uint16 StubMetricType;


};
