// Copyright © 2005, 2006 THALES, SELEX Sistemi Integrati (SI), Themis Computer // and Progeny Systems Corporation. // 06-08-31 - MS - Draft (2) updated to the AMSM Revised Submission // Version 1.8 - 21 August 2006 // 07-03-02 - MS - Draft (3) updated to the AMSM Revised Submission // Version 1.10 - 18 December 2006 & includes // the errata from the 07-01-02 document #pragma locale ("en_US") // =================================================================== // ConfigurationSpecification // =================================================================== [Description ("The AMS_ConfigurationSpecification class models" "the specifications of configuration for:" "- operating systems (AMS_OperatingSystem)," "- computers (AMS_ComputerSystem)," "- network domains (AMS_Domain)," "- hardware groups (AMS_HardwareGroup)," "- deployment specifications (AMS_DeploymentLinkSpec)." "It is a set of parameters modelised by the" "AMS_NameValueCouple class. If no association is given for" "some parameter in an expected configuration, it means:" "Don't care.")] class AMS_ConfigurationSpecification { [Key] string InstanceID; }; // =================================================================== // NameValueCouple // =================================================================== [Description ("The AMS_NameValueCouple class models the" "parameters of a specification collection. It has a" "constraint on its values (association AMS_Constraint), and" "a name specified either as a string (attribute Name) or as" "an enumeration (association 'AMS_Name'). When the name is" "defined as a string, this name is implementation-dependant," "or else it is defined in the normalized enumeration" "AMS_CoupleName.")] class AMS_NameValueCouple { [Key] string InstanceID; string Name; [ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9","10", "11", "12", "13", "14", "15", "16"}, Values { "CS_NOTNORMALIZED", "CS_NAME", "CS_FRU", "CS_POSITION", "CS_INTERFACE", "CS_MFGDATETIME", "CS_MANUFACTURER", "CS_PRODUCTNAME", "CS_PRODUCTVERSION", "CS_SERIALNUMBER", "CS_PRODUCTTYPE", "CS_ASSETTAG", "CS_CHASSISTYPE", "CS_MACADDRESS", "CS_POWERSTATE", "CS_STATUS", "CS_POSTRESULT"}] uint16 AMSCoupleName; }; // =================================================================== // ValueConstraint // =================================================================== [Description ("The AMS_ValueConstraint class models the values" "in a specification of configuration. It is the upper class" "for the real constraint class.")] class AMS_ValueConstraint { [key] string InstanceID; }; // =================================================================== // CodedConstraint // =================================================================== [Description ("The AMS_CodedConstraint class models contraints" "on the values in a specification of configuration by using" "an implementation-specific language.")] class AMS_CodedConstraint : AMS_ValueConstraint { string Constraint; }; // =================================================================== // RangeConstraint // =================================================================== [Description ("The AMS_RangeConstraint class models constraints" "on the values in a specification of configuration by" "specifying a lower bound (attribute from) and an upper" "bound (attribute to).")] class AMS_RangeConstraint : AMS_ValueConstraint { [Description("Beginning of range")] string from; [Description("End of range")] string to; }; // =================================================================== // SetConstraint // =================================================================== [Description ("The AMS_SetConstraint class models constraints" "on the values in a specification of configuration by" "specifying a set of possibilities.")] class AMS_SetConstraint : AMS_ValueConstraint { string set; }; // =================================================================== // Associations // =================================================================== //==================================================================== // NameValue // =================================================================== [Association, Aggregation] class AMS_NameValue : CIM_Component { [Aggregate, Override("GroupComponent"), Max(1), Min(1)] AMS_ConfigurationSpecification REF GroupComponent; [Override("PartComponent")] AMS_NameValueCouple REF PartComponent; }; //==================================================================== // Constraint // =================================================================== [Association, Aggregation] class AMS_Constraint : CIM_Component { [Aggregate, Override("GroupComponent"), Max(1), Min(1)] AMS_NameValueCouple REF GroupComponent; [Override("PartComponent"), Max(1), Min(1)] AMS_ValueConstraint REF PartComponent; }; //==================================================================== // ConfSpecCS // =================================================================== [Association, Aggregation] class AMS_ConfSpecCS : CIM_Component { [Aggregate, Override("GroupComponent"), Max(1)] AMS_ComputerSystem REF GroupComponent; [Override("PartComponent"), Max(1), Min(1)] AMS_ConfigurationSpecification REF PartComponent; }; //==================================================================== // ConfSpecOS // =================================================================== [Association, Aggregation] class AMS_ConfSpecOS : CIM_Component { [Aggregate, Override("GroupComponent"), Max(1)] AMS_OperatingSystem REF GroupComponent; [Override("PartComponent"), Max(1), Min(1)] AMS_ConfigurationSpecification REF PartComponent; }; //==================================================================== // ConfSpecDom // =================================================================== [Association, Aggregation] class AMS_ConfSpecDom : CIM_Component { [Aggregate, Override("GroupComponent"), Max(1)] AMS_Domain REF GroupComponent; [Override("PartComponent"), Max(1), Min(1)] AMS_ConfigurationSpecification REF PartComponent; }; //==================================================================== // ConfSpecHG // =================================================================== [Association, Aggregation] class AMS_ConfSpecHG : CIM_Component { [Aggregate, Override("GroupComponent"), Max(1)] AMS_HardwareGroup REF GroupComponent; [Override("PartComponent"), Max(1), Min(1)] AMS_ConfigurationSpecification REF PartComponent; }; //==================================================================== // ConfSpecDLS // =================================================================== [Association, Aggregation] class AMS_ConfSpecDLS : CIM_Component { [Aggregate, Override("GroupComponent"), Max(1)] AMS_DeploymentLinkSpec REF GroupComponent; [Override("PartComponent"), Max(1), Min(1)] AMS_ConfigurationSpecification REF PartComponent; };