# Class CIM_Action
extends CIM_ManagedElement

A CIM_Action is an operation that is part of a process to either create a SoftwareElement in its next state or to eliminate the SoftwareElement in its current state. A CIM_ComputerSystem object represents the environment in which CIM_SoftwareElements are already deployed/installed or into which the elements will be deployed/installed. For the case in which an element is already installed, the CIM_InstalledSoftwareElement association identifies the CIM_ComputerSystem object that represents the "environment". When a SoftwareElement is being deployed for installation on a ComputerSystem, that system is the target of the Action and is identified using the TargetSystem reference of the InvokeOnSystem method.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_Action

## Direct Known Subclasses

CIM_DirectoryAction
CIM_ExecuteProgram
CIM_FileAction
CIM_ModifySettingAction
CIM_RebootAction

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Abstract | boolean | true
Description | string | A CIM_Action is an operation that is part of a process to either create a SoftwareElement in its next state or to eliminate the SoftwareElement in its current state. A CIM_ComputerSystem object represents the environment in which CIM_SoftwareElements are already deployed/installed or into which the elements will be deployed/installed. For the case in which an element is already installed, the CIM_InstalledSoftwareElement association identifies the CIM_ComputerSystem object that represents the "environment". When a SoftwareElement is being deployed for installation on a ComputerSystem, that system is the target of the Action and is identified using the TargetSystem reference of the InvokeOnSystem method.
UMLPackagePath | string | CIM::Application::CheckAction
Version | string | 2.23.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
ActionID | string |
Description | string | The ActionID property is a unique identifier assigned to a particular Action for a SoftwareElement.
Key | boolean | true
MaxLen | uint32 | 256
Direction | uint16 |
Description | string | The Direction property is used to indicate whether this Action is part of a sequence to transition the SoftwareElement to its next state ("Install") or to remove the element ("Uninstall").
ValueMap | string | 0, 1
Values | string | Install, Uninstall
Name | string |
Description | string | The name used to identify the SoftwareElement that is being acted upon.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_SoftwareElement.Name
SoftwareElementID | string |
Description | string | This is an identifier for the SoftwareElement being acted upon.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_SoftwareElement.SoftwareElementID
SoftwareElementState | uint16 |
Description | string | The SoftwareElementState of the SoftwareElement being acted upon.
Key | boolean | true
Propagated | string | CIM_SoftwareElement.SoftwareElementState
ValueMap | string | 0, 1, 2, 3
Values | string | Deployable, Installable, Executable, Running
TargetOperatingSystem | uint16 |
Description | string | The Target Operating System of the SoftwareElement being acted upon.
Key | boolean | true
Propagated | string | CIM_SoftwareElement.TargetOperatingSystem
ValueMap | string | 0, 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, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116
Values | string | Unknown, Other, MACOS, ATTUNIX, DGUX, DECNT, Tru64 UNIX, OpenVMS, HPUX, AIX, MVS, OS400, OS/2, JavaVM, MSDOS, WIN3x, WIN95, WIN98, WINNT, WINCE, NCR3000, NetWare, OSF, DC/OS, Reliant UNIX, SCO UnixWare, SCO OpenServer, Sequent, IRIX, Solaris, SunOS, U6000, ASERIES, HP NonStop OS, HP NonStop OSS, BS2000, LINUX, Lynx, XENIX, VM, Interactive UNIX, BSDUNIX, FreeBSD, NetBSD, GNU Hurd, OS9, MACH Kernel, Inferno, QNX, EPOC, IxWorks, VxWorks, MiNT, BeOS, HP MPE, NextStep, PalmPilot, Rhapsody, Windows 2000, Dedicated, OS/390, VSE, TPF, Windows (R) Me, Caldera Open UNIX, OpenBSD, Not Applicable, Windows XP, z/OS, Microsoft Windows Server 2003, Microsoft Windows Server 2003 64-Bit, Windows XP 64-Bit, Windows XP Embedded, Windows Vista, Windows Vista 64-Bit, Windows Embedded for Point of Service, Microsoft Windows Server 2008, Microsoft Windows Server 2008 64-Bit, FreeBSD 64-Bit, RedHat Enterprise Linux, RedHat Enterprise Linux 64-Bit, Solaris 64-Bit, SUSE, SUSE 64-Bit, SLES, SLES 64-Bit, Novell OES, Novell Linux Desktop, Sun Java Desktop System, Mandriva, Mandriva 64-Bit, TurboLinux, TurboLinux 64-Bit, Ubuntu, Ubuntu 64-Bit, Debian, Debian 64-Bit, Linux 2.4.x, Linux 2.4.x 64-Bit, Linux 2.6.x, Linux 2.6.x 64-Bit, Linux 64-Bit, Other 64-Bit, Microsoft Windows Server 2008 R2, VMware ESXi, Microsoft Windows 7, CentOS 32-bit, CentOS 64-bit, Oracle Linux 32-bit, Oracle Linux 64-bit, eComStation 32-bitx, Microsoft Windows Server 2011, Microsoft Windows Server 2012, Microsoft Windows 8, Microsoft Windows 8 64-bit, Microsoft Windows Server 2012 R2
Version | string |
Description | string | The version of the SoftwareElement being acted upon.
Key | boolean | true
MaxLen | uint32 | 64
Propagated | string | CIM_SoftwareElement.Version

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
Description | string | CIM_ManagedElement
ElementName | string | CIM_ManagedElement
Generation | uint64 | CIM_ManagedElement
InstanceID | string | CIM_ManagedElement

## Class Methods

### Local Class Methods

#### Invoke (uint32)

#### Method Qualifiers (Invoke)

Name | Data Type | Value
--- | --- | ---
Description | string | The Invoke method takes this Action. The details of how the Action is implemented are described by specific subclasses of CIM_Action. When the SoftwareElement being transitioned or eliminated is already installed, the CIM_InstalledSoftwareElement association identifies the CIM_ComputerSystem in whose context the Invoke is executed. If this association is not in place, then the InvokeOnSystem method should be used - since it identifies the TargetSystem as a parameter of the method. The results of the Invoke method are based on the return value. A zero is returned if the Action is satisfied. A one is returned if the method is not supported. Any other value indicates the Action is not satisfied.

#### Method Parameters (Invoke)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value

#### InvokeOnSystem (uint32)

#### Method Qualifiers (InvokeOnSystem)

Name | Data Type | Value
--- | --- | ---
Description | string | The InvokeOnSystem method takes this Action. The details of how the Action is implemented are described by specific subclasses of CIM_Action. The method's TargetSystem input parameter specifies the ComputerSystem in whose context the method is invoked. The results of the InvokeOnSystem method are based on the return value. A zero is returned if the Action is satisfied. A one is returned if the method is not supported. Any other value indicates the Action is not satisfied.

#### Method Parameters (InvokeOnSystem)

Name | Type | Qualifiers
--- | --- | ---
Name | Data Type | Value
TargetSystem | REF CIM_ComputerSystem
Description | string | Reference to target system in whose context the method is to be invoked.
IN | boolean | true