summaryrefslogtreecommitdiffstats
path: root/mof/60_LMI_Software.mof
diff options
context:
space:
mode:
Diffstat (limited to 'mof/60_LMI_Software.mof')
-rw-r--r--mof/60_LMI_Software.mof690
1 files changed, 690 insertions, 0 deletions
diff --git a/mof/60_LMI_Software.mof b/mof/60_LMI_Software.mof
new file mode 100644
index 0000000..9f2f2ce
--- /dev/null
+++ b/mof/60_LMI_Software.mof
@@ -0,0 +1,690 @@
+/*
+ * 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")
+//#pragma namespace ("root/cimv2")
+
+class LMI_SoftwareIdentity : CIM_SoftwareIdentity {
+
+ [Implemented(true), Override("InstanceID"), Description(
+ "Unique identifier for installed or available package."
+ " It's composed of OrgID and LocalID separated by ':', where"
+ " <OrgID> is LMI and LocalID is PKG:<PKG_NEVRA>. <PKG_NEVRA>"
+ " is a string representing rpm package. Letters in NEVRA stand"
+ " for name, epoch, version, release and architecture.")]
+ string InstanceID;
+
+ [Implemented(true), Override("Caption"), Description("Package's summary.")]
+ string Caption;
+
+ [Implemented(true), Override("Classifications")]
+ uint16 Classifications[];
+
+ [Implemented(true), Override("Description"), Description(
+ "Package's description.")]
+ string Description;
+
+ [Implemented(true), Override("ElementName"), Description(
+ "Package's NEVRA string. That is also part of InstanceID.")]
+ string ElementName;
+
+ [Implemented(true), Override("InstallDate")]
+ datetime InstallDate;
+
+ [Implemented(true), Override("IsEntity")]
+ boolean IsEntity;
+
+ [Implemented(true), Override("Name"), Description(
+ "Name of package. This does not uniquely identify package"
+ " installed on computer system.")]
+ string Name;
+
+ [Implemented(true), Override("TargetTypes")]
+ string TargetTypes[];
+
+ [Implemented(true), Override("VersionString"), Description(
+ "Package's EVRA, in format: "
+ "<epoch>:<version>-<release>.<architecture>")]
+ string VersionString;
+
+ [Implemented(true), Description("Package's epoch.")]
+ uint32 Epoch;
+
+ [Implemented(true), Description("Package's version.")]
+ string Version;
+
+ [Implemented(true), Description("Package's release.")]
+ string Release;
+
+ [Implemented(true), Description("Package's architecture.")]
+ string Architecture;
+
+};
+
+class LMI_SystemSoftwareCollection : CIM_SystemSpecificCollection {
+
+ [Implemented(true), Override("InstanceID")]
+ string InstanceID;
+
+ [Implemented(true), Override("Caption")]
+ string Caption;
+
+};
+
+[Association]
+class LMI_HostedSoftwareCollection : CIM_HostedCollection {
+
+ [Override("Antecedent")]
+ Linux_ComputerSystem REF Antecedent;
+
+ [Override("Dependent")]
+ LMI_SystemSoftwareCollection REF Dependent;
+
+};
+
+[Association]
+class LMI_MemberOfSoftwareCollection : CIM_MemberOfCollection {
+
+ [Override("Collection")]
+ LMI_SystemSoftwareCollection REF Collection;
+
+ [Override("Member")]
+ LMI_SoftwareIdentity REF Member;
+
+};
+
+[Association]
+class LMI_InstalledSoftwareIdentity : CIM_InstalledSoftwareIdentity {
+
+ [Override("InstalledSoftware")]
+ LMI_SoftwareIdentity REF InstalledSoftware;
+
+ [Override("System")]
+ Linux_ComputerSystem REF System;
+
+};
+
+class LMI_SoftwareIdentityResource : CIM_SoftwareIdentityResource {
+
+ [Implemented(true), Override("CreationClassName")]
+ string CreationClassName;
+
+ [Implemented(true), Override("Name"), Description(
+ "Repository id. A unique name representing repository of"
+ " system.")]
+ string Name;
+
+ [Implemented(true), Override("SystemCreationClassName")]
+ string SystemCreationClassName;
+
+ [Implemented(true), Override("SystemName")]
+ string SystemName;
+
+ [Implemented(true), Override("AccessContext")]
+ uint16 AccessContext;
+
+ [Implemented(true), Override("AccessInfo")]
+ string AccessInfo;
+
+ [Implemented(true), Override("AvailableRequestedStates")]
+ uint16 AvailableRequestedStates[];
+
+ [Implemented(true), Override("Caption"), Description(
+ "A human readable string describing the repository.")]
+ string Caption;
+
+ [Implemented(true), Description(
+ "Relative cost of accessing this repository."
+ " Useful for weighing one repo's packages as greater/less"
+ " than any other.")]
+ sint32 Cost;
+
+ [Implemented(true), Override("Description")]
+ string Description;
+
+ [Implemented(true), Override("ElementName")]
+ string ElementName;
+
+ [Implemented(true), Override("EnabledDefault")]
+ uint16 EnabledDefault;
+
+ [Implemented(true), Override("EnabledState")]
+ uint16 EnabledState;
+
+ [Implemented(true), Override("ExtendedResourceType")]
+ uint16 ExtendedResourceType;
+
+ [Implemented(true), Override("Generation")]
+ uint64 Generation;
+
+ [Implemented(true), Override("HealthState")]
+ uint16 HealthState;
+
+ [Implemented(true), Description(
+ "Whether or not a GPG signature check should be performed"
+ " on the packages gotten from this repository.")]
+ boolean GPGCheck;
+
+ [Implemented(true), Override("InfoFormat")]
+ uint16 InfoFormat;
+
+ [Implemented(true), Override("InstanceID")]
+ string InstanceID;
+
+ [Implemented(true), Description(
+ "URL to a file containing list of base URLS to mirrors"
+ " of this repository. http://, ftp:// and file:// schemas"
+ " are supported. This can contain special variables"
+ " prefixed with $, which are substituted for system values."
+ " These include $releasever - defaults to the version of"
+ " \"redhat-release\" package, $arch - architecture of system,"
+ " $basearch - base architecture of system ($arch == \"i686\", then"
+ " $basearch == \"i386\", $uuid - unique but persisent uuid for this"
+ " machine.")]
+ string MirrorList;
+
+ [Implemented(true), Override("OperationalStatus")]
+ uint16 OperationalStatus[];
+
+ [Implemented(true), Override("OtherAccessContext")]
+ string OtherAccessContext;
+
+ [Implemented(true), Override("PrimaryStatus")]
+ uint16 PrimaryStatus;
+
+ [Implemented(true), Description(
+ "Whether or not a GPG signature check should be performed"
+ " on the repodata from this repository.")]
+ boolean RepoGPGCheck;
+
+ [Implemented(true), Override("RequestedState")]
+ uint16 RequestedState;
+
+ [Implemented(true), Override("ResourceType")]
+ uint16 ResourceType;
+
+ [Implemented(true), Override("StatusDescriptions")]
+ string StatusDescriptions[];
+
+ [Implemented(true), Override("TimeOfLastStateChange")]
+ datetime TimeOfLastStateChange;
+
+ [Implemented(true), Description(
+ "Time of the repository's last update on server.")]
+ datetime TimeOfLastUpdate;
+
+ [Implemented(true), Override("TransitioningToState")]
+ uint16 TransitioningToState;
+
+ [Implemented(true), Override("RequestStateChange")]
+ uint32 RequestStateChange(
+ [IN, Description (
+ "The state requested for the element. This "
+ "information will be placed into the RequestedState "
+ "property of the instance if the return code of the "
+ "RequestStateChange method is 0 (\'Completed with "
+ "No Error\'), or 4096 (0x1000) (\'Job Started\'). "
+ "Refer to the description of the EnabledState and "
+ "RequestedState properties for the detailed "
+ "explanations of the RequestedState values." ),
+ ValueMap { "2", "3", "4", "6", "7", "8", "9", "10",
+ "11", "..", "32768..65535" },
+ Values { "Enabled", "Disabled", "Shut Down", "Offline",
+ "Test", "Defer", "Quiesce", "Reboot", "Reset",
+ "DMTF Reserved", "Vendor Reserved" },
+ ModelCorrespondence {
+ "CIM_EnabledLogicalElement.RequestedState" }]
+ uint16 RequestedState,
+ [IN ( false ), OUT, Description (
+ "May contain a reference to the ConcreteJob created "
+ "to track the state transition initiated by the "
+ "method invocation." )]
+ CIM_ConcreteJob REF Job,
+ [IN, Description (
+ "A timeout period that specifies the maximum amount "
+ "of time that the client expects the transition to "
+ "the new state to take. The interval format must be "
+ "used to specify the TimeoutPeriod. A value of 0 or "
+ "a null parameter indicates that the client has no "
+ "time requirements for the transition. \n"
+ "If this property does not contain 0 or null and "
+ "the implementation does not support this "
+ "parameter, a return code of \'Use Of Timeout "
+ "Parameter Not Supported\' shall be returned." )]
+ datetime TimeoutPeriod);
+
+};
+
+[Association]
+class LMI_ResourceForSoftwareIdentity : CIM_SAPAvailableForElement {
+
+ [Override("AvailableSAP")]
+ LMI_SoftwareIdentityResource REF AvailableSAP;
+
+ [Override("ManagedElement")]
+ LMI_SoftwareIdentity REF ManagedElement;
+
+};
+
+[Association]
+class LMI_HostedSoftwareIdentityResource : CIM_HostedAccessPoint {
+
+ [Override("Antecedent")]
+ Linux_ComputerSystem REF Antecedent;
+
+ [Override("Dependent")]
+ LMI_SoftwareIdentityResource REF Dependent;
+
+};
+
+class LMI_SoftwareInstallationService : CIM_SoftwareInstallationService {
+
+ [Implemented(true), Override("CreationClassName")]
+ string CreationClassName;
+
+ [Implemented(true), Override("Name")]
+ string Name;
+
+ [Implemented(true), Override("SystemCreationClassName")]
+ string SystemCreationClassName;
+
+ [Implemented(true), Override("SystemName")]
+ string SystemName;
+
+ [Implemented(true), Override("Caption")]
+ string Caption;
+
+ [Implemented(true), Override("CommunicationStatus")]
+ uint16 CommunicationStatus;
+
+ [Implemented(true), Override("Description")]
+ string Description;
+
+ [Implemented(true), Override("DetailedStatus")]
+ uint16 DetailedStatus;
+
+ [Implemented(true), Override("EnabledDefault")]
+ uint16 EnabledDefault;
+
+ [Implemented(true), Override("EnabledState")]
+ uint16 EnabledState;
+
+ [Implemented(true), Override("HealthState")]
+ uint16 HealthState;
+
+ [Implemented(true), Override("InstanceID")]
+ string InstanceID;
+
+ [Implemented(true), Override("OperatingStatus")]
+ uint16 OperatingStatus;
+
+ [Implemented(true), Override("OperationalStatus")]
+ uint16 OperationalStatus[];
+
+ [Implemented(true), Override("PrimaryStatus")]
+ uint16 PrimaryStatus;
+
+ [Implemented(true), Override("PrimaryStatus")]
+ uint16 RequestedState;
+
+ [Implemented(true), Override("Started")]
+ boolean Started;
+
+ [Implemented(true), Override("TransitioningToState")]
+ uint16 TransitioningToState;
+
+ [Implemented(True), Override("CheckSoftwareIdentity")]
+ uint32 CheckSoftwareIdentity(
+ [IN, Description (
+ "Reference to the SoftwareIdentity to be checked." )]
+ LMI_SoftwareIdentity REF Source,
+ [IN, Description (
+ "Reference to the ManagedElement that the Software "
+ "Identity is going to be installed in (or updated)." )]
+ CIM_ManagedElement REF Target,
+ [IN, Description (
+ "Reference to the Collection to which the Software "
+ "Identity will be added." )]
+ LMI_SystemSoftwareCollection REF Collection,
+ [IN ( false ), OUT, Description (
+ "The parameter describes the characteristics of the "
+ "installation/update that will take place if the "
+ "Source Software Identity is installed: \n"
+ "Target automatic reset: The target element will "
+ "automatically reset once the installation is "
+ "complete. \n"
+ "System automatic reset: The containing system of "
+ "the target ManagedElement (normally a logical "
+ "device or the system itself) will automatically "
+ "reset/reboot once the installation is complete. \n"
+ "Separate target reset required: "
+ "EnabledLogicalElement.RequestStateChange MUST be "
+ "used to reset the target element after the "
+ "SoftwareIdentity is installed. \n"
+ "Separate system reset required: "
+ "EnabledLogicalElement.RequestStateChange MUST be "
+ "used to reset/reboot the containing system of the "
+ "target ManagedElement after the SoftwareIdentity "
+ "is installed. \n"
+ "Manual Reboot Required: The system MUST be "
+ "manually rebooted by the user. \n"
+ "No reboot required : No reboot is required after "
+ "installation. \n"
+ "User Intervention Recomended : It is recommended "
+ "that a user confirm installation of this "
+ "SoftwareIdentity. Inappropriate application MAY "
+ "have serious consequences. \n"
+ "MAY be added to specified collection : The "
+ "SoftwareIndentity MAY be added to specified "
+ "Collection." ),
+ ValueMap { "2", "3", "4", "5", "6", "7", "8", "9",
+ "..", "0x7FFF..0xFFFF" },
+ Values { "Target automatic reset",
+ "System automatic reset",
+ "Separate target reset Required",
+ "Separate system reset Required",
+ "Manual Reboot Required", "No Reboot Required",
+ "User Intervention recommended",
+ "MAY be added to specified Collection",
+ "DMTF Reserved", "Vendor Specific" }]
+ uint16 InstallCharacteristics[]);
+
+ [Implemented(True), Override("InstallFromSoftwareIdentity")]
+ uint32 InstallFromSoftwareIdentity(
+ [IN ( false ), OUT, Description (
+ "Reference to the job (may be null if job completed)."
+ )]
+ LMI_SoftwareInstallationJob REF Job,
+ [IN, Description (
+ "Options to control the install process.\n"
+ "Defer target/system reset : do not automatically "
+ "reset the target/system.\n"
+ "Force installation : Force the installation of the "
+ "same or an older SoftwareIdentity. Install: "
+ "Perform an installation of this software on the "
+ "managed element.\n"
+ "Update: Perform an update of this software on the "
+ "managed element.\n"
+ "Repair: Perform a repair of the installation of "
+ "this software on the managed element by forcing "
+ "all the files required for installing the software "
+ "to be reinstalled.\n"
+ "Reboot: Reboot or reset the system immediately "
+ "after the install or update of this software, if "
+ "the install or the update requires a reboot or reset.\n"
+ "Password: Password will be specified as clear text "
+ "without any encryption for performing the install "
+ "or update.\n"
+ "Uninstall: Uninstall the software on the managed element.\n"
+ "Log: Create a log for the install or update of the software.\n"
+ "SilentMode: Perform the install or update without "
+ "displaying any user interface.\n"
+ "AdministrativeMode: Perform the install or update "
+ "of the software in the administrative mode. "
+ "ScheduleInstallAt: Indicates the time at which "
+ "theinstall or update of the software will occur." ),
+ ValueMap { "2", "3", "4", "5", "6", "7", "8", "9",
+ "10", "11", "12", "13", "..", "32768..65535" },
+ Values { "Defer target/system reset",
+ "Force installation", "Install", "Update", "Repair",
+ "Reboot", "Password", "Uninstall", "Log",
+ "SilentMode", "AdministrativeMode",
+ "ScheduleInstallAt", "DMTF Reserved",
+ "Vendor Specific" },
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_SoftwareInstallationService.InstallOptionsValues[]",
+ "CIM_SoftwareInstallationServiceCapabilities.SupportedInstallOptions[]" }]
+ uint16 InstallOptions[],
+ [IN, Description (
+ "InstallOptionsValues is an array of strings "
+ "providing additional information to InstallOptions "
+ "for the method to install the software. Each entry "
+ "of this array is related to the entry in "
+ "InstallOptions that is located at the same index "
+ "providing additional information for "
+ "InstallOptions. \n"
+ "If the index in InstallOptions has the value "
+ "\"Password \" then a value at the corresponding "
+ "index of InstallOptionValues shall not be NULL. \n"
+ "If the index in InstallOptions has the value "
+ "\"ScheduleInstallAt\" then the value at the "
+ "corresponding index of InstallOptionValues shall "
+ "not be NULL and shall be in the datetime type "
+ "format. \n"
+ "If the index in InstallOptions has the value \"Log "
+ "\" then a value at the corresponding index of "
+ "InstallOptionValues may be NULL. \n"
+ "If the index in InstallOptions has the value "
+ "\"Defer target/system reset\", \"Force "
+ "installation\",\"Install\", \"Update\", \"Repair\" "
+ "or \"Reboot\" then a value at the corresponding "
+ "index of InstallOptionValues shall be NULL." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_SoftwareInstallationService.InstallOptions[]" }]
+ string InstallOptionsValues[],
+ [IN, Description (
+ "Reference to the source of the install." )]
+ LMI_SoftwareIdentity REF Source,
+ [IN, Description (
+ "The installation target. If NULL then the "
+ "SOftwareIdentity will be added to Collection only. "
+ "The underlying implementation is expected to be "
+ "able to obtain any necessary metadata from the "
+ "Software Identity." )]
+ CIM_ManagedElement REF Target,
+ [IN, Description (
+ "Reference to the Collection to which the Software "
+ "Identity SHALL be added. If NULL then the Software "
+ "Identity will not be added to a Collection." )]
+ LMI_SystemSoftwareCollection REF Collection);
+
+ [Implemented(True), Override("InstallFromURI")]
+ uint32 InstallFromURI(
+ [IN ( false ), OUT, Description (
+ "Reference to the job (may be null if job completed)."
+ )]
+ LMI_SoftwareInstallationJob REF Job,
+ [IN, Description (
+ "A URI for the software based on RFC 2079." )]
+ string URI,
+ [IN, Description ( "The installation target." )]
+ CIM_ManagedElement REF Target,
+ [IN, Description (
+ "Options to control the install process. \n"
+ "See the InstallOptions parameter of the "
+ "SoftwareInstallationService.InstallFromSoftwareIdentity "
+ "method for the description of these values." ),
+ ValueMap { "2", "3", "4", "5", "6", "7", "8", "9",
+ "10", "11", "12", "13", "..", "32768..65535" },
+ Values { "Defer target/system reset",
+ "Force installation", "Install", "Update", "Repair",
+ "Reboot", "Password", "Uninstall", "Log",
+ "SilentMode", "AdministrativeMode",
+ "ScheduleInstallAt", "DMTF Reserved",
+ "Vendor Specific" },
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_SoftwareInstallationService.InstallFromURI.InstallOptionsValues[]",
+ "CIM_SoftwareInstallationServiceCapabilities.SupportedInstallOptions[]" }]
+ uint16 InstallOptions[],
+ [IN, Description (
+ "InstallOptionsValues is an array of strings "
+ "providing additionalinformation to InstallOptions "
+ "for the method to install the software. Each entry "
+ "of this array is related to the entry in "
+ "InstallOptions that is located at the same index "
+ "providing additional information for "
+ "InstallOptions. \n"
+ "For further information on the use of "
+ "InstallOptionsValues parameter, see the "
+ "description of the InstallOptionsValues parameter "
+ "of the "
+ "SoftwareInstallationService.InstallFromSoftwareIdentity "
+ "method." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_SoftwareInstallationService.InstallFromByteStream.InstallOptions[]" }]
+ string InstallOptionsValues[]);
+
+};
+
+class LMI_SoftwareInstallationServiceCapabilities :
+ CIM_SoftwareInstallationServiceCapabilities {
+
+ [Implemented(true), Override("InstanceID")]
+ string InstanceID;
+
+ [Implemented(true), Override("CanAddToCollection")]
+ boolean CanAddToCollection;
+
+ [Implemented(true), Override("Caption")]
+ string SupportedTargetTypes[];
+
+ [Implemented(true), Override("SupportedInstallOptions")]
+ uint16 SupportedInstallOptions[];
+
+ [Implemented(true), Override("Description")]
+ string Description;
+
+ [Implemented(true), Override("SupportedURISchemes")]
+ uint16 SupportedURISchemes[];
+
+ [Implemented(true), Override("SupportedAsynchronousActions")]
+ uint16 SupportedAsynchronousActions[];
+
+ [Implemented(true), Override("SupportedSynchronousActions")]
+ uint16 SupportedSynchronousActions[];
+
+};
+
+[Association]
+class LMI_AssociatedSoftwareInstallationServiceCapabilities :
+ CIM_ElementCapabilities {
+
+ [Override("Capabilities")]
+ LMI_SoftwareInstallationServiceCapabilities REF Capabilities;
+
+ [Override("ManagedElement")]
+ LMI_SoftwareInstallationService REF ManagedElement;
+
+ [Implemented(true), Override("Characteristics")]
+ uint16 Characteristics[];
+
+};
+
+[Association]
+class LMI_HostedSoftwareInstallationService : CIM_HostedService {
+
+ [Override("Antecedent")]
+ Linux_ComputerSystem REF Antecedent;
+
+ [Override("Dependent")]
+ LMI_SoftwareInstallationService REF Dependent;
+
+};
+
+[Association]
+class LMI_SoftwareInstallationServiceAffectsElement :
+ CIM_ServiceAffectsElement {
+
+ [Override("AffectingElement")]
+ LMI_SoftwareInstallationService REF AffectingElement;
+
+ [Implemented(true), Override("ElementEffects")]
+ uint16 ElementEffects[];
+
+ [Implemented(true), Override("OtherElementEffectsDescriptions")]
+ string OtherElementEffectsDescriptions[];
+
+};
+
+class LMI_SoftwareInstallationJob : LMI_ConcreteJob {
+
+ [Implemented(true), Override("InstanceID")]
+ string InstanceID;
+
+ [Implemented(true), Override("Caption")]
+ string Caption;
+
+ [Implemented(true), Override("CommunicationStatus")]
+ uint16 CommunicationStatus;
+
+ [Implemented(true), Override("Description")]
+ string Description;
+
+ [Implemented(true), Override("ErrorCode")]
+ uint16 ErrorCode;
+
+ [Implemented(true), Override("JobStatus")]
+ string JobStatus;
+
+ [Implemented(true), Override("MethodName")]
+ string MethodName;
+
+ [Implemented(true), Override("Priority")]
+ uint32 Priority;
+
+ [Implemented(true), Override("RecoveryAction")]
+ uint16 RecoveryAction;
+
+};
+
+class LMI_SoftwareMethodResult : LMI_MethodResult {
+};
+
+[Association]
+class LMI_AssociatedSoftwareJobMethodResult : LMI_AssociatedJobMethodResult {
+
+ [Override("Job")]
+ LMI_SoftwareInstallationJob REF Job;
+
+ [Override("JobParameters")]
+ LMI_SoftwareMethodResult REF JobParameters;
+
+};
+
+[Association]
+class LMI_OwningSoftwareJobElement : LMI_OwningJobElement {
+
+ [Override("OwningElement")]
+ LMI_SoftwareInstallationService REF OwningElement;
+
+ [Override("OwnedElement")]
+ LMI_SoftwareInstallationJob REF OwnedElement;
+
+};
+
+[Association]
+class LMI_AffectedSoftwareJobElement : LMI_AffectedJobElement {
+
+ [Override("AffectingElement")]
+ LMI_SoftwareInstallationJob REF AffectingElement;
+
+};
+
+[Indication]
+class LMI_SoftwareInstCreation : CIM_InstCreation {
+};
+
+[Indication]
+class LMI_SoftwareInstModification : CIM_InstModification {
+};