Server Management Command Line Protocol Specification - DMTF
Server Management Command Line Protocol Specification - DMTF
Server Management Command Line Protocol Specification - DMTF
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
1<br />
2<br />
3<br />
4<br />
Document Number: DSP0214<br />
Date: 2007-03-07<br />
Version: 1.0.2<br />
5<br />
6<br />
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong><br />
(SM CLP) <strong>Specification</strong><br />
7<br />
8<br />
9<br />
Document Type: <strong>Specification</strong><br />
Document Status: Final Standard<br />
Document Language: E
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
10<br />
11<br />
Copyright notice<br />
Copyright © 2007 Distributed <strong>Management</strong> Task Force, Inc. (<strong>DMTF</strong>). All rights reserved.<br />
12<br />
13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
22<br />
23<br />
24<br />
25<br />
26<br />
27<br />
28<br />
29<br />
<strong>DMTF</strong> is a not-for-profit association of industry members dedicated to promoting enterprise and systems<br />
management and interoperability. Members and non-members may reproduce <strong>DMTF</strong> specifications and<br />
documents for uses consistent with this purpose, provided that correct attribution is given. As <strong>DMTF</strong><br />
specifications may be revised from time to time, the particular version and release date should always be<br />
noted.<br />
Implementation of certain elements of this standard or proposed standard may be subject to third party<br />
patent rights, including provisional patent rights (herein "patent rights"). <strong>DMTF</strong> makes no representations<br />
to users of the standard as to the existence of such rights, and is not responsible to recognize, disclose,<br />
or identify any or all such third party patent right, owners or claimants, nor for any incomplete or<br />
inaccurate identification or disclosure of such rights, owners or claimants. <strong>DMTF</strong> shall have no liability to<br />
any party, in any manner or circumstance, under any legal theory whatsoever, for failure to recognize,<br />
disclose, or identify any such third party patent rights, or for such party’s reliance on the standard or<br />
incorporation thereof in its product, protocols or testing procedures. <strong>DMTF</strong> shall have no liability to any<br />
party implementing such standard, whether such implementation is foreseeable or not, nor to any patent<br />
owner or claimant, and shall have no liability or responsibility for costs or losses incurred if a standard is<br />
withdrawn or modified after publication, and shall be indemnified and held harmless by any party<br />
implementing the standard from any and all claims of infringement by a patent owner for such<br />
implementations.<br />
2 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
30<br />
CONTENTS<br />
31<br />
32<br />
33<br />
34<br />
35<br />
36<br />
37<br />
38<br />
39<br />
40<br />
41<br />
42<br />
43<br />
44<br />
45<br />
46<br />
47<br />
48<br />
49<br />
50<br />
51<br />
52<br />
53<br />
54<br />
55<br />
56<br />
57<br />
58<br />
59<br />
60<br />
61<br />
62<br />
63<br />
64<br />
65<br />
66<br />
67<br />
68<br />
69<br />
70<br />
71<br />
72<br />
73<br />
74<br />
75<br />
76<br />
77<br />
78<br />
Foreword ....................................................................................................................................................... 5<br />
Introduction ................................................................................................................................................... 6<br />
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong> ..................................................... 11<br />
1 Scope .................................................................................................................................................. 11<br />
2 Normative References......................................................................................................................... 11<br />
3 Terms and Definitions ......................................................................................................................... 12<br />
4 Symbols and Abbreviated Terms ........................................................................................................ 16<br />
5 <strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong> ............................................. 18<br />
5.1 Semantics ................................................................................................................................. 18<br />
5.2 Syntax ....................................................................................................................................... 28<br />
6 SM CLP Verbs..................................................................................................................................... 51<br />
6.1 Requirements for Supporting CVS .............................................Error! Bookmark not defined.<br />
6.2 cd .............................................................................................................................................. 52<br />
6.3 create ........................................................................................................................................ 56<br />
6.4 delete ........................................................................................................................................ 60<br />
6.5 dump ......................................................................................................................................... 66<br />
6.6 exit............................................................................................................................................. 71<br />
6.7 help ........................................................................................................................................... 73<br />
6.8 load ........................................................................................................................................... 75<br />
6.9 reset .......................................................................................................................................... 78<br />
6.10 set ............................................................................................................................................. 81<br />
6.11 show.......................................................................................................................................... 89<br />
6.12 start ......................................................................................................................................... 117<br />
6.13 stop ......................................................................................................................................... 120<br />
6.14 version .................................................................................................................................... 124<br />
7 Standard <strong>Command</strong> Options............................................................................................................. 126<br />
7.1 all............................................................................................................................................. 129<br />
7.2 destination............................................................................................................................... 129<br />
7.3 display..................................................................................................................................... 130<br />
7.4 examine .................................................................................................................................. 132<br />
7.5 force ........................................................................................................................................ 133<br />
7.6 help ......................................................................................................................................... 133<br />
7.7 keep ........................................................................................................................................ 134<br />
7.8 level......................................................................................................................................... 134<br />
7.9 output ...................................................................................................................................... 135<br />
7.10 source ..................................................................................................................................... 140<br />
7.11 version .................................................................................................................................... 140<br />
7.12 wait.......................................................................................................................................... 141<br />
8 SM CLP Session ............................................................................................................................... 141<br />
8.1 Authentication, Authorization, and Audit................................................................................. 141<br />
8.2 CLP Session .......................................................................................................................... 142<br />
8.3 Transport................................................................................................................................. 148<br />
Annex A (normative) SM CLP <strong>Command</strong> Grammar in ABNF Notation (RFC2234)............................... 150<br />
Annex B (informative) W3C Universal Resource Identifiers (URI).......................................................... 156<br />
Annex C (informative) W3C Extensible Markup Language (XML) ......................................................... 157<br />
Annex D (informative) POSIX Utility Conventions .................................................................................. 158<br />
Annex E (informative) Conventions ........................................................................................................ 160<br />
Annex F (informative) Notation ............................................................................................................... 161<br />
Version 1.0.2 3
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
79<br />
80<br />
81<br />
82<br />
Annex G (informative) Change History ................................................................................................... 162<br />
Annex H (informative) Acknowledgements............................................................................................. 163<br />
Annex I (informative) Bibliography .......................................................................................................... 164<br />
83<br />
84<br />
85<br />
86<br />
87<br />
88<br />
Figures<br />
Figure 1 – Session Establishment Sequence ........................................................................................... 144<br />
Figure 2 – <strong>Command</strong> Interaction Sequences ........................................................................................... 145<br />
Figure 3 – Session Switching Sequences................................................................................................. 146<br />
Figure 4 – Session Termination Sequences............................................................................................. 147<br />
89<br />
90<br />
91<br />
92<br />
93<br />
94<br />
95<br />
96<br />
97<br />
98<br />
99<br />
100<br />
101<br />
102<br />
103<br />
104<br />
105<br />
106<br />
107<br />
108<br />
109<br />
Tables<br />
Table 1 – CLP Reserved Characters and Character Sequences............................................................... 28<br />
Table 2 – Common Output Keywords......................................................................................................... 36<br />
Table 3 – <strong>Command</strong> Status Keywords ....................................................................................................... 37<br />
Table 4 – <strong>Command</strong> Status Values and Tags ............................................................................................ 37<br />
Table 5 – Message Keywords..................................................................................................................... 37<br />
Table 6 – Processing Error Values and Tags ............................................................................................. 38<br />
Table 7 – Job Error Keywords .................................................................................................................... 39<br />
Table 8 – Error Type Values and Descriptions ........................................................................................... 39<br />
Table 9 – CIM Status Code Values and Descriptions................................................................................. 40<br />
Table 10 – Severity Values and Descriptions ............................................................................................. 41<br />
Table 11 – Probable Cause Values and Descriptions ................................................................................ 42<br />
Table 12 – Verb Support Requirements ..................................................................................................... 51<br />
Table 13 – Data Element Types and all Option ....................................................................................... 92<br />
Table 14 – Standard <strong>Command</strong> Options .................................................................................................. 127<br />
Table 15 – Verb and Option Support ........................................................................................................ 128<br />
Table 16 – Output Option Arguments ....................................................................................................... 135<br />
Table 17 – Output Options for Controlling <strong>Command</strong> Status Output ....................................................... 140<br />
Table 18 – <strong>Command</strong> Authorizations for CLP Groups ............................................................................. 142<br />
Table 19 – Telnet Transport Support Requirements ................................................................................ 148<br />
4 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
110<br />
Foreword<br />
111<br />
112<br />
113<br />
114<br />
115<br />
116<br />
117<br />
118<br />
The <strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong> (DSP0214) was prepared by<br />
the <strong>Server</strong> <strong>Management</strong> Working Group. This document was prepared in accordance with ISO/IEC<br />
Directives, Part 2: Rules for the structure and drafting of International Standards.<br />
The <strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong> specifies a common command<br />
line syntax and message protocol semantics for managing computer resources in Internet, enterprise,<br />
and service provider environments.<br />
<strong>DMTF</strong> is a not-for-profit association of industry members dedicated to promoting enterprise and systems<br />
management and interoperability.<br />
Version 1.0.2 5
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
119<br />
Introduction<br />
120<br />
121<br />
122<br />
123<br />
124<br />
125<br />
126<br />
127<br />
128<br />
129<br />
130<br />
131<br />
132<br />
133<br />
134<br />
135<br />
136<br />
137<br />
138<br />
139<br />
140<br />
141<br />
142<br />
143<br />
144<br />
145<br />
146<br />
147<br />
148<br />
149<br />
150<br />
151<br />
152<br />
153<br />
154<br />
155<br />
156<br />
157<br />
This section contains an overview of the <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (CLP). This includes the goals behind<br />
creating the CLP and the specific problems that it attempts to resolve. In addition, this section lays the<br />
groundwork for the sections that follow by detailing the background and assumptions of the CLP. This<br />
includes the architecture assumed in the design of the CLP and the components within that architecture.<br />
Problem Statement<br />
The fundamental problem that is the impetus behind this specification is the growing need to rely on multivendor,<br />
out-of-band hardware and software management solutions as core components of an<br />
interoperable, heterogeneous, enterprise-wide management solution. By extending the <strong>DMTF</strong><br />
specifications to include a CIM-based command line protocol for managing systems and devices, the<br />
<strong>DMTF</strong> comes closer to realizing its vision of enabling end-to-end, multi-vendor interoperability in<br />
management systems.<br />
Principal Goals<br />
The principal goal of this specification is to define a light-weight, human-oriented command line protocol<br />
that is also suitable for scripting environments. This includes a direct mapping to a subset of the CIM<br />
Schema. The command line protocol specifies the syntax and semantics used to allow the manipulation<br />
of the Managed Elements and Associations within servers, as collections or individually.<br />
Solution<br />
The solution proposed in this document is a command line protocol (CLP), which is transmitted and<br />
received over a text message-based transport protocol. The CLP is defined as a character-based<br />
message protocol and not as an interface, in a fashion similar to Simple Mail Transfer <strong>Protocol</strong><br />
(3RFC2821).<br />
The CLP is a command/response protocol, which means that a text command message is transmitted<br />
from the Client over the transport protocol to the Manageability Access Point (MAP). The MAP receives<br />
the command and processes it. A text response message is then transmitted from the MAP back to the<br />
Client.<br />
The CLP is designed to work over existing character-oriented transports. The specification contains<br />
mappings to Telnet and SSHv2, but any transport capable of carrying command/response message data<br />
of the type specified herein may be suitable for use as a transport.<br />
The CLP enables internationalization by providing a mechanism for the Client to indicate to the MAP the<br />
language desired by the Client. Provided the MAP supports the requested language, output data will be<br />
presented to the user with the appropriate translations. This version of the CLP does not support specific<br />
internationalization of user account names and passwords because they can be in any specific language.<br />
In addition, the CLP input (commands and syntax) is not translated because CLP syntax is itself its own<br />
language.<br />
The CLP allows for extensibility through four different mechanisms: verbs, options and option argument<br />
terms, command target terms, and target property terms. The conventions contained herein allow for<br />
implementers to extend the interface in a non-conflicting mechanism that allows for differentiation and<br />
experimentation without encroaching on the standard CLP syntax and semantics.<br />
6 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
158<br />
159<br />
160<br />
161<br />
162<br />
163<br />
164<br />
165<br />
166<br />
167<br />
168<br />
169<br />
170<br />
171<br />
172<br />
173<br />
174<br />
175<br />
176<br />
177<br />
178<br />
179<br />
180<br />
181<br />
182<br />
183<br />
184<br />
185<br />
186<br />
187<br />
188<br />
189<br />
190<br />
191<br />
192<br />
193<br />
194<br />
195<br />
196<br />
197<br />
198<br />
199<br />
General Syntax<br />
The general syntax for the CLP is of the form:<br />
[] [] []<br />
The verb term refers to the specific command or action taking place. These are covered in detail in<br />
Clause 6. The list of verbs includes those that establish and retrieve data ("set" and "show"), create and<br />
remove records or instances ("create" and "delete"), change the state of a given target ("reset",<br />
"start", and "stop"), manage the current session ("cd", "version", and "exit"), and provide<br />
command information ("help").<br />
The target term indicates the address or path of the target of the command. The format of this term is<br />
discussed in the <strong>Server</strong> <strong>Management</strong> Managed Element (SM ME) Addressing <strong>Specification</strong> (5DSP0215).<br />
This term can be an individual Managed Element, such as a disk, a NIC, the MAP itself, or even a<br />
service, such as the transport. This term can also be a collection of Managed Elements supported by the<br />
MAP, such as a system. It can also be an Association. There can be only one target term specified per<br />
command.<br />
<strong>Command</strong> options always modify the action or behavior of the verb. Options may appear immediately<br />
after the verb on the <strong>Command</strong> <strong>Line</strong> and shall be preceded by a hyphen ("-"). They provide features such<br />
as changing the output format, allowing the command to apply to nested levels, requesting that the<br />
version of the command be displayed, and requesting help. Note that there may be zero or more option<br />
terms per command. For more information, see Clause 111H7.<br />
<strong>Command</strong> target properties are attributes that may contain values associated with a target that are<br />
needed to process the command. <strong>Command</strong> target properties identify properties of the target’s class that<br />
are to be retrieved or modified by the command. Valid command target property names are documented<br />
in the MOF file that defines the class. Implementations shall use the property name defined in the MOF<br />
file to identify the property of the class.<br />
The properties themselves are manipulated with the commands in Clause 112H6. If a value is to be assigned<br />
to a property, the syntax shall be of the form "=". There may be zero or more<br />
property terms per command.<br />
Architectural Assumptions<br />
There is an underlying assumption that the architecture the CLP is built upon, or is an interface into, is a<br />
CIM <strong>Server</strong> implementation. The CLP is organized around management tasks mapped to operations on<br />
CIM instances. It does this by retrieving or changing properties and invoking methods established in<br />
instances of the CIM Schema. The mapping of CLP commands to CIM elements is documented in the<br />
CLP-to-CIM Mapping <strong>Specification</strong> (113H32HDSP0216) to aid implementers and consumers of this specification.<br />
The CLP consists of a set of specific functions intended for operational control of the server hardware and<br />
rudimentary control of the operating system. It is not intended to be a complete interface into managing<br />
the operating system. Therefore, the CLP contains the commands necessary to operate on a proper<br />
subset of the CIM Schema as defined in 114H32HDSP0216.<br />
The CLP is also architected to work over existing transports. It is assumed that the transports will provide<br />
the authentication and encryption necessary for the protocol. Role-based command use authorization is<br />
included in the CLP, but the architecture assumes that the CLP relies on the underlying transport for any<br />
access security and authentication. The CLP architecture is documented in the SM Architecture White<br />
Paper (115H26HDSP2001).<br />
Version 1.0.2 7
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
200<br />
201<br />
202<br />
203<br />
204<br />
205<br />
206<br />
207<br />
208<br />
209<br />
210<br />
211<br />
212<br />
213<br />
214<br />
215<br />
216<br />
217<br />
218<br />
219<br />
220<br />
221<br />
222<br />
223<br />
224<br />
225<br />
226<br />
227<br />
228<br />
229<br />
230<br />
231<br />
232<br />
233<br />
234<br />
235<br />
236<br />
237<br />
238<br />
239<br />
240<br />
241<br />
242<br />
Architectural Concepts of the SM CLP<br />
The following sections describe some of the key concepts of the SM CLP. A detailed statement of the<br />
architecture of the SM CLP is available in 116H26HDSP2001. An implementation of the CLP service is modeled<br />
using the <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (CLP) Service Profile (117H7HDSP1005).<br />
Physical Connection<br />
The physical connection and media between the Client and the MAP are outside the scope of this<br />
specification. Any physical connection that is capable of running one of the supported transports is<br />
assumed to be able to support the CLP. Because the supported transports themselves can run over IP, it<br />
is safe to assume that the CLP can be transmitted and received over any media or physical connection<br />
that supports IP. However, this does not limit support for the CLP to physical media or connections that<br />
support IP. In fact, it is reasonable for an implementation to be created in which the protocol never leaves<br />
the managed server.<br />
Transport <strong>Management</strong><br />
This specification includes sections detailing the mapping of the CLP over two transport protocols: Telnet<br />
and SSHv2. The CLP is designed to be transport independent, but mappings to transports other than<br />
these two are outside the scope of this specification.<br />
The Client is the terminus of one end of the connection; the CLP Service implementation is the other.<br />
CLP Service implementations manage the transport and the sessions that occur over the transport as<br />
required by 118H7HDSP1005.<br />
Authentication, Authorization, and Encryption<br />
The CLP Service does not perform any authentication or encryption. It relies entirely on the transport to<br />
perform these functions. Session transport requirements are documented in 119H8.3.<br />
To accommodate a single basis for user authorization, the user account database required by the<br />
transport is expected to share the user information with the CLP Service once the user is logged in. For<br />
more information, see 120H8.3.<br />
The CLP Service authorizes commands through the use of authorization groups. Each CLP User shall be<br />
a member of at least one CLP Group. For more information, see 121H8.1.<br />
The CLP contains commands for the creation, removal, and modification of user accounts, including<br />
authorization and access rights. For more information, see Clause 122H6.<br />
Sessions<br />
Sessions between a Client and a CLP Service are established over a transport protocol. After the session<br />
has been authenticated, the Client can begin to submit commands using the CLP Service. Each session<br />
has a unique context within the MAP. Within this context, the CLP Service keeps track of session<br />
characteristics. Implementations will maintain a session context and session characteristics as required<br />
by 123H7HDSP1005. Examples of these characteristics include the Current Default Target, currently selected<br />
output mode, current output language, and the current user and session identifier. <strong>Command</strong>s for<br />
manipulating the session characteristics are included in the CLP. For more information, see 124H8.2.2.<br />
Input Editing<br />
The CLP is a command/response protocol. CLP implementations shall receive and parse an entire<br />
<strong>Command</strong> <strong>Line</strong>, complete with verb, command target term, options, and properties. The CLP Service<br />
shall not allow any interactive input or data editing. This does not preclude a vendor from providing such<br />
capability associated with the Client implementation, but any such capability is outside of the scope of this<br />
specification.<br />
8 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
243<br />
244<br />
245<br />
246<br />
247<br />
248<br />
249<br />
250<br />
251<br />
252<br />
253<br />
254<br />
255<br />
256<br />
257<br />
258<br />
259<br />
260<br />
261<br />
262<br />
263<br />
264<br />
265<br />
266<br />
267<br />
268<br />
269<br />
270<br />
271<br />
272<br />
273<br />
274<br />
275<br />
276<br />
277<br />
278<br />
279<br />
280<br />
<strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> Service<br />
The CLP Service is responsible for providing and enforcing the syntax and semantics of the CLP.<br />
Implementations will support being managed as required by 125H7HDSP1005. This includes starting, stopping,<br />
and changing the attributes of the service.<br />
CLP Service Access Point<br />
The transport session is established to the CLP Service Access Point (SAP). The access point represents<br />
the physical and logical communication mechanism through which the CLP Service receives incoming<br />
connection requests. The CLP provides the mechanisms necessary to enable, disable, and configure the<br />
SAP. Implementations will support managing the supporting protocol stacks as required by 126H7HDSP1005.<br />
Operation <strong>Management</strong><br />
All commands submitted through the CLP Service create jobs within the MAP. There is one and only one<br />
global job queue within the MAP. Implementations shall track all jobs using this single job queue.<br />
Operations follow the CIM_Job schema, as defined in later sections. The CLP supports commands to<br />
query jobs, retrieve the interim status of jobs, retrieve the final status of jobs, and delete jobs. Operations<br />
are covered further in 127H5.1.6.<br />
Use Cases<br />
This section describes the intended features, functions, and uses of the CLP. Note that the CLP is not<br />
limited to these functions, but these are the specific uses for which the CLP was intended.<br />
The CLP is designed to apply to a number of server topologies. This includes, but is not limited to, standalone<br />
servers, rack-mounted servers, blades, partitioned servers, and Telco servers. It is also suitable to<br />
manage any necessary enterprise components, enclosures, chassis, racks, and power supplies<br />
necessary to utilize servers.<br />
The CLP provides the ability to enumerate and configure server hardware. This includes discovery of the<br />
current hardware configuration and properties, system settings, and local IO devices. The CLP provides<br />
some amount of configuration for local disk drives, including local arrays. The intention of providing this<br />
support is to allow initial logical unit creation for installation, provisioning, or both. It is not intended that<br />
the CLP Service be the primary interface for managing mass storage, because these standards and<br />
access points exist in the industry.<br />
The CLP also includes the ability to select, control, and initiate the transfer of images. Also provided is the<br />
ability to control the boot configuration of any supported server. In addition, support for heartbeat and<br />
operating-system-status information is included.<br />
<strong>Server</strong> state control is included in the CLP. This includes power control, intervention capability (to halt,<br />
reset, or shut down a server), and mechanisms to initiate a dump of the operating system.<br />
Access to some system resources is also included in the CLP. This includes access and manipulation of<br />
any accessible logs; the ability to view and set remote status displays, LEDs, and alarms; the ability to<br />
configure alert destinations; and the ability to initiate a session with a remote text-based console device.<br />
The CLP also supports normal expected user session functions such as help, version information, and<br />
the ability to exit or terminate a session.<br />
Version 1.0.2 9
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
281<br />
282<br />
283<br />
284<br />
285<br />
286<br />
287<br />
288<br />
289<br />
290<br />
291<br />
Known Limitations<br />
First and foremost, while CLP commands are mapped to CIM methods and operations, the CLP is not<br />
intended to be a complete mapping to every CIM method, property, or operation. The CLP supports a<br />
sufficient subset of CIM <strong>Server</strong> features to enable the CLP to be the primary locus of interaction for server<br />
management, regardless of server type, physical connection, or operating system state.<br />
Another known limitation pertains to the intended Client. The CLP is primarily focused on an interactive<br />
experience with a human user or simple script. It is not intended to be the primary interface for advanced<br />
server management software to use to manage hardware. Consequently, the format of the commands<br />
and their responses, as well as the CIM methods, properties, and operations supported, are not always<br />
sufficient for the CLP Service Access Point to be the primary interface for advanced server management<br />
software.<br />
10 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
292<br />
293<br />
294<br />
295<br />
296<br />
297<br />
298<br />
299<br />
300<br />
301<br />
302<br />
303<br />
304<br />
305<br />
306<br />
307<br />
308<br />
309<br />
310<br />
311<br />
312<br />
313<br />
314<br />
315<br />
316<br />
317<br />
318<br />
319<br />
320<br />
321<br />
322<br />
323<br />
324<br />
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1 Scope<br />
This document lays out the general framework for the <strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM<br />
CLP). This specification is intended to guide developers of implementations of the SM CLP and optionally<br />
be used as a reference by system administrators and other users of SM CLP implementations.<br />
The following subjects are within the scope of this document:<br />
• <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> syntax and semantics<br />
• input format and output format<br />
• accessing and traversing the target address space<br />
• error handling and semantics<br />
• session management, including mapping to supported transports<br />
• session characteristics<br />
• operation processing and reporting<br />
The following subjects are outside the scope of this document:<br />
• control command verbs, such as loop control, conditionals, or prompting<br />
• regular expressions, such as mathematical or logical expressions<br />
• command editor environment<br />
• Client's shell environment<br />
• physical interconnects<br />
• complex data, data types, or objects<br />
• operation error precedence<br />
2 Normative References<br />
The following referenced documents are indispensable for the application of this document. For dated<br />
references, only the edition cited applies.<br />
<strong>DMTF</strong>, 4HCommon Information Model (CIM) Schema, version 2.12, April 20, 2006<br />
<strong>DMTF</strong>, 5HDSP0215, <strong>Server</strong> <strong>Management</strong> Managed Element (SM ME) Addressing <strong>Specification</strong> v1.0,<br />
November 10, 2006<br />
<strong>DMTF</strong>, 6HDSP0224, <strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Command</strong> Response XML<br />
Schema, v1.0, 2006<br />
<strong>DMTF</strong>, 7HDSP1005, <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (CLP) Service Profile, v1.0, October 10, 2006<br />
IETF, 8HRFC2234, Augmented BNF for Syntax <strong>Specification</strong>s: ABNF, November 1997<br />
IETF, 9HRFC2396, Uniform Resource Identifiers (URI): Generic Syntax, August 1998<br />
10HISO 639-2, Codes for the Representation of Names of Languages Part 2: Alpha-3 Code, March 2002<br />
Version 1.0.2 11
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
325<br />
326<br />
327<br />
328<br />
329<br />
330<br />
331<br />
332<br />
333<br />
334<br />
335<br />
336<br />
337<br />
338<br />
339<br />
340<br />
341<br />
342<br />
343<br />
344<br />
345<br />
346<br />
347<br />
348<br />
349<br />
350<br />
351<br />
352<br />
353<br />
354<br />
355<br />
356<br />
357<br />
358<br />
359<br />
360<br />
361<br />
362<br />
363<br />
364<br />
365<br />
ISO, 11HISO/IEC Directives, Part 2: Rules for the structure and drafting of International Standards, Fifth<br />
edition, 2004<br />
3 Terms and Definitions<br />
For the purposes of this document, the following terms and definitions apply.<br />
3.1<br />
Absolute Target Address<br />
a designation of target address that begins at the root of the containment hierarchy<br />
3.2<br />
Addressing Associations<br />
an association instance that is used by the MAP to construct the UFiP to an instance referenced by the<br />
association instance<br />
3.3<br />
Admin Domain<br />
the set of Managed Elements, Logical Devices, and Services for which the MAP has management<br />
responsibilities<br />
3.4<br />
Association<br />
a relationship between two Managed Elements, which is itself a manageable entity within the Admin<br />
Domain<br />
3.5<br />
Association Class<br />
identifies the CIM Class of an Association<br />
3.6<br />
Client<br />
any system that acts in the role of a client to a MAP<br />
3.7<br />
CLP Service<br />
the logical entity within a MAP that implements the CLP<br />
3.8<br />
CLP Target<br />
a Managed Element or Association whose properties, behavior, UFcT, and so on are wholly defined by<br />
the profiles approved for use with the CLP<br />
3.9<br />
<strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong><br />
CLP<br />
the human-oriented command line protocol defined by the System <strong>Management</strong> Architecture for <strong>Server</strong><br />
Hardware, used for managing systems<br />
3.10<br />
<strong>Command</strong> or <strong>Command</strong> <strong>Line</strong><br />
a text message containing the complete expression of a management action, including a command verb,<br />
an optional command target, options and option arguments, and properties and values<br />
12 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
366<br />
367<br />
368<br />
369<br />
370<br />
371<br />
372<br />
373<br />
374<br />
375<br />
376<br />
377<br />
378<br />
379<br />
380<br />
381<br />
382<br />
383<br />
384<br />
385<br />
386<br />
387<br />
388<br />
389<br />
390<br />
391<br />
392<br />
393<br />
394<br />
395<br />
396<br />
397<br />
398<br />
399<br />
400<br />
401<br />
402<br />
403<br />
404<br />
405<br />
406<br />
407<br />
3.11<br />
<strong>Command</strong> Processor<br />
the logical entity within a MAP responsible for parsing, interpreting, and executing incoming commands<br />
and returning responses<br />
3.12<br />
<strong>Command</strong> Response<br />
response returned by the CLP Service to a Client when a <strong>Command</strong> is issued<br />
The <strong>Command</strong> Response consists of <strong>Command</strong> Status and <strong>Command</strong> Results.<br />
3.13<br />
<strong>Command</strong> Results<br />
the actual results of a successful command returned as part of the <strong>Command</strong> Response<br />
3.14<br />
<strong>Command</strong> Status<br />
information returned by the CLP Service to a Client describing the overall status of a <strong>Command</strong><br />
3.15<br />
<strong>Command</strong> Status Data<br />
detailed information returned by the CLP Service to a Client describing the status of the <strong>Command</strong> as<br />
part of the <strong>Command</strong> Response<br />
3.16<br />
Core Properties<br />
properties for which the profile that owns the definition of the class does not stipulate any behavioral<br />
requirements<br />
However, the properties are defined in the MOF.<br />
3.17<br />
Current Default Target<br />
CDT<br />
the CLP session environment setting that establishes a default base address for all command targets that<br />
are expressed as a Relative Target Address and is used as the command target if a target term is not<br />
specified in a command entered<br />
3.18<br />
Implicit <strong>Command</strong> Target<br />
target acted upon that is inherent to the command being executed<br />
The command does not act upon either the Current Default Target or a target specified as part of the<br />
command. The cd command is an example of a command that acts upon an Implicit <strong>Command</strong> Target.<br />
3.19<br />
Keyword<br />
a text-string token that is recognized and reserved by the CLP to have a specified meaning when used in<br />
command output and input<br />
3.20<br />
Local Addressing Service<br />
the entity responsible for discovering, enumerating, and determining the addresses of Managed Elements<br />
and Associations within the Admin Domain<br />
Version 1.0.2 13
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
408<br />
409<br />
410<br />
411<br />
412<br />
413<br />
414<br />
415<br />
416<br />
417<br />
418<br />
419<br />
420<br />
421<br />
422<br />
423<br />
424<br />
425<br />
426<br />
427<br />
428<br />
429<br />
430<br />
431<br />
432<br />
433<br />
434<br />
435<br />
436<br />
437<br />
438<br />
439<br />
440<br />
441<br />
442<br />
443<br />
444<br />
445<br />
446<br />
447<br />
448<br />
449<br />
450<br />
451<br />
3.21<br />
Manageability Access Point<br />
MAP<br />
a service of a system that provides management in accordance with specifications of the <strong>DMTF</strong> System<br />
<strong>Management</strong> Architecture for <strong>Server</strong> Hardware<br />
3.22<br />
Managed Element<br />
ME<br />
the finest granularity of addressing, which can be the target of commands or messages, or a collection<br />
thereof<br />
3.23<br />
Managed Element Access Method<br />
the method by which a Managed Element performs a unit of work<br />
3.24<br />
Managed System<br />
a collection of Managed Elements that compose a computer system for which the MAP has management<br />
responsibilities<br />
3.25<br />
<strong>Management</strong> Service Core<br />
the logical entity that contains the core services set of the MAP<br />
3.26<br />
Non-addressing Association<br />
an association instance that is not used by the MAP in constructing the UFiP to any instances referenced<br />
by the association instance<br />
3.27<br />
OEM Properties<br />
properties added to instances of a class by an OEM vendor<br />
3.28<br />
OEM Target<br />
a Managed Element or Association whose properties, behavior, UFcT, and so on are outside the scope of<br />
this specification and are vendor dependent<br />
3.29<br />
OEM Verbs<br />
verbs defined by an OEM vendor that are outside the scope of this specification<br />
3.30<br />
Operation<br />
an identifiable activity of a MAP<br />
3.31<br />
Option<br />
a term of the <strong>Command</strong> <strong>Line</strong> that selects a particular behavior of a command verb<br />
3.32<br />
Option Argument<br />
input data passed to the command verb in relation to an option that selects a particular value for that<br />
option<br />
14 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
452<br />
453<br />
454<br />
455<br />
456<br />
457<br />
458<br />
459<br />
460<br />
461<br />
462<br />
463<br />
464<br />
465<br />
466<br />
467<br />
468<br />
469<br />
470<br />
471<br />
472<br />
473<br />
474<br />
475<br />
476<br />
477<br />
478<br />
479<br />
480<br />
481<br />
482<br />
483<br />
484<br />
485<br />
486<br />
487<br />
488<br />
489<br />
490<br />
491<br />
492<br />
493<br />
3.33<br />
Property<br />
an attribute of the command target<br />
3.34<br />
Relative Target Address<br />
a designation of target address in relation to the Current Default Target as opposed to an Absolute Target<br />
Address<br />
3.35<br />
Required Properties<br />
properties for which the profile that owns the definition of the class requires that instances of the class<br />
have values<br />
3.36<br />
Reserved String<br />
a text-string token that is recognized and reserved by the CLP to have a specified meaning when used as<br />
an option argument, argument value, or property value<br />
3.37<br />
Reserved Target<br />
a valid value for a target term that has a special meaning defined by this specification<br />
The meaning of a Reserved Target cannot be changed by a user nor can additional Reserved Targets be<br />
created.<br />
3.38<br />
Resultant Address<br />
the Target Address after applying the target address precedence rules<br />
3.39<br />
Resultant Target<br />
the effective target for a command after applying the target address precedence rules<br />
3.40<br />
Service Access Point<br />
SAP<br />
the representation of the endpoint or interface into a service, such as the CLP<br />
3.41<br />
SM CLP Verb<br />
a verb defined by this specification<br />
3.42<br />
Target<br />
the Managed Element or Association upon which a command acts<br />
3.43<br />
Target Address<br />
a string value used as the target term in a <strong>Command</strong> <strong>Line</strong> to identify the target for a command<br />
3.44<br />
Target Class Addressing<br />
a method of selecting Managed Elements within a container based on the UFcT of the element<br />
Version 1.0.2 15
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
494<br />
495<br />
496<br />
497<br />
498<br />
499<br />
500<br />
501<br />
502<br />
503<br />
504<br />
505<br />
506<br />
507<br />
508<br />
509<br />
510<br />
511<br />
512<br />
513<br />
514<br />
515<br />
516<br />
517<br />
518<br />
519<br />
520<br />
521<br />
522<br />
523<br />
524<br />
525<br />
526<br />
527<br />
528<br />
529<br />
530<br />
531<br />
532<br />
533<br />
534<br />
3.45<br />
Text Session or Text-Based Session<br />
an active connection to a service whereby the user can enter text-based messages and receive textbased<br />
data<br />
Examples of commonly used text sessions are Telnet and Secure Shell.<br />
3.46<br />
Transport<br />
the layers of the communication stack responsible for reliable transportation of commands and messages<br />
between the Client and the MAP<br />
3.47<br />
User-Friendly instance Tag<br />
UFiT<br />
user-friendly identifier for a specific instance of a CIM class<br />
A User-Friendly instance Tag is constructed by concatenating an integer suffix to the UFcT for the CIM<br />
class.<br />
3.48<br />
User-Friendly selection Tag<br />
UFsT<br />
short-hand notation for selecting all instances of a given class<br />
A User-Friendly selection Tag is constructed by concatenating the UFcT for a class with the character *.<br />
3.49<br />
User-Friendly class Tag<br />
UFcT<br />
a short, user-friendly alias for a CIM class name<br />
It has the same properties and methods as the CIM class it represents.<br />
3.50<br />
User-Friendly instance Path<br />
UFiP<br />
the unique path to an instance formed by concatenating the UFiTs of each instance from the root instance<br />
to the terminating instance<br />
3.51<br />
Verb<br />
the string name of a command, used as the first term of a <strong>Command</strong> <strong>Line</strong><br />
4 Symbols and Abbreviated Terms<br />
The following symbols and abbreviations are used in this document.<br />
4.1<br />
CDT<br />
Current Default Target<br />
4.2<br />
CIM<br />
Common Information Model<br />
16 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
535<br />
536<br />
537<br />
538<br />
539<br />
540<br />
541<br />
542<br />
543<br />
544<br />
545<br />
546<br />
547<br />
548<br />
549<br />
550<br />
551<br />
552<br />
553<br />
554<br />
555<br />
556<br />
557<br />
558<br />
559<br />
560<br />
561<br />
562<br />
563<br />
564<br />
565<br />
566<br />
567<br />
568<br />
569<br />
570<br />
571<br />
572<br />
573<br />
4.3<br />
CLP<br />
<strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong><br />
4.4<br />
MAP<br />
Manageability Access Point<br />
4.5<br />
ME<br />
Managed Element<br />
4.6<br />
NIC<br />
Network Interface Card<br />
4.7<br />
NVT<br />
Network Virtual Terminal<br />
4.8<br />
OEM<br />
Original Equipment Manufacturer<br />
4.9<br />
SMASH<br />
System <strong>Management</strong> Architecture for <strong>Server</strong> Hardware<br />
4.10<br />
SSHv2<br />
Secure Shell Version 2<br />
4.11<br />
UFcT<br />
User-Friendly class Tag<br />
4.12<br />
UFiT<br />
User-Friendly instance Tag<br />
4.13<br />
UFiP<br />
User-Friendly instance Path<br />
4.14<br />
UFsT<br />
User-Friendly selection Tag<br />
4.15<br />
WBEM<br />
Web Based Enterprise <strong>Management</strong><br />
Version 1.0.2 17
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
574<br />
575<br />
576<br />
577<br />
578<br />
579<br />
580<br />
581<br />
582<br />
583<br />
584<br />
585<br />
586<br />
587<br />
588<br />
589<br />
590<br />
591<br />
592<br />
593<br />
594<br />
595<br />
596<br />
597<br />
598<br />
599<br />
600<br />
601<br />
602<br />
603<br />
604<br />
605<br />
606<br />
607<br />
608<br />
609<br />
610<br />
611<br />
612<br />
5 <strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP)<br />
<strong>Specification</strong><br />
The following clauses detail the requirements for the SM CLP.<br />
5.1 Semantics<br />
The <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (CLP) defines the form and content of messages transmitted from and<br />
responses received by a Client within the context of a text-based session between that Client and the<br />
CLP Service for a Manageability Access Point (MAP).<br />
The CLP consists of a set of command verbs that manipulate command targets representing Managed<br />
Elements (ME) that are within the scope of access by a MAP.<br />
Each CLP interaction consists of a <strong>Command</strong> <strong>Line</strong> transmitted to the CLP Service and a subsequent<br />
response transmitted back to the Client. Each command transmitted generates one and only one<br />
response data transmission to the Client.<br />
5.1.1 <strong>Command</strong> Verb<br />
A CLP command verb retrieves information about a target or initiates a state change of the target. A CLP<br />
interaction shall consist of one and only one command verb.<br />
5.1.2 <strong>Command</strong> Options<br />
CLP command options control the behavior of the command verb. All CLP option names are standard<br />
across the CLP command verb set. Implementations of the CLP shall not redefine the usage of a CLP<br />
option name across different CLP command verbs.<br />
5.1.3 <strong>Command</strong> Target<br />
This clause details requirements related to the usage and interpretation of a command target.<br />
5.1.3.1 General<br />
The command target identifies the specific Managed Element or Association that is to be affected by the<br />
command verb. All CLP commands have a command target, whether explicitly or implicitly identified. An<br />
explicitly identified target is a target address path that is included in the <strong>Command</strong> <strong>Line</strong> entered. An<br />
implicitly identified target is a target that is not identified in the <strong>Command</strong> <strong>Line</strong> entered but either is<br />
dictated by the command verb itself or is referenced from the session environment variable "Current<br />
Default Target". Implementations shall interpret command verbs submitted to the CLP only for the<br />
Resultant Target. The CLP also defines Reserved Targets. Reserved Targets are strings whose<br />
interpretation is defined by this specification. Reserved Targets can be used to construct the command<br />
target term. Implementations shall not define Reserved Targets beyond the ones defined in this<br />
specification. Implementations shall interpret Reserved Targets in accordance with the meaning assigned<br />
to them by this specification.<br />
This version of the SM CLP <strong>Specification</strong> supports the <strong>Server</strong> <strong>Management</strong> Managed Element (SM ME)<br />
Addressing <strong>Specification</strong> v1.0 (128H5HDSP0215).<br />
5.1.3.2 Current Default Target<br />
A Current Default Target address shall always be in effect during a CLP session. This target is used by<br />
the <strong>Command</strong> Processor to determine the Resultant Target for the command according to the rules of<br />
target address precedence defined in 129H5.1.3.3.<br />
18 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
613<br />
614<br />
615<br />
616<br />
617<br />
618<br />
619<br />
620<br />
621<br />
622<br />
623<br />
624<br />
625<br />
626<br />
627<br />
628<br />
629<br />
630<br />
631<br />
632<br />
633<br />
634<br />
635<br />
636<br />
637<br />
638<br />
639<br />
640<br />
641<br />
642<br />
643<br />
644<br />
645<br />
646<br />
647<br />
648<br />
649<br />
650<br />
651<br />
652<br />
653<br />
654<br />
655<br />
656<br />
657<br />
A session’s Current Default Target is only modified if set explicitly by a user. The rules for establishing<br />
and maintaining a session’s Current Default Target are as follows:<br />
• Implementations shall set the Current Default Target to the instance address of the root of the<br />
address space of the MAP upon CLP session activation. Implementations shall use the same<br />
initial value for the CDT for all users and shall not allow the initial value to be configurable by a<br />
user.<br />
– Therefore, Current Default Target is never at CLP session start.<br />
– If a user sets the CDT to another target address and then ends the session, on the next<br />
login by the user to a CLP session of the same MAP, the implementation shall set the CDT<br />
to the UFiP of the Managed Element that represents the root of address space of the MAP.<br />
• The <strong>Command</strong> Processor shall not allow the user to explicitly set the Current Default Target to<br />
an invalid target address during the session.<br />
• If the user attempts to set the Current Default Target to a target address for a Managed Element<br />
that is not responding or is not recognized as being in the scope of the MAP, then the attempt<br />
fails, and the implementation shall not change the Current Default Target and shall return a<br />
<strong>Command</strong> Status of COMMAND EXECUTION FAILED and a CIM Status of<br />
CIM_ERR_NOT_FOUND.<br />
• If a Managed Element becomes unresponsive at some point after it has been set as the Current<br />
Default Target, then the implementation shall return an appropriate error code and shall keep<br />
the Current Default Target address set to its current value until the user explicitly changes it to a<br />
different, valid target address. This prevents spurious drops in communication with the Current<br />
Default Target from causing an automatic change in the Current Default Target. Because<br />
unpredictable, undesired results would occur if the Current Default Target is automatically<br />
changed, the <strong>Command</strong> Processor shall not automatically change the value of the Current<br />
Default Target, for any reason.<br />
EXAMPLE A user sets the CDT to "/system1/disk3". Some time later, /system1/disk3 becomes<br />
unresponsive. As long as the user does not target the CDT with a command, there is no impact on the user’s<br />
current session. If the user decides to target /system1/disk3 by omitting the target term of the current command,<br />
the CLP implementation would discover that the target ME, /system1/disk3, is unresponsive and return an error<br />
code.<br />
5.1.3.3 Target Address Precedence<br />
The implementation shall determine the Resultant Target of a command in the order that follows:<br />
1) If the command verb has an Implicit <strong>Command</strong> Target, then the Implicit <strong>Command</strong> Target shall<br />
be selected as the Resultant Target.<br />
2) If a command target term is specified in the <strong>Command</strong> <strong>Line</strong>, the implementation shall apply the<br />
Target Address Evaluation Rules to derive the Resultant Target. These rules are detailed in<br />
130H5.2.1.3.6.<br />
3) If the <strong>Command</strong> <strong>Line</strong> did not include a command target term, the implementation shall select<br />
the CDT as the Resultant Target.<br />
If the Resultant Target is determined by the implementation to be invalid, then the implementation shall<br />
not execute the command and shall return a <strong>Command</strong> Status of COMMAND EXECUTION FAILED and<br />
a CIM Status of CIM_ERR_NOT_FOUND in the <strong>Command</strong> Response data. CLP commands that have an<br />
Implicit <strong>Command</strong> Target may still accept a command target term (for example, the cd command) or may<br />
not accept a command target term (for example, the exit command). Each command’s use of the<br />
command target term is documented in the subclause of Clause 131H6 devoted to the command.<br />
Version 1.0.2 19
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
658<br />
659<br />
660<br />
661<br />
662<br />
663<br />
664<br />
665<br />
666<br />
667<br />
668<br />
669<br />
670<br />
671<br />
672<br />
673<br />
674<br />
675<br />
676<br />
677<br />
678<br />
679<br />
680<br />
681<br />
682<br />
683<br />
684<br />
685<br />
686<br />
687<br />
688<br />
689<br />
690<br />
691<br />
692<br />
693<br />
694<br />
695<br />
696<br />
697<br />
698<br />
699<br />
700<br />
5.1.3.4 Target Managed Element Object Model and Semantics<br />
The CLP is designed for administrators and scripts that manage systems. At the same time, the CLP<br />
conforms to the object model described by the 132H4HCommon Information Model (CIM) Schema, version<br />
2.12.<br />
The CLP defines a set of general command verbs used to manipulate Managed Elements. In many<br />
cases, CLP verbs relate directly to typical object interactions, such as "set property value", "read property<br />
value", "put into a particular state", and so on. In other cases, CLP verbs are interpreted in the context of<br />
the Managed Element and map to particular methods of that Managed Element’s class.<br />
The CLP verb definitions in Clause 133H6 describe each CLP command verb in detail.<br />
134H32HDSP0216 describes the full mapping of the CLP to the CIM. For each CIM class, 135H32HDSP0216 describes the<br />
behavior of commands applied to a target instance of the class. The specification also describes the<br />
property names of those targets that are referenced or manipulated by the command.<br />
In the CLP, Managed Elements have the following aspects:<br />
• Properties<br />
These are properties of the Managed Element itself and are described in more detail in 136H5.1.4.<br />
• Contained Targets<br />
This is the set of Managed Elements immediately contained in the Managed Element according<br />
to the rules of instance containment described in 137H5.1.3.5.<br />
• Associations<br />
This is the set of associations that reference the Managed Element. They are described in more<br />
detail in 138H5.1.5.<br />
• Verbs<br />
This is the set of commands that are applicable to the Managed Element. The SM CLP verbs<br />
are described in Clause 139H6.<br />
5.1.3.5 Target Addressing<br />
CLP target addressing is defined by 140H5HDSP0215. CLP implementations shall operate only on command<br />
target terms that adhere to 141H5HDSP0215 or to the rules for identifying OEM targets described in 142H5.2.6.<br />
The specific arrangements of Managed Elements that a MAP may expose are documented in 143H5HDSP0215<br />
and SMASH Implementation Requirements (144H33HDSP0217). The SM CLP separates Managed Elements into<br />
two categories of targets: CLP Targets and OEM Targets. CLP Targets are Managed Elements whose<br />
properties, behavior, UFcT, and so on are wholly defined by the profiles approved for use with the CLP.<br />
OEM Targets are Managed Elements whose properties, behavior, UFcT, and so on are outside the scope<br />
of the profiles approved for use with the CLP and are vendor dependent.<br />
5.1.3.6 Aggregated Targets<br />
<strong>Command</strong> targets may be an aggregation of underlying components. These underlying components may<br />
be visible in the address space of the MAP. When the command target is composed of aggregated parts,<br />
the <strong>Command</strong> Processor shall interpret the command for the aggregated target as a single job and return<br />
a <strong>Command</strong> Response accordingly.<br />
The implementation may rely on the target Managed Element to implement the aggregated command<br />
function. One example of an aggregated target is an operating system. When a user issues a stop to an<br />
operating system instance, a single job is spawned. The operating system may attempt to shut down<br />
applications running within it. This action taken by the operating system is not modeled with jobs, and the<br />
results for individual applications are not displayed in the <strong>Command</strong> Results.<br />
20 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
701<br />
702<br />
703<br />
704<br />
705<br />
706<br />
707<br />
708<br />
709<br />
710<br />
711<br />
712<br />
713<br />
714<br />
715<br />
716<br />
717<br />
718<br />
719<br />
720<br />
721<br />
722<br />
723<br />
724<br />
725<br />
726<br />
727<br />
728<br />
729<br />
730<br />
731<br />
732<br />
733<br />
734<br />
735<br />
736<br />
737<br />
738<br />
739<br />
740<br />
741<br />
742<br />
743<br />
744<br />
5.1.3.7 Target Grouping by Class<br />
"Grouping" describes the ability of a user to explicitly select more than one target for a command at the<br />
time the command is issued. The only method defined by the CLP for addressing multiple targets with a<br />
single command is Target Class Addressing.<br />
If the final term of the command target term is a UFsT, in general the <strong>Command</strong> Processor interprets the<br />
command target term as a selector for all Managed Elements of the class specified that are in the<br />
immediate container.<br />
Implementations shall support Target Class Addressing for the show command. Implementations may<br />
support Target Class Addressing for the create and delete commands. Implementations shall not<br />
support Target Class Addressing for CLP commands other than the show, create, and delete<br />
commands. When Target Class Addressing is utilized for a command, the implementation shall select the<br />
instances to be the target of the command by using the Rules for Selecting Instances by UFcT defined in<br />
145H5HDSP0215, where the Selection UFcT is the UFcT identified by the UFsT specified in the command target<br />
term.<br />
EXAMPLE The command target term "/system3/disk*" instructs the <strong>Command</strong> Processor to issue the<br />
command for all targets with an UFcT of "disk" in the container "/system3".<br />
5.1.4 <strong>Command</strong> Target Properties<br />
Target properties are identifying and descriptive information related to and defined by the target. Target<br />
properties are identified by property names. Each class of target defines a set of valid property names.<br />
Valid property names are found in the CIM Schema Managed Object Files (MOFs). Vendors may support<br />
vendor-specific property names according to the rules defined in 146H5.2.6 of this specification. The SM CLP<br />
recognizes three categories of properties:<br />
• Required Properties are properties that the profile defining the class of the target deems<br />
required for compliance with the profile. These properties will be present for the instance across<br />
implementations.<br />
• Core Properties are properties that are defined for the class of the target in the CIM schema.<br />
The profile that defines the class does not require these properties; however, they may be used<br />
because they are defined in the MOF. Note that this includes any deprecated properties which<br />
are still defined in the MOF. They may be present across implementations.<br />
• OEM Properties are properties defined by an OEM vendor for a target. These properties will not<br />
be consistent across different vendors’ implementations.<br />
5.1.5 Associations<br />
147H5HDSP0215 specifies the Association Classes that may be used to construct paths to address any Managed<br />
Element appearing within the scope of the MAP. 148H5HDSP0215 identifies these as Addressing Associations.<br />
Additional associations that are not used for addressing may exist and express relationships between<br />
Managed Elements. 149H5HDSP0215 identifies these as Non-addressing Associations. Associations represent a<br />
special type of target. Association instances are not assigned UFiTs. For a given association class,<br />
instances are uniquely identified by the Managed Element instances they reference. They can be<br />
addressed using an extension of the target addressing syntax. 150H5.2.1.3.5 describes how to use the<br />
association separator "=>" to address association instances. 151H6.10 and 152H6.11 illustrate the use of the set<br />
and show commands, respectively. Associations have properties which follow the rules for <strong>Command</strong><br />
Target Properties as identified in 153H5.1.4.<br />
5.1.6 <strong>Command</strong> Processing<br />
This clause states the requirements for the processing of a CLP <strong>Command</strong> <strong>Line</strong>.<br />
Version 1.0.2 21
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
745<br />
746<br />
747<br />
748<br />
749<br />
750<br />
751<br />
752<br />
753<br />
754<br />
755<br />
756<br />
757<br />
758<br />
759<br />
760<br />
761<br />
762<br />
763<br />
764<br />
765<br />
766<br />
767<br />
768<br />
769<br />
770<br />
771<br />
772<br />
773<br />
774<br />
775<br />
776<br />
777<br />
778<br />
779<br />
780<br />
781<br />
782<br />
783<br />
784<br />
785<br />
786<br />
787<br />
788<br />
789<br />
790<br />
791<br />
792<br />
793<br />
794<br />
5.1.6.1 General<br />
Implementations of the CLP shall return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and a<br />
Processing Error of COMMAND SYNTAX ERROR if a completely formed command is not contained in a<br />
single text message transmission of the underlying transport protocol. Implementations shall validate<br />
every <strong>Command</strong> <strong>Line</strong> against the clp-command-line production of the grammar specified in<br />
154HAnnex A. When a <strong>Command</strong> <strong>Line</strong> does not comply with the clp-command-line production of the<br />
grammar defined in 155HAnnex A, the implementation shall return a <strong>Command</strong> Status of COMMAND<br />
PROCESSING ERROR and a Processing Error of COMMAND SYNTAX ERROR. There are error<br />
conditions identified by this specification that can be detected by validation against the grammar for which<br />
this specification identifies specific values for Processing Error that are required to be returned instead.<br />
When specified, the requirement to return specific values supersedes the requirement to return the<br />
general COMMAND SYNTAX ERROR.<br />
EXAMPLE The create command requires a command target term to be specified. The specific Processing<br />
Error of MISSING REQUIRED TARGET is required to be returned if the command target term is not included.<br />
The grammar also requires that a command target term be specified in the create-cmd production. Thus, if a<br />
command target term is not specified, the <strong>Command</strong> <strong>Line</strong> will fail validation against the grammar and a<br />
COMMAND SYNTAX ERROR would be appropriate. However, this general Processing Error is superseded by<br />
the specific Processing Error specified for the error condition.<br />
5.1.6.2 Job Visibility<br />
A command is processed by the <strong>Command</strong> Processor component of the SM architecture. The <strong>Command</strong><br />
Processor returns a response and control to the Client for each command received. <strong>Command</strong>s and the<br />
subordinate activities generated when processing commands are tracked by the implementation. A job is<br />
defined as an identifiable activity of a MAP. The implementation spawns and manages jobs for a<br />
command and any subsequent actions that are taken to carry out the command request. When an<br />
implementation receives a command, the command becomes a job. The command job may generate<br />
additional subordinate Managed Element jobs in order to complete the task requested by the command<br />
verb, but the implementation shall not expose these jobs through the CLP. The command job shall<br />
continue to exist until any and all jobs spawned by the command have completed, a <strong>Command</strong> Response<br />
has been returned to the Client, and the Time Before Removal has not expired.<br />
By default, the implementation shall return a <strong>Command</strong> Response and session control to the Client within<br />
a reasonable period of time, regardless of the status of command execution. Returning a response and<br />
control prevents the CLP session from blocking indefinitely if a command takes an unreasonable amount<br />
of time. The definition of "a reasonable period of time" is implementation specific. Any mechanisms for<br />
modifying this value are outside the scope of this specification and are implementation specific.<br />
When the implementation returns a <strong>Command</strong> Response synchronous with completion of the command<br />
job, the <strong>Command</strong> Response shall contain the <strong>Command</strong> Status and the complete <strong>Command</strong> Results.<br />
When the implementation returns a <strong>Command</strong> Response before the command job completes, the<br />
<strong>Command</strong> Response shall contain the <strong>Command</strong> Status of COMMAND SPAWNED and the Job Identifier<br />
for the continuing command job.<br />
The implementation shall manage the command job until it completes and persist the <strong>Command</strong> Status<br />
when complete, identified by the Job Identifier. The implementation is not required to maintain the<br />
<strong>Command</strong> Results for the command. Implementations shall recognize the Job Identifier as an identifier<br />
used to obtain status information about the continuing command and to retrieve the <strong>Command</strong> Status<br />
when the command job is complete. The Job Identifier shall be the Instance Suffix for the UFiT of the<br />
instance of CIM_ConcreteJob used to represent the job in the job queue. After the <strong>Command</strong> Status<br />
holding time has expired, the corresponding job is deleted and the Job Identifier is released.<br />
Implementations shall also implement a user-controlled holding time for <strong>Command</strong> Status, controlled by a<br />
per-command option. Use of this option is documented in Error! Reference source not found.. Every<br />
command job has a Time Before Removal associated with it. The Time Before Removal indicates the<br />
amount of time that a command job is managed by the MAP after completion. The command job itself is<br />
22 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
795<br />
796<br />
797<br />
798<br />
799<br />
800<br />
801<br />
802<br />
803<br />
804<br />
805<br />
806<br />
807<br />
808<br />
809<br />
810<br />
811<br />
812<br />
813<br />
814<br />
815<br />
816<br />
817<br />
818<br />
819<br />
820<br />
821<br />
822<br />
823<br />
824<br />
825<br />
826<br />
827<br />
828<br />
829<br />
830<br />
831<br />
832<br />
833<br />
834<br />
835<br />
represented with an instance of CIM_ConcreteJob. The Time Before Removal of the command job is<br />
modeled with the TimeBeforeRemoval property of the CIM_ConcreteJob instance.<br />
Jobs are themselves Managed Elements of the system; therefore, the implementation shall support<br />
display of information about a job and the ability to request a job to stop before completion using CLP<br />
commands. If the implementation is unable to start a job to execute a command, the implementation shall<br />
return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and a Processing Error of QUEUE<br />
FULL.<br />
5.1.6.3 Error Handling<br />
The CLP Service checks CLP commands for syntax and semantic errors. When a command is formed<br />
incorrectly or the command cannot be executed for the specified target because the target is not in an<br />
appropriate state, the implementation shall return an error/exception status in the <strong>Command</strong> Status data<br />
and no <strong>Command</strong> Results.<br />
When a command is syntactically correct and semantically appropriate, the implementation shall attempt<br />
to perform the appropriate operations for the command target. If one or more operations fail, the<br />
implementation shall return a <strong>Command</strong> Response containing both a <strong>Command</strong> Status and <strong>Command</strong><br />
Results, including any error/exception information generated by the command target.<br />
Implementations shall include all detected syntax errors first in the <strong>Command</strong> Status data.<br />
Implementations shall include all detected semantic errors in the <strong>Command</strong> Status data.<br />
If the <strong>Command</strong> Processor detects a syntax error, the implementation shall report an error and the<br />
implementation shall not alter the state of the Target. If the <strong>Command</strong> Processor detects a semantic error,<br />
the implementation shall report an error and should not alter the state of the Target.<br />
<strong>Command</strong> Status output is defined by the CLP and is documented in 156H5.2.2.<br />
<strong>Command</strong> Results output is defined for each CLP command and is documented in Clause 157H6.<br />
5.1.7 SESSION Reserved Target<br />
Sessions with the CLP Service are represented as Managed Elements within the address space of the<br />
MAP. This enables users of the CLP to manage attributes of the session using standard CLP commands.<br />
Users will frequently wish to manage attributes of their own session with the CLP Service. To simplify<br />
accessing the Managed Element that represents the user’s session, the CLP defines a reserved keyword<br />
"SESSION". Implementations shall interpret the keyword "SESSION" as the fully qualified path to the<br />
Managed Element that represents the session of the user issuing the command.<br />
5.1.8 UFiT Assignment<br />
Individual Managed Elements within the address space of the map are identified by a UFiT. The UFiT is<br />
constructed by concatenating an integer suffix to the UFcT for the class of the Managed Element. The<br />
rules for assigning and maintaining UFiTs are defined in 158H5HDSP0215.<br />
5.1.9 Input Data<br />
This clause states requirements for the handling of input data.<br />
5.1.9.1 General<br />
Implementations of the CLP shall not allow inclusion of input data embedded in the text session<br />
(sometimes referred to as "streaming"). A data file or stream can be selected for input to a CLP command<br />
by reference only using a command-specific option.<br />
EXAMPLE To input a firmware image for reloading firmware, the option –source is used.<br />
Version 1.0.2 23
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
836<br />
837<br />
838<br />
839<br />
840<br />
841<br />
842<br />
843<br />
844<br />
845<br />
846<br />
847<br />
848<br />
849<br />
850<br />
851<br />
852<br />
853<br />
854<br />
855<br />
856<br />
857<br />
858<br />
859<br />
860<br />
861<br />
862<br />
863<br />
864<br />
865<br />
866<br />
867<br />
868<br />
869<br />
870<br />
871<br />
872<br />
873<br />
874<br />
875<br />
876<br />
877<br />
878<br />
879<br />
880<br />
5.1.9.2 Data Passed in on <strong>Command</strong> <strong>Line</strong><br />
Data may be provided as input to a command through an option argument, option argument value, or a<br />
property value. Each command verb defines the options and option arguments that it accepts. The class<br />
of command target defines the properties that are accepted by the command. Implementations shall<br />
enforce a maximum length of 255 characters for any single term in a command. If a single term exceeds a<br />
maximum length of 255 characters, the implementation shall not execute the command and shall return a<br />
<strong>Command</strong> Status of COMMAND PROCESSING FAILED and a Processing Error of COMMAND SYNTAX<br />
ERROR.<br />
5.1.10 Output Data<br />
This clause states requirements related to output data.<br />
5.1.10.1 General<br />
The semantics of CLP command output data are defined by the CLP output data schema. The CLP<br />
output data schema defines the attributes and organization of the data elements returned in response to a<br />
CLP command. When a command is issued, in the absence of transport errors, the implementation shall<br />
return a <strong>Command</strong> Response data element as the response before any other text that is appended.<br />
Implementations shall include a <strong>Command</strong> Status data element in the <strong>Command</strong> Response data element<br />
and may include a <strong>Command</strong> Results data element. Implementations shall always return <strong>Command</strong><br />
Status data first in a <strong>Command</strong> Response.<br />
The CLP syntax defines the keywords and value specifications (data types and ranges or domains) that<br />
are used to document CLP command output.<br />
CLP output data is rendered in character form according to the rules set forth in 159H5.2.4 and 160H5.2.1.1. By<br />
default, a CLP session renders all output data in an output format called "text". Text output format is<br />
defined to be human-readable text that is not suitable for machine-parsing and will vary across<br />
implementations. In order to parse output data according to the CLP output data schema, selection of one<br />
of the CLP’s structured output formats is recommended. These formats are "keyword" and "clpxml".<br />
Implementations shall use the attribute keywords consistently to identify output data elements in each of<br />
the output formats. For example, the keyword "status" is rendered as a keyword in a "keyword=value"<br />
expression in "keyword" format and as an XML tag in "clpxml" format.<br />
Text mode output is optimized for human readability and is likely to vary from implementation to<br />
implementation and in situation to situation. For example, when in text output mode, <strong>Command</strong> Status<br />
Data may not display the numeric value of the status code when the command is successful but instead<br />
simply describe the resulting condition of the target after the command has completed. For example,<br />
when the command "stop system1" completes successfully, the text mode output may simply state<br />
"system1 stopped". By contrast, when a structured output mode is selected, the implementation shall<br />
include all of the required and supported optional elements of the <strong>Command</strong> Status Data in the output.<br />
The CLP Output Data Schema is documented in 161H5.2.2.<br />
The following clauses contain data definitions for the output data elements in the CLP Output Data<br />
Schema.<br />
5.1.10.2 <strong>Command</strong> Status Data Elements<br />
This clause states requirements related to <strong>Command</strong> Status Data Elements.<br />
5.1.10.2.1 General<br />
<strong>Command</strong> Status data elements communicate the status of the command to the Client. Depending on the<br />
command verb and user-selected options, a command may continue to run after returning a response<br />
and control to the Client. In this case, the <strong>Command</strong> Status data also includes a Job Identifier that can be<br />
used to display the status of the command job at a later time.<br />
24 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
881<br />
882<br />
883<br />
884<br />
885<br />
886<br />
887<br />
888<br />
889<br />
890<br />
891<br />
892<br />
893<br />
894<br />
895<br />
896<br />
897<br />
898<br />
899<br />
900<br />
901<br />
902<br />
903<br />
904<br />
905<br />
906<br />
907<br />
908<br />
909<br />
910<br />
911<br />
912<br />
913<br />
914<br />
915<br />
916<br />
917<br />
918<br />
919<br />
920<br />
921<br />
The implementation shall return the <strong>Command</strong> Status data element as the first data element in a<br />
<strong>Command</strong> Response. Implementations shall not include any data elements or properties in the <strong>Command</strong><br />
Status data element other than those defined here.<br />
The <strong>Command</strong> Status data element includes<br />
• a Status property<br />
• a Status Tag property<br />
• a Processing Error property<br />
• a Processing Error Tag property<br />
• one or more Message data elements<br />
• a Job data element<br />
The Status property describes the outcome of the command. The <strong>Command</strong> Status documents the<br />
disposition of the command from the perspective of the CLP Session protocol. Status for each command<br />
is one of four values: COMMAND COMPLETED, COMMAND SPAWNED, COMMAND PROCESSING<br />
FAILED, or COMMAND EXECUTION FAILED. If the command fails, then the Client can examine the<br />
subsequent <strong>Command</strong> Status data element to determine the cause of the failure. The Status Tag<br />
property is the descriptive string corresponding to the numeric value of the Status property. The complete<br />
list of Status and Status Tag values are listed in 162HTable 4.<br />
Processing Errors are conditions detected by the <strong>Command</strong> Processor prior to creating a job to execute<br />
the command. These are generally syntax-related errors. Two properties are defined for a Processing<br />
Error. The Processing Error property identifies the specific error that occurred when processing the<br />
command. The Processing Error Tag property is the descriptive string corresponding to the numeric value<br />
of the Processing Error property. The complete list of Processing Errors is in 163HTable 6.<br />
Implementations may support the Status Tag and Processing Error Tag properties.<br />
5.1.10.2.2 Message Data Elements<br />
The Message element is a text message that describes the disposition of the command. By default, the<br />
status message is presented in English text.<br />
The Message data element includes<br />
• a Message property<br />
• an Owning Entity property<br />
• a Message Id property<br />
• one or more Message Argument properties<br />
When the Message data element is included in a <strong>Command</strong> Response, the implementation shall include<br />
the Message, Owning Entity, and Message Id properties, and may include one or more Message<br />
Argument properties. Implementations shall ensure that the value of the Message Id property together<br />
with the value of the Owning Entity property is unique. The Client can use these values to identify<br />
corresponding language translations of the <strong>Command</strong> Status message.<br />
To guarantee uniqueness, the Owning Entity property shall include a prefix string that uniquely identifies<br />
the entity that owns and defines the Owning Entity value. The prefix string shall include a copyrighted,<br />
trademarked, or otherwise unique name that is owned by the business entity or standards body defining<br />
the owning entity string. The implementation shall not return a status message that exceeds 256<br />
characters. Implementations may support the Message data element.<br />
Version 1.0.2 25
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
922<br />
923<br />
924<br />
925<br />
926<br />
927<br />
928<br />
929<br />
930<br />
931<br />
932<br />
933<br />
934<br />
935<br />
936<br />
937<br />
938<br />
939<br />
940<br />
941<br />
942<br />
943<br />
944<br />
945<br />
946<br />
947<br />
948<br />
949<br />
950<br />
951<br />
952<br />
953<br />
954<br />
955<br />
956<br />
957<br />
958<br />
959<br />
960<br />
961<br />
962<br />
5.1.10.2.3 Job Data Elements<br />
The Job data element describes the job created to execute the command.<br />
The Job data element includes<br />
• a Job Identifier property<br />
• a Job Error data element<br />
The Job Identifier is used to identify the MAP job that represents the command execution. The Job<br />
Identifier is used to query for <strong>Command</strong> Status at a later time. The value of the Job Identifier property is<br />
the Job Identifier for the job spawned by the MAP to process a command. The implementation shall<br />
include the Job Identifier property whenever it returns a Job data element in a <strong>Command</strong> Response.<br />
Job Errors are conditions that are detected by the implementation or by the Managed Element target of<br />
the command. These errors are detected after a job is created to execute the command. The Job Error<br />
properties provide details of the cause of the command failure. The Job Error data element includes<br />
• an Execution Error property<br />
• an Execution Error Tag property<br />
• one or more Message data elements<br />
• a CIM Status property<br />
• a CIM Status Description property<br />
• a Severity property<br />
• a Severity Description property<br />
• a Probable Cause property<br />
• a Probable Cause Description property<br />
• one or more Recommended Action properties<br />
• an Error Source property<br />
• an Error Source Form property<br />
• an Error Source Form Description property<br />
When the Job Error data element is included in a <strong>Command</strong> Response, the implementation shall include<br />
the Execution Error, CIM Status, and Severity properties. When the Job Error data element is included in<br />
a <strong>Command</strong> Response, the implementation may include Message data elements and may include any<br />
other properties of the Job Error data element not explicitly required. A complete description of Job Error<br />
properties and values is found in 164H5.2.3.2.<br />
The implementation shall include the Status property in the <strong>Command</strong> Status data element.<br />
Implementations may include the Status Tag property and may include the Message data element. The<br />
implementation shall not include the Processing Error or Processing Error Tag properties in the<br />
<strong>Command</strong> Status data element unless the <strong>Command</strong> Status is COMMAND PROCESSING FAILED.<br />
When the <strong>Command</strong> Status is COMMAND PROCESSING FAILED, the implementation shall include the<br />
Processing Error property in the <strong>Command</strong> Status data element.<br />
When the <strong>Command</strong> Status is COMMAND EXECUTION FAILED, the implementation shall include the<br />
Job data element in the <strong>Command</strong> Status data element and shall include the Job Error data element in<br />
the Job data element.<br />
When the <strong>Command</strong> Status is COMMAND PROCESSING FAILED, the implementation shall not include<br />
the Job data element in the <strong>Command</strong> Status data element.<br />
26 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
963<br />
964<br />
965<br />
966<br />
967<br />
968<br />
969<br />
970<br />
971<br />
972<br />
973<br />
974<br />
975<br />
976<br />
977<br />
978<br />
979<br />
980<br />
981<br />
982<br />
983<br />
984<br />
985<br />
986<br />
987<br />
988<br />
989<br />
990<br />
991<br />
992<br />
993<br />
994<br />
995<br />
996<br />
997<br />
998<br />
999<br />
1000<br />
1001<br />
1002<br />
When the <strong>Command</strong> Status is COMMAND SPAWNED, the implementation shall include the Job data<br />
element in the <strong>Command</strong> Status data element and shall not include the Job Error data element in the Job<br />
data element.<br />
When the <strong>Command</strong> Status is COMMAND COMPLETED, the implementation shall include the Job data<br />
element in the <strong>Command</strong> Status data element and shall not include the Job Error data element in the Job<br />
data element. When the <strong>Command</strong> Status is Completed, the implementation shall include the <strong>Command</strong><br />
Results data element in the <strong>Command</strong> Response.<br />
5.1.10.3 <strong>Command</strong> Results Data Elements<br />
The output data elements for <strong>Command</strong> Results are defined by command verb-specific <strong>Command</strong><br />
Results schema.<br />
<strong>Command</strong> Results data elements include<br />
• command-specific output data elements as defined by the command verb’s specification<br />
• target-specific data elements as defined by the SM Profiles<br />
The specification for each CLP command verb documents the applicable <strong>Command</strong> Results schema for<br />
that command. See Clause 165H6 for command specifications and their corresponding <strong>Command</strong> Result<br />
schema.<br />
In addition, CLP commands return output data that is relevant to the particular Managed Elements or<br />
Associations that were identified as the command target. Target-specific data elements are returned in<br />
the <strong>Command</strong> Results data.<br />
See 166H32HDSP0216 for the keywords and value specifications that are relevant to each class of the target<br />
Managed Element.<br />
5.1.11 Session Prompt<br />
CLP session output shall include a session prompt. The CLP defines a specific output format and<br />
character string that are used to delineate the session prompt.<br />
CLP session output shall be of the following form:<br />
<br />
where<br />
• OUTPUT is the <strong>Command</strong> Response. The <strong>Command</strong> Response shall be formatted<br />
according to one of the CLP-defined output formats.<br />
• IMP PROMPT is the implementation’s optional prompt string, which shall not contain the<br />
CLP PROMPT string.<br />
• CLP PROMPT is the CLP standard prompt string, "-> ". The CLP prompt string shall<br />
appear after each <strong>Command</strong> Response.<br />
Implementations shall include the CLP prompt string, "-> " (hyphen, greater than, space) after every<br />
<strong>Command</strong> Response returned to the Client. Implementations shall not return any text after the prompt.<br />
Implementations may omit an implementation-provided prompt string. If the implementation provides an<br />
implementation prompt string, the implementation shall insert the prompt string after the CLP <strong>Command</strong><br />
Response data and before the CLP prompt string.<br />
Implementations may vary the implementation prompt string from <strong>Command</strong> Response to <strong>Command</strong><br />
Response. The implementation is not required to maintain a consistent prompt string.<br />
Version 1.0.2 27
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1003<br />
1004<br />
1005<br />
1006<br />
1007<br />
1008<br />
1009<br />
1010<br />
1011<br />
1012<br />
1013<br />
1014<br />
1015<br />
1016<br />
1017<br />
1018<br />
1019<br />
1020<br />
1021<br />
1022<br />
1023<br />
1024<br />
1025<br />
1026<br />
1027<br />
1028<br />
1029<br />
1030<br />
1031<br />
1032<br />
1033<br />
The CLP is a command-response text-based message protocol. An implementation of the CLP Service<br />
shall return a response to each command presented by the Client. Implementations of the CLP Service<br />
shall not accept any further commands from the Client until after the implementation returns a <strong>Command</strong><br />
Response for the currently outstanding command.<br />
Because the CLP is primarily for use by a human user, the CLP Service shall return a <strong>Command</strong><br />
Response within a "reasonable amount of time". The CLP Service shall be capable of spawning any<br />
commands that it determines to be long running. When commands are spawned, the CLP Service shall<br />
return an interim <strong>Command</strong> Response containing the Job Identifier that is to be used by the Client to<br />
retrieve the <strong>Command</strong> Status and results when the command completes.<br />
5.1.12 Extending the <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong><br />
The CLP can be extended by a vendor in one of the following ways:<br />
• supplying vendor-specific command verbs, options, target addresses, or properties<br />
• adding vendor-specific information to standard CLP command verb output<br />
Vendor extensions are conspicuously named as described in 167H5.2.6 so that the user is aware that the use<br />
of the extension is non-standard. The syntax clause of this document defines areas of vendor extensibility<br />
and the requirements in effect for those extensions.<br />
5.2 Syntax<br />
The CLP implements a small and easily remembered set of verbs (Clause 168H6) that apply across the entire<br />
target address space (169H5.1.3). This allows users to quickly understand the function available to them and<br />
then apply that knowledge across a wide variety of environments. These verbs provide a consistent set of<br />
output (170H5.1.10), which further simplifies understanding by both the new and experienced user as they<br />
move from implementation to implementation and from simple to complex behaviors. As users become<br />
more experienced and sophisticated, they can further refine the behavior of these verbs using a set of<br />
<strong>Command</strong> <strong>Line</strong> options that are also standard across the entire CLP verb space (Clause 171H7).<br />
5.2.1 Basic <strong>Command</strong> Syntax<br />
The SM CLP basic command syntax is described in the following clauses.<br />
5.2.1.1 Character Set, Delimiters, Special, and Reserved Characters<br />
All implementations of the CLP shall interpret the characters provided by the transport as UTF8<br />
representation of the characters, including those in 172HTable 1, and shall interpret the characters in 173HTable 1<br />
according to the description included in 174HTable 1.<br />
Table 1 – CLP Reserved Characters and Character Sequences<br />
Character or<br />
Sequence Name Description / Uses<br />
" " space <strong>Command</strong> line term separator.<br />
` escape character Escape character (the backquote character), used in front of<br />
reserved characters to instruct the command parser to use the<br />
reserved character without special meaning. When the escape<br />
character is not followed by a reserved character, it is treated as a<br />
normal character in the string that contains it.<br />
<br />
<br />
<br />
end-of-line<br />
Each of these sequences is accepted as an end-of-line indicator.<br />
28 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
Character or<br />
Sequence Name Description / Uses<br />
<br />
line continuation<br />
An escape character placed immediately before the end-of-line<br />
sequence indicates that the current line is continued to the<br />
following line. The following line will be appended to the current<br />
line.<br />
, comma Delimits items in an option argument term that is to be interpreted<br />
as a list of option arguments. Also delimits values for an option<br />
argument.<br />
= assignment operator A single equal sign '=' is used to separate a property name from a<br />
desired value for the property when used with verbs that modify or<br />
create an instance. It will not have a space before or after it in an<br />
expression of a property and its value.<br />
== equivalence operator Two consecutive equal signs "==" without white space between<br />
them are used to separate a property name from a desired value<br />
when filtering instances for which results are returned.<br />
- hyphen When preceded by a space, the hyphen is the CLP option<br />
indicator.<br />
/<br />
address term<br />
Separates the UFiT terms of a target address.<br />
\<br />
separator<br />
=> association separator Used to separate an association from the portions of the command<br />
target term that identify the instances the association references.<br />
. dot Recognized as a special target address token meaning "this<br />
container".<br />
.. dot-dot Recognized as a special target address token meaning "the<br />
container of this container".<br />
( ) parentheses In an option argument term that is a comma-separated list,<br />
delineates the values of an argument from the next option<br />
argument.<br />
" double quote Delineates a string of text that may contain the CLP term separator<br />
(space) so that the CLP <strong>Command</strong> Processor will treat the<br />
delineated text as one string.<br />
"-> " CLP PROMPT Literal representation of the CLP prompt.<br />
(hyphen, greaterthan,<br />
space)<br />
SESSION SESSION Reserved target representing the current session.<br />
1034<br />
1035<br />
1036<br />
1037<br />
1038<br />
1039<br />
1040<br />
1041<br />
1042<br />
1043<br />
1044<br />
1045<br />
1046<br />
5.2.1.2 Case Sensitivity<br />
The general CLP <strong>Command</strong> <strong>Line</strong> syntax is not case sensitive. <strong>Command</strong> verb, option, target, and<br />
property names may be expressed in any combination of uppercase and lowercase characters.<br />
Implementations shall accept command verb, option, option argument, target, and property names<br />
expressed in any combination of uppercase and lowercase characters.<br />
EXAMPLE "show", "Show", and "SHOW" are all valid expressions of the CLP verb "show". "-o<br />
Format=clpxml", "-O format=clpxml", and "-OUTPUT FORMAT=clpxml" are all valid expressions of the output<br />
option and format argument.<br />
For readability, this specification documents all verb, option, target, and property names in lowercase.<br />
The CLP places no restrictions on case sensitivity for the interpretation of property values. Interpretation<br />
of property values (including case sensitivity) is determined by the profile that defines the target to which<br />
the property belongs. Requirements for the input format of common property types are specified in<br />
175H32HDSP0216.<br />
Version 1.0.2 29
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1047<br />
1048<br />
1049<br />
1050<br />
1051<br />
1052<br />
1053<br />
1054<br />
1055<br />
1056<br />
1057<br />
1058<br />
1059<br />
1060<br />
1061<br />
1062<br />
1063<br />
1064<br />
1065<br />
1066<br />
1067<br />
1068<br />
1069<br />
1070<br />
1071<br />
1072<br />
1073<br />
1074<br />
1075<br />
1076<br />
1077<br />
1078<br />
1079<br />
1080<br />
1081<br />
1082<br />
1083<br />
1084<br />
1085<br />
1086<br />
1087<br />
1088<br />
1089<br />
1090<br />
1091<br />
1092<br />
1093<br />
1094<br />
5.2.1.3 <strong>Command</strong> <strong>Line</strong> Terms<br />
This clause details the requirements for <strong>Command</strong> <strong>Line</strong> Terms.<br />
5.2.1.3.1 General<br />
A CLP <strong>Command</strong> <strong>Line</strong> consists of four types of terms: verbs, options and option argument terms,<br />
command target terms, and target property terms. Each term on the <strong>Command</strong> <strong>Line</strong> is separated from<br />
other terms by the CLP command term separator character, " " (space). (See 176H5.2.1.1 for the list of CLP<br />
special and reserved characters.) Implementations shall recognize the CLP command term separator<br />
character, beginning of line, and end of line as delimiting terms on the <strong>Command</strong> <strong>Line</strong>.<br />
Implementations shall recognize the end-of-line character as terminating a single <strong>Command</strong> <strong>Line</strong> unless it<br />
is preceded by the CLP escape character.<br />
A single <strong>Command</strong> <strong>Line</strong> may be continued across end-of-line by using the CLP escape character<br />
immediately before the end-of-line character. The implementation shall not initiate command processing<br />
until after the complete command has been received by the CLP. If an implementation receives a<br />
<strong>Command</strong> <strong>Line</strong> that contains zero characters or consists entirely of the command term separator<br />
character, implementations shall return a <strong>Command</strong> Response that contains exactly zero characters. The<br />
effect of this requirement is such that a blank line is not reported as an error and instead results in a CLP<br />
prompt being returned.<br />
5.2.1.3.2 Verb<br />
The implementation shall expect the command verb to be the first term in a command. The<br />
implementation will expect the command verb to be one of the specified CLP command verbs listed in<br />
Clause 177H6 or an OEM command line extended form as defined in 178H5.2.6.3.3. Implementations shall not<br />
support any verbs other than the CLP verbs defined in this specification and any command verbs<br />
identified as OEM verbs according to 179H5.2.6.3.3. When the first term in a <strong>Command</strong> <strong>Line</strong> is not a CLP verb<br />
and is not identified as an OEM verb according to the rules in 180H5.2.6.3.3, the implementation shall not<br />
execute the command and shall return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and a<br />
Processing Error of COMMAND NOT RECOGNIZED.<br />
5.2.1.3.3 Options and Option Arguments<br />
<strong>Command</strong> options may be included immediately after the command verb. <strong>Command</strong> options are<br />
recognized by the option indicator character, "-" (single hyphen). If options are specified in a command,<br />
the options and their arguments shall occur immediately after the command verb and before the optional<br />
command target term and target properties.<br />
<strong>Command</strong> options either require an argument or require no argument.<br />
Options that require no argument are separated from the subsequent options, command target term, or<br />
target property names by the command term separator character. Options that require arguments are<br />
separated from their option argument term by the command term separator character. An option<br />
argument will be one or more argument names or argument/value pairs. The comma is used to delimit<br />
arguments and argument/value pairs within the option argument term. The comma is also used to delimit<br />
values within an argument value. Using the comma for two types of tokenization within the option<br />
argument term could result in ambiguity when parsing an option argument term. To eliminate the potential<br />
for ambiguity, parentheses are used to enclose argument values which can be comma-delimited lists.<br />
When processing an option argument term, implementations will tokenize the option argument term using<br />
the comma as a delimiter unless the comma is enclosed in parentheses, in which case the<br />
implementation will ignore it. Implementations shall interpret a "," (comma) as delimiting arguments in the<br />
option argument term unless the comma is preceded by a left parenthesis "(", in which case the<br />
implementation shall ignore any commas that occur prior to a matching right parenthesis ")". If while<br />
parsing a <strong>Command</strong> <strong>Line</strong> an implementation encounters an option it does not recognize, the<br />
implementation shall not execute the command and shall return a <strong>Command</strong> Status of COMMAND<br />
PROCESSING FAILED and a Processing Error of INVALID OPTION.<br />
30 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1095<br />
1096<br />
1097<br />
1098<br />
1099<br />
1100<br />
1101<br />
1102<br />
1103<br />
1104<br />
1105<br />
1106<br />
1107<br />
1108<br />
1109<br />
1110<br />
1111<br />
1112<br />
1113<br />
1114<br />
1115<br />
1116<br />
1117<br />
1118<br />
1119<br />
1120<br />
1121<br />
1122<br />
1123<br />
1124<br />
1125<br />
1126<br />
1127<br />
1128<br />
1129<br />
1130<br />
1131<br />
1132<br />
1133<br />
1134<br />
1135<br />
1136<br />
1137<br />
1138<br />
5.2.1.3.4 Target Address<br />
A Target Address is a string that follows the Target Address Syntax and is used to identify the target of a<br />
command. The SM CLP supports several types of target addressing. It supports individual instance<br />
addressing as defined in 181H5HDSP0215. Instance addressing is extended to include support for Relative<br />
Target Addresses. It adds support for addressing instances of a particular class and support for<br />
addressing an instance or instances of an association relative to target instances that the association<br />
references.<br />
Implementations shall require that if the command target term is included in the <strong>Command</strong> <strong>Line</strong>, the<br />
command target term is the first term that is not an option after the command verb. Implementations shall<br />
require that when the command target term is included in the command, the command target term<br />
appears before any target property names.<br />
The implementation shall observe the following ordered rules for determining if the first non-option or<br />
option argument term after the verb is treated as a command target term:<br />
• If the first non-option or option argument term after the verb contains one of the following CLP<br />
reserved addressing terms ("." [dot], ".." [dot dot], address term separator, "=>" [association<br />
separator], or SESSION) and the term is unescaped, the implementation shall interpret the term<br />
as a command target term.<br />
• If the first non-option or option argument term after the verb ends in an integer or an "*"<br />
(asterisk) and does not contain an unescaped assignment operator or equivalence operator, the<br />
implementation shall interpret the term as a command target term.<br />
• When the <strong>Command</strong> Processor discovers that the first non-option or option argument term after<br />
the verb is not a command target term, the <strong>Command</strong> Processor shall assume that the term,<br />
and any subsequent terms, are target property terms.<br />
These rules enable a Client wishing to ensure consistent results when specifying a command target term<br />
to do so through the inclusion of one of the CLP reserved addressing terms. When the implementation<br />
determines that a command target term has been specified, the implementation shall validate the<br />
command target term against the all-legal-targets production of the grammar specified in 182HAnnex A. If the<br />
command target term is invalid, the implementation shall return a <strong>Command</strong> Status of COMMAND<br />
PROCESSING FAILED and a Processing Error of INVALID TARGET.<br />
The order of precedence for determining the Resultant Target of a command is defined in 183H5.1.3.<br />
5.2.1.3.5 Target Address Syntax<br />
Target addresses in the SM CLP are composed of the following parts:<br />
• UFiT—A UFcT concatenated with an integer suffix. Selects a specific Managed Element in a<br />
given container.<br />
• UFsT—A UFcT concatenated with an asterisk. Selects all instances of the type specified by the<br />
UFcT within a given container.<br />
• address term separator (/ or \)—When located at the beginning of a command target term,<br />
represents the root of the address space. When used to separate two UFiTs in an address,<br />
represents an Addressing Association between them.<br />
• association separator (=>)—Delimits an Association Class within a target address. The portion<br />
of the target address preceding, and optionally following, the Association Class identifies one, or<br />
both, Managed Elements referenced by the target Association instance.<br />
• dot (.)—Reserved term meaning "this target"<br />
• dot dot (..)—Reserved term meaning "the container of this target"<br />
Version 1.0.2 31
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1139<br />
1140<br />
1141<br />
1142<br />
1143<br />
1144<br />
1145<br />
1146<br />
1147<br />
1148<br />
1149<br />
1150<br />
1151<br />
1152<br />
1153<br />
1154<br />
1155<br />
1156<br />
1157<br />
1158<br />
1159<br />
1160<br />
1161<br />
1162<br />
1163<br />
1164<br />
1165<br />
1166<br />
1167<br />
1168<br />
1169<br />
1170<br />
1171<br />
1172<br />
1173<br />
1174<br />
1175<br />
1176<br />
1177<br />
1178<br />
1179<br />
1180<br />
1181<br />
1182<br />
1183<br />
1184<br />
1185<br />
1186<br />
1187<br />
Each UFiT is a short, text string identifier of a Managed Element in the address space of the MAP. A UFiT<br />
is of the form "UFcT" where the first component is a short, text string tag that<br />
identifies the class of Managed Element and the second component is an integer suffix that uniquely<br />
identifies the Managed Element in its container.<br />
An instance address is a sequence of Managed Element tags, or UFiTs, separated by the slash<br />
character. Any UFiT that is followed by a slash character indicates that the remaining target address path<br />
is contained within that Managed Element. A UFiP is an Absolute Target Address that references exactly<br />
one Managed Element and does not contain any of the CLP addressing extensions (dot, dot dot, or<br />
SESSION). The CLP <strong>Command</strong> <strong>Line</strong> grammar is formally defined in 184HAnnex A.<br />
The general syntax of an instance address is as follows (in ABNF form):<br />
[ ] *[ ( "." / ".." / ) ]<br />
<br />
By successively interpreting each term of the command target term and performing any substitutions<br />
necessary, it is possible to create a UFiP identifying the Managed Element that is the target of the<br />
command.<br />
Some SM CLP commands can be invoked against a UFsT. When the target address path terminates in a<br />
UFsT, the <strong>Command</strong> Processor interprets the command to be targeted to all Managed Elements of that<br />
class within that container or uses the class tag as a selector for the action specified by the verb. The<br />
general syntax of a target address path of this type is as follows:<br />
[] *[ ( "." / ".." / ) ]<br />
<br />
As mentioned previously, the SM CLP supports addressing an instance or instances of an association.<br />
The general syntax for targeting an association is as follows:<br />
[[] *[ ( "." / ".." / ) ]<br />
] "=>"["=>" [*( ) ] ]<br />
The target address terms leading up to the first occurrence of "=>" are used in accordance with the rules<br />
for generating an instance address path. This instance address path identifies one of the Managed<br />
Elements referenced by the target association. Following these rules, if no target address terms precede<br />
the first "=>", the CDT will be selected as the referenced instance. The <br />
identifies the Association Class that will be searched for instances. The second occurrence of "=>" and<br />
following additional target address terms are optional. The second "=>" is the ending delimiter of the<br />
. The target address terms which follow are used to construct an instance<br />
address path identifying the other Managed Element referenced by the association. If the second set of<br />
address terms is omitted, the implementation will return all instances of the Association Class that<br />
reference the instance addressed on the left-hand side.<br />
Using the target notation, the following example target addresses can be constructed:<br />
/<br />
/system1<br />
\system1<br />
system1<br />
/system1/alarm3<br />
alarm3<br />
../rack3<br />
hw1/./../../rack3<br />
..<br />
.<br />
/system1=>AssociatedPower<strong>Management</strong>Service=>/system1/service24<br />
../system1/cpu1=>SystemDevice=>/system1<br />
32 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1188<br />
1189<br />
1190<br />
1191<br />
1192<br />
1193<br />
1194<br />
1195<br />
1196<br />
1197<br />
1198<br />
1199<br />
1200<br />
1201<br />
1202<br />
1203<br />
1204<br />
1205<br />
1206<br />
1207<br />
1208<br />
1209<br />
1210<br />
1211<br />
1212<br />
1213<br />
1214<br />
1215<br />
1216<br />
1217<br />
1218<br />
1219<br />
1220<br />
1221<br />
1222<br />
1223<br />
1224<br />
1225<br />
1226<br />
1227<br />
1228<br />
1229<br />
1230<br />
1231<br />
1232<br />
../system1/cpu1=>SystemDevice<br />
5.2.1.3.6 Target Address Evaluation<br />
CLP commands fall into two categories: commands that accept a command target term and commands<br />
that do not. Not all commands that accept a command target require one to be included. The rules of<br />
precedence that govern choosing among an Implicit <strong>Command</strong> Target, the CDT, and a command target<br />
term are detailed in 185H5.1.3.3. This clause describes the rules for evaluating the command target term if it is<br />
specified.<br />
The command target term can be either a Relative Target Address or an Absolute Target Address. The<br />
command target term will identify a specific Managed Element, a set of Managed Elements identified by<br />
their class, a specific association, or the associations of a particular Association Class which reference a<br />
specific Managed Element.<br />
5.2.1.3.6.1 Rules for Addressing a Specific Association<br />
If the command target term includes exactly two occurrences of the association separator, the<br />
implementation shall evaluate the command target term according to the following rules:<br />
• The implementation shall interpret the characters between the two occurrences of the<br />
association separator as identifying the Association Class.<br />
• The implementation shall interpret all characters prior to the first occurrence of the association<br />
separator as a single token. The implementation shall evaluate the token according to the<br />
"Rules for Addressing a Target Instance" (186H5.2.1.3.6.4).<br />
• The implementation shall interpret all characters after the second occurrence of the association<br />
separator as a single token. The implementation shall evaluate the token according to the<br />
"Rules for Addressing a Target Instance" (187H5.2.1.3.6.4).<br />
The implementation shall set the Resultant Target for the command to the association instance of the<br />
type specified by the Association Class such that the association references the Managed Element<br />
identified by the instance address preceding the first association separator and the association references<br />
the Managed Element identified by the instance address following the second occurrence of the<br />
association separator.<br />
5.2.1.3.6.2 Rules for Addressing Instances of an Association<br />
If the command target term includes exactly one occurrence of the association separator, the command<br />
target term is assumed to be targeting all instances of a particular Association Class that reference a<br />
Managed Element instance, and the implementation shall evaluate the command target term according to<br />
the following rules:<br />
• The implementation shall interpret the characters between the occurrence of the association<br />
separator and the <strong>Command</strong> <strong>Line</strong> term separator as identifying the Association Class.<br />
• The implementation shall interpret all characters prior to the first occurrence of the association<br />
separator as a single instance address. The implementation shall evaluate the instance address<br />
according to the "Rules for Addressing a Target Instance" (188H5.2.1.3.6.4).<br />
The implementation shall set the Resultant Target to the set of associations such that for each<br />
association in the set, the association is of the type specified by the Association Class and references the<br />
Managed Element identified by the instance address preceding the first occurrence of the association<br />
separator in the command target term.<br />
5.2.1.3.6.3 Rules for Addressing a Target Instance/Class<br />
If the command target term does not include any occurrences of the association separator, the<br />
implementation shall evaluate the command target term according to the "Rules for Addressing a Target<br />
Instance" (189H5.2.1.3.6.4).<br />
Version 1.0.2 33
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1233<br />
1234<br />
1235<br />
1236<br />
1237<br />
1238<br />
1239<br />
1240<br />
1241<br />
1242<br />
1243<br />
1244<br />
1245<br />
1246<br />
1247<br />
1248<br />
1249<br />
1250<br />
1251<br />
1252<br />
1253<br />
1254<br />
1255<br />
1256<br />
1257<br />
1258<br />
1259<br />
1260<br />
1261<br />
1262<br />
1263<br />
1264<br />
1265<br />
1266<br />
1267<br />
1268<br />
1269<br />
1270<br />
1271<br />
1272<br />
1273<br />
1274<br />
1275<br />
1276<br />
1277<br />
5.2.1.3.6.4 Rules for Addressing a Target Instance<br />
Implementations shall evaluate instance address terms according to the following rules:<br />
• If the instance address term begins with the address term separator, the instance address term<br />
is considered to be an Absolute Target Address. The implementation shall interpret an Absolute<br />
Target Address as relative to the Managed Element instance that is the root of the MAP’s<br />
address space.<br />
• If the instance address term does not begin with the address term separator, the instance<br />
address term is considered a Relative Target Address. The implementation shall interpret a<br />
Relative Target Address as relative to the Current Default Target and shall prepend the instance<br />
address term with the UFiP of the Current Default Target and an address term separator prior to<br />
evaluating the instance address term.<br />
• Implementations shall evaluate the instance address term from left to right as follows, using the<br />
address term separator as a token delimiter:<br />
– If the token is a "." (dot), remove the token from the instance address term.<br />
– If the token is a ".." (dot dot), remove the token from the instance address term and<br />
remove the preceding UFiT, if a preceding UFiT is present.<br />
– If the token is a UFiT, leave it in the instance address term.<br />
– If the token is a UFsT, leave it in the instance address term.<br />
After evaluating the instance address term using the preceding rules, the instance address term will be a<br />
UFiP and is the Resultant Address produced by applying the rules for addressing a target instance. Note<br />
that after applying these rules, it is possible that the Resultant Address will consist of a single address<br />
term separator character. Implementations shall interpret this Resultant Address as equivalent to the<br />
UFiP of the Managed Element that is the root of the address space.<br />
5.2.1.3.7 Target Properties<br />
This clause specifies constraints for target properties.<br />
5.2.1.3.7.5 General<br />
Many CLP verbs accept target property terms as input to the command. Target property terms always<br />
contain a target property name and optionally contain the assignment or equivalence operator followed by<br />
a property value. Implementations shall interpret terms appearing in the <strong>Command</strong> <strong>Line</strong> after the<br />
command target term as target property terms. Implementations shall interpret target property names in a<br />
case-insensitive manner.<br />
When the command target term is omitted, implementations shall interpret any non-option name terms as<br />
target property terms.<br />
When a structured output is specified, the implementation shall return string values for each property<br />
name and property value such that the implementation will accept the property name and property value<br />
as input when they are specified according to the rules in "Rules for Specifying Target Property Values"<br />
(190H5.2.1.3.7.1). There are three types of target property terms: terms that include the assignment operator,<br />
terms that include the equivalence operator, and terms that do not include either. Terms that include the<br />
assignment operator are used to indicate a desired value to assign to a property and are interpreted<br />
according to "Using the Assignment Operator" (191H5.2.1.3.7.3). Terms that include an equivalence operator<br />
are used to indicate a property name and desired value for the property when filtering for an instance with<br />
that property and are interpreted according to the rules in "Using the Equivalence Operator" (192H5.2.1.3.7.4).<br />
5.2.1.3.7.1 Rules for Specifying Target Property Values<br />
A CLP implementation will accept target property values as part of a target property term. They can be<br />
used with some CLP verbs (create and set) to specify a value to assign to a property or with some<br />
34 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1278<br />
1279<br />
1280<br />
1281<br />
1282<br />
1283<br />
1284<br />
1285<br />
1286<br />
1287<br />
1288<br />
1289<br />
1290<br />
1291<br />
1292<br />
1293<br />
1294<br />
1295<br />
1296<br />
1297<br />
1298<br />
1299<br />
1300<br />
1301<br />
1302<br />
1303<br />
1304<br />
1305<br />
1306<br />
1307<br />
1308<br />
1309<br />
1310<br />
1311<br />
1312<br />
1313<br />
1314<br />
1315<br />
1316<br />
1317<br />
1318<br />
1319<br />
1320<br />
1321<br />
1322<br />
CLP verbs and options (show and display) to filter results based on a property/value match. When a<br />
user specifies a target property value on the <strong>Command</strong> <strong>Line</strong>, the implementation shall enforce the<br />
following syntax:<br />
If the property value contains a CLP reserved character, the value is enclosed in quotes. If the<br />
property value includes a " (double quote) character, the " (double quote) is escaped using the CLP<br />
escape character.<br />
The specific format of the value for a property is defined in 193H32HDSP0216. Note that in the case of a property<br />
that is a Value/ValueMap, the string supplied as a value to the property for assignment could be the string<br />
representation of the numeric value or the actual value mapped string constant.<br />
5.2.1.3.7.2 Rules for Specifying Array Properties<br />
Some properties on Managed Elements are arrays. The CLP provides two methods for dealing with array<br />
properties. Implementations shall support both methods. The first method allows individual positions<br />
within an array property to be addressed by index using bracket notation. Bracket notation consists of a<br />
property name followed by an opening bracket ('['), followed by one or more characters specifying the<br />
desired index, followed by a closing bracket (']'). Note that no white space occurs anywhere between the<br />
property name and the closing bracket. When a property target term includes a '[' character, followed by<br />
a ']' character, the implementation shall interpret the characters that occur between the two brackets as<br />
specifying the index of the position within the array property that is being addressed. For each array<br />
property, legal values for the index are defined by the MOF (194H4HCommon Information Model (CIM)<br />
Schema, version 2.12) that defines the class to which the property belongs. The syntax for addressing a<br />
position within an array property is as follows:<br />
"[""]"<br />
This syntax is supported wherever a property name/value is accepted by the CLP.<br />
The alternate approach is supported only for the assignment of values to an array property. It is<br />
documented in the following clause. If a client uses array notation with a property that is not an array<br />
property, the implementation will return an error.<br />
5.2.1.3.7.3 Using the Assignment Operator<br />
The assignment operator is used to indicate a desired value to be assigned to a property. The syntax for<br />
using the assignment operator in a target property term is as follows:<br />
=<br />
When the property name contains the bracket notation defined in "Rules for Specifying Array Properties"<br />
(195H5.2.1.3.7.2), the implementation shall assign the property value to the array position identified by the<br />
index delimited by the brackets.<br />
If the property is multi-valued (an array), multiple array positions can be assigned using a commadelimited<br />
list of values. When the target property value of a target property term is a comma-delimited list,<br />
the implementations shall interpret each comma-delimited token in the target property value as the value<br />
to be assigned to the corresponding array position of the property. When the comma-delimited token is a<br />
zero-length string, the implementation shall not assign a value to the corresponding array position. When<br />
identifies an array property, and neither of the two methods for managing array<br />
properties is used, the implementation shall attempt to assign to the first position in<br />
the array.<br />
5.2.1.3.7.4 Using the Equivalence Operator<br />
The equivalence operator is used to indicate that an implementation filters results for instances that have<br />
a property with the specified name and value. The syntax for using the equivalence operator is as follows:<br />
==<br />
Version 1.0.2 35
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1323<br />
1324<br />
1325<br />
1326<br />
1327<br />
1328<br />
1329<br />
1330<br />
1331<br />
1332<br />
1333<br />
1334<br />
1335<br />
1336<br />
1337<br />
1338<br />
1339<br />
1340<br />
1341<br />
When the property name contains the bracket notation defined in "Rules for Specifying Array Properties"<br />
(196H5.2.1.3.7.2), the implementation shall compare the property value to the value of the array position<br />
identified by the index delimited by the brackets. When identifies an array property,<br />
and the bracket notation defined in "Rules for Specifying Array Properties" is not used, the<br />
implementation shall compare to all array positions in the property.<br />
5.2.2 Output Data Schema<br />
This clause describes valid data elements and associated values for inclusion in a <strong>Command</strong> Response.<br />
5.2.2.1 <strong>Command</strong> Response Organization<br />
In the absence of communication errors or session termination, every CLP command will result in a<br />
<strong>Command</strong> Response being returned to the Client. A <strong>Command</strong> Response consists of <strong>Command</strong> Status<br />
data and <strong>Command</strong> Results data. The <strong>Command</strong> Response data is ordered as follows:<br />
• <strong>Command</strong> Status data (for example, successful or errors/exceptions)<br />
• <strong>Command</strong> Results data (for example, information generated from/by the command)<br />
See 197H5.1.10 for full descriptions of the data elements. CLP command options described in Clause 198H7 control<br />
the content and format of output data.<br />
5.2.2.2 Common Output Keywords<br />
Common output keywords (199HTable 2) are those data elements that may appear in any response data.<br />
Common keywords are used for data organization purposes—identification, grouping, sorting, and so on.<br />
Table 2 – Common Output Keywords<br />
Keyword<br />
association<br />
endgroup<br />
group<br />
property,<br />
properties<br />
target<br />
targets<br />
ufct<br />
ufit<br />
ufip<br />
verb, verbs<br />
endoutput<br />
Definition<br />
Indicates that the data is a target association.<br />
Indicates the end of a group of output data elements.<br />
Indicates the beginning of a new group of output data elements that are to be<br />
interpreted as a group.<br />
Indicates that the data is a target property name.<br />
Indicates that the data is a Managed Element that may contain other Managed<br />
Elements.<br />
Indicates that the data lists targets contained in an element.<br />
Indicates that the data is a User-Friendly class Tag.<br />
Indicates that the data is a User-Friendly instance Tag.<br />
Indicates that the data is a User-Friendly instance Path (fully qualified path).<br />
Indicates that the data is a command verb name.<br />
Indicates the end of a "keyword" <strong>Command</strong> Response.<br />
1342<br />
1343<br />
1344<br />
1345<br />
1346<br />
5.2.3 <strong>Command</strong> Status Data Elements<br />
The following clauses describe the constraints on each of the <strong>Command</strong> Status data elements.<br />
5.2.3.1 <strong>Command</strong> Status Keywords<br />
A <strong>Command</strong> Response includes <strong>Command</strong> Status data elements.<br />
200HTable 3 lists the keywords used to identify properties of the <strong>Command</strong> Status data elements.<br />
36 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1347<br />
Table 3 – <strong>Command</strong> Status Keywords<br />
Keyword<br />
Definition<br />
status The Status property. This is one of the values defined in 201HTable 4.<br />
status_tag The status_tag property. This is one of the values defined in 202HTable 4.<br />
error<br />
The Processing Error property detected by the CLP Service. This is one of the integer<br />
values in 203HTable 6.<br />
error_tag The error_tag property. This is the string value in 204HTable 6.<br />
1348<br />
1349<br />
1350<br />
1351<br />
1352<br />
The <strong>Command</strong> Status indicates the processing disposition of the command entered. When the status<br />
keyword is returned, implementations shall assign it one of the values listed in 205HTable 4. When the<br />
status_tag keyword is returned, implementations shall assign it the value in 206HTable 4 that corresponds<br />
to the value of the status keyword.<br />
Table 4 – <strong>Command</strong> Status Values and Tags<br />
status status_tag Description<br />
0 COMMAND COMPLETED Status = Completed. The command and any associated jobs<br />
have completed successfully. The command and any ME jobs<br />
completed within command execution. No job remains in-flight<br />
and no job ID is active for this command.<br />
1 COMMAND SPAWNED Status = Spawned. The command returned an interim<br />
response to the Client but continues to run as a spawned job.<br />
The Job ID of the spawned command may be used to retrieve<br />
the <strong>Command</strong> Status.<br />
2 COMMAND PROCESSING FAILED Status = COMMAND PROCESSING FAILED. No job was<br />
created. No job remains in-flight and no job ID is active for this<br />
command.<br />
3 COMMAND EXECUTION FAILED Status = COMMAND EXECUTION FAILED. The command and<br />
any associated jobs ran to completion and failed. The command<br />
and any ME jobs completed within command execution.<br />
1353<br />
1354<br />
1355<br />
1356<br />
1357<br />
1358<br />
207HTable 5 lists the keywords used to identify properties of the Message data element. Each message_arg<br />
identifies a string value for insertion into the message text. If an implementation supports message<br />
argument insertion into message text, the implementation shall identify each insertion location in the<br />
message text using the character sequence {n}. Implementations shall interpret the value of n as<br />
identifying the index of the message argument to insert.<br />
Table 5 – Message Keywords<br />
Keyword<br />
message<br />
message_id<br />
message_arg<br />
owningentity<br />
Definition<br />
Message data element—A free-form text explanation of the <strong>Command</strong> Status or error.<br />
Message Id data element—A unique text string identifier for the status or error<br />
message that can be used by the Client to locate any translations of the message in other<br />
languages.<br />
Message Argument data element—Substitution value for insertion into a message.<br />
Owning Entity data element—A unique string identifier for the owner of the<br />
message identifier. The owning entity and message id combine to form a unique key for<br />
looking up message text translations.<br />
Version 1.0.2 37
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1359<br />
1360<br />
1361<br />
1362<br />
208HTable 6 lists the valid values for the error and error_tag keywords. When an implementation includes<br />
the error and error_tag keywords in a <strong>Command</strong> Response, the implementation shall assign them<br />
values from 209HTable 6.<br />
Table 6 – Processing Error Values and Tags<br />
error error_tag Description<br />
255 COMMAND ERROR –<br />
UNSPECIFIED<br />
Unspecified command error; used only when other command<br />
errors are not applicable.<br />
254 COMMAND NOT SUPPORTED The command is recognized as a CLP command verb but is not<br />
supported by this implementation.<br />
253 COMMAND NOT RECOGNIZED The command is syntactically correct, but the implementation does<br />
not recognize the first term in the command as a verb (that is,<br />
cannot report "not supported" because the verb is unknown to the<br />
implementation).<br />
252 COMMAND SYNTAX ERROR The command is recognized as a CLP command verb, but the<br />
syntax has not been correctly followed.<br />
251 INVALID OPTION The command is recognized as a CLP command verb, the syntax<br />
is correct, but an option is not valid.<br />
250 INVALID ARGUMENT The command is recognized as a CLP command verb, the syntax<br />
is correct, but an argument value for an option is not valid.<br />
249 OUTPUT FORMAT NOT<br />
SUPPORTED<br />
The user selected an output format that is not supported by this<br />
implementation.<br />
248 MISSING ARGUMENT The command is recognized as a CLP command verb, the syntax<br />
is correct, but an argument value for an option is missing.<br />
247 OPTION NOT SUPPORTED The command is recognized as a CLP command verb, the syntax<br />
is correct, but an option is not supported.<br />
246 INVALID TARGET The first non-option or option argument term after the verb<br />
contained a CLP addressing character but did not adhere to the<br />
CLP command target term syntax.<br />
245 REQUIRED OPTION MISSING The specified command requires an option that was not supplied.<br />
244 QUEUE FULL A job cannot be started to execute the command.<br />
243 UNRECOGNIZED OEM<br />
EXTENSION<br />
The <strong>Command</strong> <strong>Line</strong> includes an OEM Extension Name String that<br />
is unrecognized by the implementation.<br />
242 MISSING REQUIRED TARGET The command verb requires that a command target term be<br />
specified to identify a specific target for the command, and a<br />
command target term was not included in the <strong>Command</strong> <strong>Line</strong>.<br />
241 FUNCTION NOT SUPPORTED The command syntax is valid but included a request for optional<br />
behavior that is not supported by this implementation.<br />
1363<br />
1364<br />
1365<br />
1366<br />
1367<br />
1368<br />
1369<br />
1370<br />
1371<br />
1372<br />
When an error occurs processing a command prior to creating a job to execute the command and this<br />
specification does not identify a specific Processing Error to use to indicate the error condition, the<br />
implementation shall return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and a Processing<br />
Error of COMMAND ERROR – UNSPECIFIED.<br />
5.2.3.2 Job Error Keywords<br />
When the <strong>Command</strong> Status is COMMAND EXECUTION FAILED, a Job Error will follow the <strong>Command</strong><br />
Status to describe the details of the failure. 210HTable 7 defines the valid keywords and values for the Job<br />
data element. The accepted values and corresponding descriptions for each value are provided in the<br />
tables that follow. For each keyword, implementations shall return data that conforms to the restrictions<br />
specified for the keyword in 211HTable 7.<br />
38 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1373<br />
Table 7 – Job Error Keywords<br />
Keyword<br />
job_id<br />
errtype<br />
errtype_desc<br />
cimstat<br />
cimstat_desc<br />
severity<br />
severity_desc<br />
probcause<br />
probcause_desc<br />
recmdaction<br />
errsource<br />
errsourceform<br />
errsourceform_desc<br />
Definition<br />
Job Identifier—An integer value in the range [1, 65535] inclusive.<br />
Execution Error—Provides the primary classification of the error.<br />
Execution Error Tag—The character string tag corresponding to the Execution<br />
Error.<br />
CIM Status—A value that describes the error as it relates to the CIM <strong>Server</strong>.<br />
An enumerated string, corresponding to the value of cimstat.<br />
A value that describes the severity of the error from the notifier's point of view.<br />
An enumerated string, corresponding to the value of severity.<br />
A value that describes the probable cause of the error.<br />
An enumerated string, corresponding to the value of probcause.<br />
A free-form string that describes a recommended action. Zero or more<br />
recommended actions appear per Job Error occurrence.<br />
A string that identifies the Managed Element generating this Job Error instance.<br />
A value that identifies the format of the error source string identifier.<br />
A free-form string describing and corresponding to the error source format.<br />
1374<br />
1375<br />
1376<br />
1377<br />
1378<br />
1379<br />
1380<br />
The Execution Error property communicates the primary category of the Job Error. If an implementation<br />
includes the errtype keyword in a <strong>Command</strong> Response, the implementation shall assign the keyword<br />
one of the values from 212HTable 8. If an implementation includes the errtype_desc keyword in a<br />
<strong>Command</strong> Response, the implementation shall assign the keyword the value from 213HTable 8 that<br />
corresponds to the value assigned to the errtype keyword. The values for errtype and<br />
errtype_desc correspond to the ValueMap and Values for the ErrorType property of CIM_Error.<br />
Table 8 – Error Type Values and Descriptions<br />
errtype errtype_desc Description<br />
0 Unknown None<br />
1 Other None<br />
2 Communications Error The command or operation cannot be initiated because the<br />
ME is not responding.<br />
or<br />
The job is terminated because the target ME is not<br />
responsive and the MAP cannot determine the progress of<br />
the operation. Note that the state change activity may still<br />
be in-progress at the ME but the implementation cannot<br />
communicate with the ME to determine the status.<br />
3 Quality of Service Error None<br />
4 Software Error None<br />
5 Hardware Error None<br />
6 Environmental Error None<br />
7 Security Error None<br />
8 Oversubscription Error None<br />
9 Unavailable Resource Error CLP Service cannot acquire needed internal resources to<br />
process the command.<br />
10 Unsupported Operation Error None<br />
Version 1.0.2 39
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1381<br />
1382<br />
1383<br />
1384<br />
1385<br />
1386<br />
1387<br />
1388<br />
1389<br />
1390<br />
The CIM Status property communicates any management layer or instrumentation layer errors<br />
encountered by the CLP Service in its attempt to initiate the requested operations for the specified<br />
targets. Errors that occur when attempting to set the value for a property result in one of the errors listed<br />
in 214HTable 9 being returned. If an implementation includes the cimstat keyword in a <strong>Command</strong> Response,<br />
the implementation shall assign the keyword one of the values from 215HTable 9. If an implementation<br />
includes the cimstat_desc keyword in a <strong>Command</strong> Response, the implementation shall assign the<br />
cimstat_desc keyword the value from 216HTable 9 that corresponds to the value assigned to the cimstat<br />
keyword. The values for cimstat and cimstat_desc correspond to the ValueMap and Values for the<br />
CIMStatusCode property of CIM_Error.<br />
Table 9 – CIM Status Code Values and Descriptions<br />
cimstat cimstat_desc Description<br />
1 CIM_ERR_FAILED A general, unspecified error occurred.<br />
2 CIM_ERR_ACCESS_DENIED The user does not have proper<br />
authorization to use the command.<br />
or<br />
The command was authorized for the user,<br />
but the user is not authorized to perform a<br />
resulting operation on this or a dependent<br />
target ME.<br />
or<br />
The user does not have access to a CIM<br />
resource.<br />
3 CIM_ERR_INVALID_NAMESPACE The target namespace does not exist.<br />
4 CIM_ERR_INVALID_PARAMETER The verb is recognized, the command<br />
syntax is correct, option names are correct,<br />
but an option argument value is not valid.<br />
One or more target property values or<br />
option argument values that specify target<br />
properties are invalid.<br />
5 CIM_ERR_INVALID_CLASS The class indicated by the UFcT or the<br />
Association Class does not exist in the<br />
scope of the command.<br />
6 CIM_ERR_NOT_FOUND The command target is not found.<br />
The requested UFiT could not be found or<br />
was unresponsive.<br />
7 CIM_ERR_NOT_SUPPORTED The command is valid but the target<br />
specified does not support the necessary<br />
operation or operations needed to carry out<br />
the command.<br />
OR<br />
The user has requested an operation that<br />
is not supported by this target ME.<br />
8 CIM_ERR_CLASS_HAS_CHILDREN The operation cannot be carried out on this<br />
class because it has subclasses with<br />
instances.<br />
9 CIM_ERR_CLASS_HAS_INSTANCES The operation cannot be carried out on this<br />
class because it has instances.<br />
10 CIM_ERR_INVALID_SUPERCLASS The operation cannot be carried out<br />
because the superclass does not exist.<br />
11 CIM_ERR_ALREADY_EXISTS The operation cannot be carried out<br />
because the specified UFiT already exists.<br />
40 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
cimstat cimstat_desc Description<br />
12 CIM_ERR_NO_SUCH_PROPERTY The specified Property does not exist for<br />
the command target.<br />
13 CIM_ERR_TYPE_MISMATCH The value supplied for a property is<br />
incompatible with the property’s data type.<br />
14 CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED (RESERVED FOR FUTURE USE)<br />
15 CIM_ERR_INVALID_QUERY (RESERVED FOR FUTURE USE)<br />
16 CIM_ERR_METHOD_NOT_AVAILABLE The extrinsic Method could not be<br />
executed for the command target.<br />
or<br />
An operation currently executing on the<br />
Target is performing an internal function<br />
such that the requested operation cannot<br />
be concurrently executed.<br />
or<br />
The target ME is in use by another session.<br />
17 CIM_ERR_METHOD_NOT_FOUND The user has requested an operation that<br />
is not recognized by the target ME.<br />
The specified extrinsic method could not be<br />
found for the command target.<br />
18 CIM_ERR_UNEXPECTED_RESPONSE The returned response from the target was<br />
unexpected.<br />
or<br />
The job spawned by the previous<br />
command has ended prematurely and<br />
failed. For example, a firmware update may<br />
abort if retrieval of an image from a URI<br />
times out.<br />
19 CIM_ERR_INVALID_RESPONSE_DESTINATION (RESERVED FOR FUTURE USE)<br />
20 CIM_ERR_NAMESPACE_NOT_EMPTY (RESERVED FOR FUTURE USE)<br />
1391<br />
1392<br />
1393<br />
1394<br />
1395<br />
1396<br />
1397<br />
1398<br />
The Severity property communicates the urgency of the error, from the MAP’s perspective. If an<br />
implementation includes the severity keyword in a <strong>Command</strong> Response, the implementation shall<br />
assign the keyword one of the values from 217HTable 10. If an implementation includes the severity_desc<br />
keyword in a <strong>Command</strong> Response, the implementation shall assign the severity_desc keyword the<br />
value from 218HTable 10 that corresponds to the value assigned to the severity keyword. The values for<br />
severity and severity_desc correspond to the ValueMap and Values for the PerceivedSeverity<br />
property of CIM_Error. "1" is not specified in the ValueMap and therefore is reserved by the CLP.<br />
Table 10 – Severity Values and Descriptions<br />
severity severity_desc Description<br />
0 Unknown The severity is unknown or unassigned by the implementation.<br />
1 Reserved This value is reserved and should not be used.<br />
2 Low Used for non-critical issues such as invalid parameters, incorrect usage, and<br />
unsupported functionality.<br />
3 Medium Used to indicate action is needed, but the situation is not serious at this time.<br />
4 High Used to indicate action is needed immediately.<br />
5 Fatal Used to indicate a loss of data or unrecoverable system or service failure.<br />
Version 1.0.2 41
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1399<br />
1400<br />
1401<br />
1402<br />
1403<br />
1404<br />
1405<br />
1406<br />
1407<br />
The Probable Cause and Probable Cause Description properties identify the probable cause of an<br />
execution error. Any errors generated by the Managed Element itself are characterized in the Probable<br />
Cause property, described in 219HTable 11. If an implementation includes the probcause keyword in a<br />
<strong>Command</strong> Response, the implementation shall assign the keyword one of the values from 220HTable 11. If an<br />
implementation includes the probcause_desc keyword in a <strong>Command</strong> Response, the implementation<br />
shall assign the probcause_desc keyword the value from 221HTable 11 that corresponds to the value<br />
assigned to the probcause keyword. The values for probcause and probcause_desc correspond to<br />
the ValueMap and Values for the ProbableCause property of CIM_Error.<br />
Table 11 – Probable Cause Values and Descriptions<br />
probcause probcause_desc<br />
0 Unknown<br />
1 Other<br />
2 Adapter/Card Error<br />
3 Application Subsystem Failure<br />
4 Bandwidth Reduced<br />
5 Connection Establishment Error<br />
6 Communications <strong>Protocol</strong> Error<br />
7 Communications Subsystem Failure<br />
8 Configuration/Customization Error<br />
9 Congestion<br />
10 Corrupt Data<br />
11 CPU Cycles Limit Exceeded<br />
12 Dataset/Modem Error<br />
13 Degraded Signal<br />
14 DTE-DCE Interface Error<br />
15 Enclosure Door Open<br />
16 Equipment Malfunction<br />
17 Excessive Vibration<br />
18 File Format Error<br />
19 Fire Detected<br />
20 Flood Detected<br />
21 Framing Error<br />
22 HVAC Problem<br />
23 Humidity Unacceptable<br />
24 I/O Device Error<br />
25 Input Device Error<br />
26 LAN Error<br />
27 Non-Toxic Leak Detected<br />
28 Local Node Transmission Error<br />
29 Loss of Frame<br />
30 Loss of Signal<br />
31 Material Supply Exhausted<br />
32 Multiplexer Problem<br />
33 Out of Memory<br />
42 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
probcause probcause_desc<br />
34 Output Device Error<br />
35 Performance Degraded<br />
36 Power Problem<br />
37 Pressure Unacceptable<br />
38 Processor Problem (Internal Machine Error)<br />
39 Pump Failure<br />
40 Queue Size Exceeded<br />
41 Receive Failure<br />
42 Receiver Failure<br />
43 Remote Node Transmission Error<br />
44 Resource at or Nearing Capacity<br />
45 Response Time Excessive<br />
46 Retransmission Rate Excessive<br />
47 Software Error<br />
48 Software Program Abnormally Terminated<br />
49 Software Program Error (Incorrect Results)<br />
50 Storage Capacity Problem<br />
51 Temperature Unacceptable<br />
52 Threshold Crossed<br />
53 Timing Problem<br />
54 Toxic Leak Detected<br />
55 Transmit Failure<br />
56 Transmitter Failure<br />
57 Underlying Resource Unavailable<br />
58 Version Mismatch<br />
59 Previous Alert Cleared<br />
60 Login Attempts Failed<br />
61 Software Virus Detected<br />
62 Hardware Security Breached<br />
63 Denial of Service Detected<br />
64 Security Credential Mismatch<br />
65 Unauthorized Access<br />
66 Alarm Received<br />
67 Loss of Pointer<br />
68 Payload Mismatch<br />
69 Transmission Error<br />
70 Excessive Error Rate<br />
71 Trace Problem<br />
72 Element Unavailable<br />
73 Element Missing<br />
74 Loss of Multi Frame<br />
75 Broadcast Channel Failure<br />
76 Invalid Message Received<br />
Version 1.0.2 43
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
probcause probcause_desc<br />
77 Routing Failure<br />
78 Backplane Failure<br />
79 Identifier Duplication<br />
80 Protection Path Failure<br />
81 Sync Loss or Mismatch<br />
82 Terminal Problem<br />
83 Real Time Clock Failure<br />
84 Antenna Failure<br />
85 Battery Charging Failure<br />
86 Disk Failure<br />
87 Frequency Hopping Failure<br />
88 Loss of Redundancy<br />
89 Power Supply Failure<br />
90 Signal Quality Problem<br />
91 Battery Discharging<br />
92 Battery Failure<br />
93 Commercial Power Problem<br />
94 Fan Failure<br />
95 Engine Failure<br />
96 Sensor Failure<br />
97 Fuse Failure<br />
98 Generator Failure<br />
99 Low Battery<br />
100 Low Fuel<br />
101 Low Water<br />
102 Explosive Gas<br />
103 High Winds<br />
104 Ice Buildup<br />
105 Smoke<br />
106 Memory Mismatch<br />
107 Out of CPU Cycles<br />
108 Software Environment Problem<br />
109 Software Download Failure<br />
110 Element Reinitialized<br />
111 Timeout<br />
112 Logging Problems<br />
113 Leak Detected<br />
114 Protection Mechanism Failure<br />
115 Protecting Resource Failure<br />
116 Database Inconsistency<br />
117 Authentication Failure<br />
118 Breach of Confidentiality<br />
119 Cable Tamper<br />
44 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
probcause probcause_desc<br />
120 Delayed Information<br />
121 Duplicate Information<br />
122 Information Missing<br />
123 Information Modification<br />
124 Information Out of Sequence<br />
125 Key Expired<br />
126 Non-Repudiation Failure<br />
127 Out of Hours Activity<br />
128 Out of Service<br />
129 Procedural Error<br />
130 Unexpected Information<br />
1408<br />
1409<br />
1410<br />
1411<br />
1412<br />
1413<br />
1414<br />
1415<br />
1416<br />
1417<br />
1418<br />
1419<br />
1420<br />
1421<br />
1422<br />
1423<br />
1424<br />
1425<br />
1426<br />
1427<br />
1428<br />
1429<br />
1430<br />
1431<br />
1432<br />
1433<br />
1434<br />
1435<br />
5.2.4 Output Data Formats<br />
The CLP specifies the following named, selectable formats for output data: "text", "keyword", and<br />
"clpxml". These data formats are defined in the following clauses.<br />
5.2.4.1 General<br />
Implementations shall support "text" format and shall provide "text" format output as the default output<br />
setting. When other output data formats are supported, implementations shall allow the user to override<br />
the format on a per-command basis using the command option output. Implementations shall also<br />
provide an environment setting to control output format for all commands, unless overridden by the user.<br />
If an implementation supports at least one output format other than "text", the implementation shall<br />
support the "clpxml" output format.<br />
5.2.4.2 Text Format<br />
The output format "text" is the default format for output. Output in "text" format is not recommended to be<br />
parsed by an automated agent. This format is suitable only to be read by a person. Text output format will<br />
vary from implementation to implementation.<br />
When "text" output format is selected, implementations may use any output text wording that is deemed<br />
appropriate to convey the <strong>Command</strong> Response data elements to the user. When the <strong>Command</strong><br />
Response is presented in "text" format, the implementation may provide execution status data as part of<br />
the text description of the <strong>Command</strong> Results or, if the command is successful, the implementation may<br />
not include an explicit statement of execution status in the <strong>Command</strong> Response.<br />
5.2.4.3 Structured Outputs<br />
This clause details requirements related to structured output.<br />
5.2.4.3.1 General<br />
The CLP specification defines two structured output formats: "keyword" and "clpxml". When returning a<br />
<strong>Command</strong> Response formatted according to a structured output, the implementation shall use the specific<br />
keywords and values identified in 222H5.2.3.1 and 223H5.2.3.2 for each data element included in the <strong>Command</strong><br />
Status data element.<br />
For information about the rules governing the use of the output option to select an output format, see<br />
Error! Reference source not found..<br />
Version 1.0.2 45
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1436<br />
1437<br />
1438<br />
1439<br />
1440<br />
1441<br />
1442<br />
1443<br />
1444<br />
1445<br />
1446<br />
1447<br />
1448<br />
1449<br />
1450<br />
1451<br />
1452<br />
1453<br />
1454<br />
1455<br />
1456<br />
1457<br />
1458<br />
1459<br />
1460<br />
1461<br />
1462<br />
1463<br />
1464<br />
1465<br />
1466<br />
1467<br />
1468<br />
1469<br />
1470<br />
1471<br />
1472<br />
1473<br />
1474<br />
1475<br />
1476<br />
1477<br />
1478<br />
1479<br />
1480<br />
1481<br />
1482<br />
1483<br />
1484<br />
1485<br />
1486<br />
1487<br />
1488<br />
1489<br />
1490<br />
5.2.4.3.2 Keyword=Value Format<br />
The "keyword" output format requests the command to format the output in a "keyword=value" format. To<br />
select "keyword" format explicitly, the implementations shall accept "keyword" as the argument value for<br />
the format argument to the output option.<br />
In "keyword" output format, output data element items appear in sequence as "="<br />
items separated by the end-of-line character sequence. Implementations shall use double quotes around<br />
any value that contains the end-of-line sequence.<br />
Implementations shall specify a group of "keyword" items that are to be interpreted as a single item or<br />
collection by using the "begingroup" keyword and a value identifying the type of data. Implementations<br />
shall terminate a group by using the "endgroup" keyword. When a "begingroup" keyword appears in the<br />
output, all keywords that follow are interpreted as part of a group until the next "endgroup" keyword.<br />
Implementations shall indicate the end of the <strong>Command</strong> Response by using the "endoutput" keyword.<br />
Implementations may include blank lines or lines that have an # character (octothorp) in the first character<br />
position in the output. If an implementation includes blank lines or lines that have an # character<br />
(octothorp) in the first character position in the output, the implementation shall not impart a meaning to<br />
the blank lines.<br />
The general form of the "keyword" output format is as follows:<br />
commandline=the commandline that was processed<br />
status=Integer job status code<br />
status_tag=String job status<br />
error=integer processing error code, if there is one<br />
error_tag=string description of processing error<br />
begingroup=message<br />
owningentity=organization owning a message<br />
message_id=string identifier for the message, unique with the value of owningentity<br />
message=message text<br />
message_arg=Insertion value 1 for the message<br />
.<br />
.<br />
.<br />
message_arg=Insertion value n for the message<br />
endgroup<br />
job_id=Identifier for the job created to execute the command<br />
errtype=Integer code for the high level category of execution error<br />
errtype_desc=string description of the execution error<br />
cimstat=integer code for the CIM error<br />
cimstat_desc=string description of the CIM error<br />
severity=integer code indicating the severity of the error<br />
severity_desc=description corresponding to the severity code<br />
probcause=integer code indicating the probable cause of the execution error<br />
probcause_desc=description corresponding to the probable cause code<br />
errsource=Target Address of error source<br />
errsourceform=SMA Target Address<br />
errsourceform_desc=SM Target Address<br />
recmdaction=Free-form string describing action to take to resolve the error<br />
begingroup=message<br />
owningentity=organization owning a message<br />
message_id=string identifier for the message, unique with the value of owningentity<br />
message=message text<br />
message_arg=Insertion value 1 for the message<br />
.<br />
.<br />
.<br />
message_arg=Insertion value n for the message<br />
endgroup<br />
46 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1491<br />
1492<br />
1493<br />
1494<br />
1495<br />
1496<br />
1497<br />
1498<br />
1499<br />
1500<br />
1501<br />
1502<br />
1503<br />
1504<br />
1505<br />
1506<br />
1507<br />
1508<br />
1509<br />
1510<br />
1511<br />
1512<br />
1513<br />
1514<br />
1515<br />
1516<br />
1517<br />
1518<br />
1519<br />
1520<br />
1521<br />
1522<br />
1523<br />
1524<br />
1525<br />
1526<br />
1527<br />
1528<br />
1529<br />
1530<br />
1531<br />
1532<br />
1533<br />
1534<br />
1535<br />
1536<br />
1537<br />
1538<br />
1539<br />
.<br />
.<br />
.<br />
command=<br />
.<br />
.<br />
.<br />
Verb and target-specific keywords<br />
.<br />
.<br />
.<br />
endoutput<br />
If an implementation includes OEM output for a command issued with a CLP verb, the implementation<br />
shall return the OEM output after the standard output for the command and before the final "endoutput"<br />
keyword. If an implementation includes OEM defined keywords for inclusion in the output, the<br />
implementation shall define each keyword using the convention for OEM name extensions defined in<br />
224H5.2.6.2.<br />
If an implementation is returning "keyword" output for an OEM <strong>Command</strong> Form command, the<br />
implementation shall return the <strong>Command</strong> Status using the standard keyword structure and shall<br />
substitute the "command" keyword and subsequent output with the keyword "oemcommand" followed by<br />
the vendor-defined output.<br />
5.2.4.3.3 XML Format<br />
The output format "clpxml" requests the command to format the output in an XML document format. To<br />
select "clpxml" format explicitly, implementations shall accept "clpxml" as the value for the format<br />
argument to the option option.<br />
In "clpxml" output format, the output data is a well-formed XML document. The XML document schema<br />
(tags and so on) is defined per command. An outline of the XML document specific to each CLP verb is<br />
located in the "XML Output" subclause for that verb in Clause 225H6.<br />
The XML schema defining the <strong>Command</strong> Response data element is defined using XSD in <strong>Server</strong><br />
<strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Command</strong> Response XML Schema v1.0 (226H6HDSP0224).<br />
The XML schema is intended to address the requirements of users of the CLP for a simple, parsable<br />
schema to represent CLP output. It is not intended as a data exchange format to fully represent a CIM<br />
instance or class. If an implementation returns <strong>Command</strong> Response data as an XML document, the<br />
implementation shall ensure that the document default namespace is:<br />
"http://schemas.dmtf.org/smash/commandresponse/1.0.0/dsp0224.xsd"<br />
OEM vendors may extend the <strong>Command</strong> Response schema. If OEM vendors extend the <strong>Command</strong><br />
Response schema, the implementation shall place the OEM extensions into a distinct namespace and<br />
shall define a namespace prefix that follows the convention for OEM name extensions defined in 227H5.2.6.2.<br />
5.2.5 Internationalization/Localization<br />
This clause outlines the support for internationalization and localization provided for by the CLP<br />
specification. For the purposes of the CLP specification, internationalization is interpreted to mean the<br />
substitution of strings in one language for strings having equivalent meaning in another language.<br />
Localization refers to the formatting of information for conformance with the norms of a particular locale.<br />
5.2.5.1 <strong>Command</strong> Input<br />
CLP implementations shall not provide support for internationalization of <strong>Command</strong> <strong>Line</strong> terms. CLP<br />
implementations may provide support for localization of input data. Furthermore, a CLP implementation<br />
shall not support alternative strings for CLP command verbs, option names, and target property names<br />
except as OEM extensions (see 228H5.2.6). <strong>Command</strong>s written using alternative strings for these <strong>Command</strong><br />
<strong>Line</strong> terms will not be portable from implementation to implementation.<br />
Version 1.0.2 47
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1540<br />
1541<br />
1542<br />
1543<br />
1544<br />
1545<br />
1546<br />
1547<br />
1548<br />
1549<br />
1550<br />
1551<br />
1552<br />
1553<br />
1554<br />
1555<br />
1556<br />
1557<br />
1558<br />
1559<br />
1560<br />
1561<br />
1562<br />
1563<br />
1564<br />
1565<br />
1566<br />
1567<br />
1568<br />
1569<br />
1570<br />
1571<br />
1572<br />
1573<br />
1574<br />
1575<br />
1576<br />
1577<br />
1578<br />
1579<br />
5.2.5.2 <strong>Command</strong> Output<br />
This clause details requirements related to localized command output.<br />
5.2.5.2.1 CLP Service-Side Localization<br />
CLP implementations may support localized CLP command output. If the implementation supports<br />
localized output, the implementation shall support the language session setting and follow the described<br />
use of the setting as given in Error! Reference source not found..<br />
5.2.5.2.2 Client-Side Localization<br />
It is possible that a CLP implementation will support localization of CLP command output by the Client. To<br />
support localization of output data at the Client, a CLP implementation could support the following<br />
capabilities:<br />
• at least one of the structured output modes (see 229H5.2.4.3)<br />
• capability to report a Message Owner and Message Identifier for each translatable message<br />
when a structured output mode is selected (see 230H5.2.2)<br />
5.2.5.3 Locale<br />
The CLP does not specify a mechanism for setting a locale in the environment in order to perform<br />
translations of units of data. Implementations are expected to manage establishment of data units<br />
(measures, date and time, and so on) through Managed Element settings.<br />
Implementations shall include the appropriate units designation in "text" and structured output formats for<br />
each Managed Element property returned. This provides the Client the information needed to perform any<br />
translation of units locally.<br />
OEMs may provide extensions to the standard unit designations per the OEM extensions described in the<br />
next clause.<br />
5.2.6 OEM Extensions<br />
The CLP allows an OEM to add support for vendor-unique commands and output data. This clause<br />
details requirements related to OEM extensions to the CLP.<br />
5.2.6.1 General<br />
A vendor may extend the CLP in the following ways:<br />
• by providing OEM commands that conform to one of the specified CLP Extended Forms<br />
• by providing OEM output keywords<br />
5.2.6.2 OEM Extension Name Strings<br />
Implementations shall identify any OEM Extension Name Strings used for CLP <strong>Command</strong> <strong>Line</strong> terms with<br />
the CLP standard prefix "OEM" followed by a vendor-unique identification string so that they will exist in a<br />
namespace separate from those that are specified by this document. Conversely, implementations shall<br />
not support any other command verbs other than those specified in this specification or those identified as<br />
vendor-specific using an OEM Extension Name String as documented here.<br />
Implementations shall use a value for the OEM string portion of the prefix that uniquely identifies the<br />
entity that owns and defines the command. The string shall include a copyrighted, trademarked, or<br />
otherwise unique name that is owned by the business entity or standards body defining the command.<br />
Implementations shall interpret and recognize the standard portion of the string, "OEM", and the vendor<br />
identifier string as case insensitive.<br />
48 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1580<br />
1581<br />
1582<br />
1583<br />
1584<br />
1585<br />
1586<br />
1587<br />
1588<br />
1589<br />
1590<br />
1591<br />
1592<br />
1593<br />
1594<br />
1595<br />
1596<br />
1597<br />
1598<br />
1599<br />
1600<br />
1601<br />
1602<br />
1603<br />
1604<br />
1605<br />
1606<br />
1607<br />
1608<br />
1609<br />
1610<br />
1611<br />
1612<br />
1613<br />
1614<br />
1615<br />
1616<br />
1617<br />
1618<br />
EXAMPLE ("OEM"=="oem"=="Oem" and "VENDOR"=="vendor"=="Vendor"), where the term "vendor" is not<br />
taken to be a literal and instead is a value such as "Acme".<br />
5.2.6.3 <strong>Command</strong> Extension Forms<br />
The CLP recognizes two forms of command extension:<br />
• CLP Verb Extended Form<br />
• OEM <strong>Command</strong> <strong>Line</strong> Extended Form<br />
5.2.6.3.1 General<br />
If a <strong>Command</strong> <strong>Line</strong> contains an OEM Extension Name String that is not supported by the implementation,<br />
the implementation shall return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and a<br />
Processing Error of UNRECOGNIZED OEM EXTENSION.<br />
5.2.6.3.2 CLP Verb Extended Form<br />
The CLP Verb Extended Form requires that a standard CLP command verb appear as the first term on<br />
the <strong>Command</strong> <strong>Line</strong>.<br />
5.2.6.3.2.1 General<br />
A vendor may define vendor-specific <strong>Command</strong> <strong>Line</strong> terms for options, option arguments, option<br />
argument values, target addresses, and target properties, as long as those terms follow the semantics<br />
defined in the CLP specification.<br />
5.2.6.3.2.2 Terms<br />
• CLP Verb/Options and/or Option Arguments<br />
• OEM Options and/or Option Argument(s)<br />
• OEM Target Addresses and/or Property Names<br />
5.2.6.3.2.3 Syntax<br />
*["-" [OEM]] `<br />
*[-OEM [OEM]] `<br />
OEM<br />
`<br />
*(OEM)<br />
5.2.6.3.2.4 Rules<br />
The CLP specification defines the behavior of the verb and associated CLP options when the option is<br />
specified with a CLP-defined argument.<br />
• OEM Arguments to SM CLP options and property names and values shall observe CLP syntax<br />
and delimiter rules.<br />
• The implementation shall not support OEM option arguments or option argument values that are<br />
inconsistent with the behavior of the CLP option. The behavior of the OEM-defined argument is<br />
vendor specific. For example, an OEM argument to the display option cannot be used to<br />
modify the targets of a command.<br />
• Implementations shall not accept a short form for an OEM Option.<br />
• Implementations of OEM targets/properties shall observe/adhere to the specified CLP<br />
verb/option behaviors.<br />
Version 1.0.2 49
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1619<br />
1620<br />
1621<br />
1622<br />
1623<br />
1624<br />
1625<br />
1626<br />
1627<br />
1628<br />
1629<br />
1630<br />
1631<br />
1632<br />
1633<br />
1634<br />
1635<br />
1636<br />
1637<br />
1638<br />
1639<br />
1640<br />
1641<br />
1642<br />
1643<br />
1644<br />
1645<br />
1646<br />
1647<br />
1648<br />
1649<br />
1650<br />
1651<br />
1652<br />
1653<br />
1654<br />
1655<br />
1656<br />
1657<br />
• When defining OEM target name addresses, implementations shall observe the CLP command<br />
delimiter characters and may follow CLP target naming addressing syntax or semantics.<br />
The behavior of OEM-defined options is outside the scope of this specification. Vendors are free to define<br />
the format of arguments to OEM options as their needs dictate. This specification places no restrictions<br />
on whether options are separated from their arguments by a delimiter, whether options conditionally<br />
accept arguments, and so on. Therefore, when an OEM-defined option is included in a command, it is<br />
likely to be necessary to have a priori knowledge of the option in order to deterministically parse the<br />
<strong>Command</strong> <strong>Line</strong>.<br />
5.2.6.3.3 OEM <strong>Command</strong> <strong>Line</strong> Extended Form<br />
OEM <strong>Command</strong> <strong>Line</strong> Extended Form, or OEM <strong>Command</strong> Form, allows a vendor to provide access to<br />
vendor-specific commands and command formats. OEM <strong>Command</strong> Form is indicated by an OEM<br />
Extension Name String as the first term on the <strong>Command</strong> <strong>Line</strong>. This term signals a fully OEM-defined<br />
command format. Other than this requirement, the commands specified in OEM commands space,<br />
arguments, and so on are suggested to remain in line with those presented in the CLP specification, but<br />
are not controlled or defined in any way by this document.<br />
5.2.6.3.3.1 Terms<br />
• Full OEM-specified command format<br />
• Includes form where an OEM extension appears in every CLP <strong>Command</strong> <strong>Line</strong> term position<br />
5.2.6.3.3.2 Syntax<br />
OEM <br />
OEM <br />
Note the CLP term separator after the first term.<br />
5.2.6.3.3.3 Rules<br />
The vendor completely defines the command syntax, behavior, target addressing, and so on that appear<br />
after the first term, where the first term is prefixed by "OEM".<br />
5.2.6.4 Output Extensions<br />
This clause details requirements related to vendor extensions to the CLP output.<br />
5.2.6.4.1 Vendor-Specific Keywords<br />
A vendor may supply additional output data elements in the response to any CLP command. An<br />
implementation may support vendor-supplied keyword names. The implementation shall define any<br />
vendor-supplied keyword names such that they comply with the rules for defining OEM Extension Name<br />
Strings defined in 231H5.2.6.2.<br />
EXAMPLE If vendor "ZYX" introduced an output data element keyword "foobar", the resulting keyword would<br />
be "OEMZYXfoobar".<br />
5.2.6.4.2 Vendor-Specific Messages and Message Files<br />
Vendors may define and identify vendor-specific messages using the standard SM CLP message<br />
keywords message_id, message_arg, and owningentity as defined in 232H5.2.2.<br />
While the keywords and schema for command output are defined by SM CLP, the format of any message<br />
files local to the Client is outside the scope of this specification.<br />
50 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1658<br />
1659<br />
1660<br />
1661<br />
1662<br />
1663<br />
1664<br />
1665<br />
1666<br />
1667<br />
1668<br />
1669<br />
1670<br />
1671<br />
6 SM CLP Verbs<br />
This clause gives a listing of all the verbs supported by the CLP, requirements for support by<br />
implementations, and a short description of their basic functionality. The subclauses further define the<br />
behavior of each verb.<br />
The documentation for each verb includes a statement of the command line syntax, a description of<br />
applicable targets of the verb, and a definition of the command output content, including output keywords<br />
to be included in structured forms of output. Where the effect of a supported option is unique to the verb,<br />
it will also be explicitly described. For a complete list of options, including which verbs they are supported<br />
with, see Clause 233H7.<br />
Examples are for information only. If an example contradicts specification text elsewhere in the document,<br />
the specification text is the authority. General rules and requirements for the <strong>Command</strong> Response are<br />
specified in 234H5.1.10. See 235HAnnex E for the conventions used in the examples.<br />
6.1 Verb Support Requirements<br />
The requirements in 236HTable 12 are interpreted as follows:<br />
1672<br />
1673<br />
1674<br />
1675<br />
1676<br />
1677<br />
shall<br />
PROFILE<br />
If the "Requirement" column in 237HTable 12 contains "shall", implementations shall support<br />
the verb specified in the "<strong>Command</strong>" column of that row.<br />
If the "Requirement" column in 238HTable 12 contains "PROFILE", implementations will<br />
support the verb specified in the "<strong>Command</strong>" column of that row when the<br />
implementations support a profile that defines a mapping for the verb. Specific<br />
by-target requirements are found in 239H32HDSP0216.<br />
1678<br />
1679<br />
1680<br />
1681<br />
1682<br />
1683<br />
1684<br />
1685<br />
1686<br />
1687<br />
1688<br />
The SM CLP syntax and semantics can be comprehended by a human user without intimate knowledge<br />
of the CIM Schema. The command verbs, options, targets, and properties are described in a traditional<br />
"man page" format, complete with command execution status and output data element descriptions.<br />
However, in order to implement a CLP Service, a developer needs to know the mapping of CLP verb<br />
option/target/property combinations to the CIM Schema. This mapping information is not included in this<br />
specification but is collected in a separate specification as noted above.<br />
If a CLP verb is specified as the first term of a <strong>Command</strong> <strong>Line</strong> and the implementation does not support<br />
any profiles which require that the verb be supported, the implementation shall not execute the command<br />
and the implementation shall return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and a<br />
Processing Error of COMMAND NOT SUPPORTED.<br />
Table 12 – Verb Support Requirements<br />
<strong>Command</strong> Requirement Definition and Usage<br />
cd shall Used to set the Current Default Target (navigate the target address space of the<br />
MAP).<br />
create PROFILE Used to create new instances and associations in the address space of the MAP.<br />
This command is allowed only for specific target object types as defined by the<br />
profiles and specific MAP implementation.<br />
delete PROFILE Used to destroy instances in the address space of the MAP. This command is<br />
allowed only for specific target object types as defined by the profiles and specific<br />
MAP implementation.<br />
dump PROFILE Used to move a binary image from the MAP to a URI.<br />
exit shall Used to terminate a CLP session.<br />
help shall Used to get context-sensitive help.<br />
load PROFILE Used to move a binary image to the MAP from a URI.<br />
Version 1.0.2 51
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
<strong>Command</strong> Requirement Definition and Usage<br />
reset PROFILE Used to cause a target with power/process control to cycle states from enabled to<br />
disabled and back to enabled.<br />
set shall Used to set a property or set of properties to a specific value.<br />
show shall Used to show values of a property or contents of a collection/target.<br />
start PROFILE Used to cause a target with power/process control to change states to a higher<br />
run level.<br />
stop PROFILE Used to cause a target with power/process control to change states to a lower run<br />
level.<br />
version shall Used to query the version of the CLP implementation (by default) and other CLP<br />
elements (when specified).<br />
1689<br />
1690<br />
1691<br />
1692<br />
1693<br />
1694<br />
1695<br />
1696<br />
1697<br />
1698<br />
1699<br />
1700<br />
1701<br />
1702<br />
1703<br />
1704<br />
1705<br />
1706<br />
1707<br />
1708<br />
1709<br />
1710<br />
1711<br />
1712<br />
1713<br />
1714<br />
1715<br />
1716<br />
1717<br />
1718<br />
1719<br />
1720<br />
6.2 cd<br />
The general form of the cd command is:<br />
cd [] []<br />
6.2.1 General<br />
For the cd command, implementations shall support the syntax defined for the cd-cmd term in the CLP<br />
grammar defined in 240HAnnex A.<br />
The cd (change default target) command is used to navigate the target address space of the<br />
implementation. The command changes the Current Default Target for the session. The new target<br />
address path is specified on the <strong>Command</strong> <strong>Line</strong> using the standard CLP target syntax and evaluated<br />
using the target address evaluation rules. An implementation shall accept a command target term that is<br />
either an Absolute Target Address or a Relative Target Address. As a result, the command supports both<br />
relative and absolute path changes. If a command target term is specified, implementations of the cd<br />
command shall evaluate the command target term to a UFiP, validate that the UFiP references a<br />
Managed Element in the address space of the MAP, and assign the CDT property of the Managed<br />
Element referenced by SESSION to the UFiP. If the command target term does not evaluate to a UFiP<br />
according to the rules defined in 241H5.1.3.5, implementations shall not change the Current Default Target and<br />
shall return a <strong>Command</strong> Status of COMMAND PROCESSING ERROR and a Processing Error of<br />
INVALID TARGET.<br />
Implementations of the cd command shall support usage without an argument. If no arguments appear<br />
on the <strong>Command</strong> <strong>Line</strong>, the command shall not change the Current Default Target, the implementation<br />
shall not attempt to validate that the CDT addresses a valid Managed Element, and the implementation<br />
shall return the Current Default Target path as output.<br />
Because the CLP supports relative addressing using the reserved character sequence "..", it is possible<br />
to construct a target address that nominally references a point beyond the beginning of the session’s root<br />
administration domain. Applying the command target term evaluation rules defined in 242H5.2.1.3.6 will result<br />
in the command target term being resolved to the root of the session’s address space. Thus an attempt to<br />
use the cd command to change the Current Default Target to a point beyond the beginning of address<br />
space will result in the CDT being assigned to the session’s root administration domain.<br />
6.2.2 Valid Targets<br />
Implementations of the cd command will accept an Absolute or a Relative Target Address for the<br />
command target term. The cd command has an Implicit <strong>Command</strong> Target, which is the session to which<br />
the SESSION Reserved Target will resolve.<br />
52 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1721<br />
1722<br />
1723<br />
1724<br />
1725<br />
1726<br />
1727<br />
1728<br />
1729<br />
1730<br />
1731<br />
1732<br />
1733<br />
1734<br />
1735<br />
1736<br />
1737<br />
1738<br />
1739<br />
1740<br />
1741<br />
1742<br />
1743<br />
1744<br />
1745<br />
1746<br />
1747<br />
1748<br />
1749<br />
1750<br />
1751<br />
1752<br />
1753<br />
6.2.3 Options<br />
Implementations of the cd command support the options specified in Error! Reference source not<br />
found..<br />
6.2.4 Output<br />
This clause details the requirements for output of the cd verb.<br />
6.2.4.1 Text Format<br />
The <strong>Command</strong> Results data shall include the Current Default Target that is in effect when the command<br />
completes.<br />
If the implementation cannot determine the current target address (due to error), the implementation shall<br />
return text indicating that the Current Default Target is invalid.<br />
6.2.4.2 Structured Format<br />
This clause details requirements for structured output formats for the cd verb.<br />
6.2.4.2.1 General<br />
The returned data shall include any status data in the standard format at the top of the response.<br />
6.2.4.2.2 XML Output<br />
The implementation shall return the cd element in the response element as defined in the <strong>Command</strong><br />
Response schema in 243H6HDSP0224.<br />
<br />
User Friendly instance Path of the CDT <br />
<br />
6.2.4.2.3 Keyword<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the cd command in<br />
"keyword" format.<br />
command=cd<br />
ufip=User Friendly instance Path of the CDT<br />
endoutput<br />
6.2.5 Examples<br />
The following examples assume that the user is on a four-CPU system and each command starts with the<br />
Current Default Target set to /system1/cpu2.<br />
EXAMPLE 1: Returns the Current Default Target and does not change it. No validation of the CDT is performed<br />
by the implementation.<br />
-> cd<br />
/system1/cpu2<br />
1754<br />
1755<br />
1756<br />
1757<br />
EXAMPLE 2:<br />
Returns the Current Default Target and does not change it. The CDT is validated and appropriate<br />
<strong>Command</strong> Response data is returned if it is no longer valid.<br />
-> cd .<br />
/system1/cpu2<br />
Version 1.0.2 53
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1758<br />
1759<br />
1760<br />
1761<br />
1762<br />
1763<br />
1764<br />
1765<br />
1766<br />
1767<br />
1768<br />
1769<br />
1770<br />
1771<br />
1772<br />
1773<br />
1774<br />
1775<br />
1776<br />
1777<br />
1778<br />
1779<br />
1780<br />
1781<br />
1782<br />
1783<br />
1784<br />
1785<br />
1786<br />
1787<br />
1788<br />
1789<br />
1790<br />
1791<br />
1792<br />
1793<br />
1794<br />
1795<br />
1796<br />
1797<br />
1798<br />
1799<br />
1800<br />
1801<br />
1802<br />
1803<br />
1804<br />
1805<br />
EXAMPLE 3:<br />
EXAMPLE 4:<br />
EXAMPLE 5:<br />
EXAMPLE 6:<br />
EXAMPLE 7:<br />
EXAMPLE 8:<br />
EXAMPLE 9:<br />
Moves to the parent (container) of the Current Default Target (up the tree) one level.<br />
-> cd ..<br />
/system1<br />
Moves up the containment tree two levels.<br />
-> cd ../..<br />
/<br />
Changes the Current Default Target to the (absolute) target /system1/cpu1.<br />
-> cd /system1/cpu1<br />
/system1/cpu1<br />
Changes the Current Default Target to /system1/cpu2/temp1 (assuming a target named with<br />
a UFiT of temp1 exists within /system1/cpu2).<br />
-> cd temp1<br />
/system1/cpu2/temp1<br />
Moves to the session’s Current Default Target’s parent and then to cpu1.<br />
-> cd ../cpu1<br />
/system1/cpu1<br />
Returns the error (the target does not resolve) and then returns the current target.<br />
-> cd cpu1<br />
No such target found<br />
/system1/cpu2<br />
Returns the error (the target does not resolve) and then returns the current target.<br />
-> cd –o format=clpxml /cpu1<br />
<br />
<br />
<br />
cd -o format=clpxml /cpu1<br />
<br />
<br />
3<br />
COMMAND EXECUTION FAILED<br />
<br />
243<br />
<br />
1<br />
6<br />
CIM_ERR_NOT_FOUND<br />
2<br />
<br />
<br />
<br />
<br />
/system1<br />
<br />
<br />
54 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1806<br />
1807<br />
1808<br />
1809<br />
1810<br />
1811<br />
1812<br />
1813<br />
1814<br />
1815<br />
1816<br />
1817<br />
1818<br />
1819<br />
1820<br />
1821<br />
1822<br />
1823<br />
1824<br />
1825<br />
1826<br />
1827<br />
1828<br />
1829<br />
1830<br />
1831<br />
1832<br />
1833<br />
1834<br />
1835<br />
1836<br />
1837<br />
1838<br />
1839<br />
1840<br />
1841<br />
1842<br />
1843<br />
1844<br />
1845<br />
1846<br />
1847<br />
1848<br />
1849<br />
1850<br />
1851<br />
1852<br />
1853<br />
1854<br />
1855<br />
1856<br />
1857<br />
1858<br />
EXAMPLE 10:<br />
EXAMPLE 11:<br />
EXAMPLE 12:<br />
EXAMPLE 13:<br />
Changes Current Default Target to /system1/cpu3.<br />
-> cd –o format=clpxml /system1/cpu3<br />
<br />
<br />
<br />
cd -o format=clpxml /system1/cpu3<br />
<br />
<br />
0<br />
COMMAND COMPLETED<br />
<br />
3<br />
<br />
<br />
<br />
/system1/cpu3<br />
<br />
<br />
Changes Current Default Target to /system1/cpu3.<br />
-> cd –o format=keyword /system1/cpu3<br />
commandline=cd –o format=keyword /system1/cpu3<br />
status=0<br />
status_tag=COMMAND COMPLETED<br />
job_id=3<br />
command=cd<br />
ufip=/system1/cpu3<br />
endoutput<br />
Attempts to change Current Default Target to system3, and system3 is currently unresponsive.<br />
-> cd –o format=keyword /system3<br />
commandline=cd –o format=keyword /system3<br />
status=3<br />
status_tag=COMMAND EXECUTION FAILED<br />
job_id=3<br />
errtype=2<br />
cimstat=6<br />
severity=2<br />
command=cd<br />
ufip=/system3<br />
endoutput<br />
Bad syntax on command target term.<br />
-> cd –output format=keyword //system3<br />
commandline=cd –output format=keyword //system3<br />
status=2<br />
status_tag=COMMAND PROCESSING FAILED<br />
error=246<br />
error_tag=INVALID TARGET<br />
command=cd<br />
ufip=/system3<br />
endoutput<br />
Version 1.0.2 55
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1859<br />
1860<br />
1861<br />
EXAMPLE 14:<br />
Changes Current Default Target to SESSION.<br />
-> cd SESSION<br />
/map1/settings1/setting5<br />
1862<br />
6.3 create<br />
1863<br />
1864<br />
1865<br />
1866<br />
1867<br />
1868<br />
1869<br />
1870<br />
1871<br />
1872<br />
1873<br />
1874<br />
1875<br />
1876<br />
1877<br />
1878<br />
1879<br />
1880<br />
1881<br />
1882<br />
1883<br />
1884<br />
1885<br />
1886<br />
1887<br />
1888<br />
1889<br />
1890<br />
1891<br />
1892<br />
1893<br />
1894<br />
1895<br />
1896<br />
1897<br />
1898<br />
1899<br />
1900<br />
1901<br />
1902<br />
The general form of the create command is:<br />
create [] [=] [=]<br />
6.3.1 General<br />
For the create command, implementations shall support the syntax defined for the create-cmd term in<br />
the CLP grammar defined in 244HAnnex A.<br />
The create command is used to create new target objects in the target address space of the<br />
implementation. The create command is supported only in certain specific target profiles. This<br />
command will be supported on any implementation capable of creating new target objects. An example is<br />
log records. The exact support will be determined by the profiles supported on that implementation.<br />
When creating a new instance, the command target is the object to be created. The class of the object<br />
being created is determined by the class tag section of the target address passed to the command. If the<br />
final term of the Resultant Address is a specific UFiT, the implementation shall create an instance with the<br />
specific UFiT if possible or return an error if creation is not possible. If the Resultant Target terminates in<br />
a UFsT, the path up to and including the penultimate term determines the effective target container where<br />
the implementation shall create an instance of the class identified by the UFcT specified by the UFsT, if<br />
possible, or return an error if it is not possible.<br />
The create command does not support usage without <strong>Command</strong> <strong>Line</strong> parameters. When a command<br />
target term is not included in the <strong>Command</strong> <strong>Line</strong>, the implementation shall not execute the command and<br />
shall return a <strong>Command</strong> Status of COMMAND PROCESSING ERROR and a Processing Error of<br />
MISSING REQUIRED TARGET. The create command can either be used with property name and<br />
value pairs or with the source option. When property name and value pairs are specified as target<br />
property terms, the implementation will attempt to assign each named property the associated value. If<br />
there are additional properties on the instance, the implementation will provide default values. If the<br />
implementation cannot assign default values to unspecified properties, it will return an error. The required<br />
properties, default values, and so on are documented in the CLP-to-CIM mapping for the profile that<br />
defines the target. When the create verb is specified without the source option, or at least one target<br />
property term, the implementation will return a Processing Error of COMMAND SYNTAX ERROR. When<br />
the source option and at least one target property term are both specified in a command, the<br />
implementation will return a Processing Error of COMMAND SYNTAX ERROR. The number of options<br />
and properties required will vary depending on the command and the target. Specific per-target required<br />
options and properties are documented in 245H32HDSP0216.<br />
6.3.2 Valid Targets<br />
This command is supported when it is specified in a target mapping ( 246H32HDSP0216) for a profile that the<br />
implementation supports. For all targets that do not support the use of the create command,<br />
implementations shall not show the create command in a command listing as being available. The<br />
behavior of this command does change on a per-target basis. Implementations of the create command<br />
will accept an Absolute or a Relative Target Address for the command target term. If the Resultant<br />
Address is not a UFiP and does not terminate in a UFsT, implementations shall return a <strong>Command</strong> Status<br />
of COMMAND PROCESSING ERROR and a Processing Error of INVALID TARGET.<br />
56 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1903<br />
1904<br />
1905<br />
6.3.3 Options<br />
Implementations of the create command support the options specified in Error! Reference source not<br />
found.. The use of the source option is as follows:<br />
1906<br />
1907<br />
1908<br />
1909<br />
1910<br />
-source<br />
6.3.4 Output<br />
The source option is used to identify a Managed Element or other data source that will<br />
provide initial values for the instance to be created. Examples include a Managed<br />
Element that will be cloned or settings to use. When this option is supported for use<br />
with a particular target, it is defined in the CLP-to-CIM mapping for that target.<br />
1911<br />
1912<br />
1913<br />
1914<br />
1915<br />
1916<br />
1917<br />
1918<br />
1919<br />
1920<br />
1921<br />
1922<br />
1923<br />
1924<br />
1925<br />
1926<br />
1927<br />
1928<br />
1929<br />
1930<br />
1931<br />
1932<br />
1933<br />
1934<br />
1935<br />
1936<br />
1937<br />
1938<br />
1939<br />
1940<br />
1941<br />
1942<br />
1943<br />
This clause details the requirements for output of the create verb.<br />
6.3.4.1 Text Format<br />
If an object was created, the implementation shall return information about the created object appropriate<br />
to the output modifiers selected by the command. If no object was created, the implementation shall<br />
indicate this result.<br />
6.3.4.2 Structured Format<br />
This clause details requirements for structured output formats for the create verb.<br />
6.3.4.2.1 General<br />
The returned data shall include any status data in the standard format at the top of the response. The<br />
create command shall then return a list of the created objects with the keyword "instance". If the<br />
implementation cannot create any objects, it should not return any additional data or keywords.<br />
6.3.4.2.2 XML Output<br />
The implementation shall return the create element in the response element in the returned XML<br />
document as defined in the <strong>Command</strong> Response schema in 247H6HDSP0224.<br />
<br />
<br />
User Friendly instance Path identifying target <br />
Properties of the Managed Element.<br />
A property of Managed Element. Each property element is defined<br />
per the xsd.<br />
A property of Managed Element. Each property element is defined<br />
per the xsd.<br />
<br />
<br />
<br />
6.3.4.2.3 Keyword<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the create command<br />
in "keyword" format:<br />
command=create<br />
begingroup=instance<br />
ufip=User Friendly instance Path of created instance<br />
endgroup<br />
endoutput<br />
Version 1.0.2 57
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1944<br />
1945<br />
1946<br />
1947<br />
1948<br />
1949<br />
1950<br />
1951<br />
1952<br />
1953<br />
1954<br />
1955<br />
1956<br />
6.3.5 Examples<br />
The following examples try to create a log entry in a log.<br />
EXAMPLE 1: Successfully creates a record log.<br />
-> create log1/record* event="The dummy test ran" `<br />
probablecause="Running a dummy test" `<br />
recommendedactions="Don’t run dummy test" `<br />
severity=unknown source=me<br />
Event = The dummy test ran<br />
RecordID = 75<br />
ProbableCause = Running a dummy test<br />
RecommendedActions = Don’t run dummy test<br />
Severity = unknown<br />
Source = me<br />
1957<br />
1958<br />
1959<br />
1960<br />
1961<br />
1962<br />
1963<br />
1964<br />
1965<br />
1966<br />
1967<br />
1968<br />
1969<br />
1970<br />
1971<br />
1972<br />
1973<br />
1974<br />
1975<br />
1976<br />
1977<br />
1978<br />
1979<br />
1980<br />
1981<br />
1982<br />
1983<br />
1984<br />
1985<br />
1986<br />
1987<br />
1988<br />
1989<br />
1990<br />
1991<br />
1992<br />
1993<br />
1994<br />
EXAMPLE 2:<br />
EXAMPLE 3:<br />
EXAMPLE 4:<br />
Fails to create a log record due to missing properties.<br />
-> create log1/record*<br />
Create failed—-missing required properties.<br />
Fails to create a log record due to missing properties.<br />
-> create –output format=clpxml log1/record*<br />
<br />
<br />
<br />
create -output format=clpxml log1/record*<br />
<br />
<br />
3<br />
COMMAND EXECUTION FAILED<br />
<br />
89<br />
<br />
1<br />
Unknown<br />
4<br />
CIM_ERR_INVALID_PARAMETER<br />
2<br />
<br />
<br />
<br />
<br />
<br />
Fails to create a log record due to missing properties.<br />
-> create –output format=keyword log1/record*<br />
commandline=create -output format=keyword log1/record*<br />
status=3<br />
status_tag=COMMAND EXECUTION FAILED<br />
job_id=89<br />
errtype=1<br />
58 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1995<br />
1996<br />
1997<br />
1998<br />
1999<br />
2000<br />
2001<br />
2002<br />
2003<br />
2004<br />
2005<br />
2006<br />
2007<br />
2008<br />
2009<br />
2010<br />
2011<br />
2012<br />
2013<br />
2014<br />
2015<br />
2016<br />
2017<br />
2018<br />
2019<br />
2020<br />
2021<br />
2022<br />
2023<br />
2024<br />
2025<br />
2026<br />
2027<br />
2028<br />
2029<br />
2030<br />
2031<br />
2032<br />
2033<br />
2034<br />
2035<br />
2036<br />
2037<br />
2038<br />
2039<br />
2040<br />
2041<br />
EXAMPLE 5:<br />
errtype_desc=unknown<br />
cimstat=4<br />
cimstat_desc=CIM_ERROR_INVALID_PARAMETER<br />
severity=2<br />
command=create<br />
endoutput<br />
Successfully creates a new user account on the MAP.<br />
-> create –o format=clpxml /map1/user* userid=someuser<br />
password=somepassword<br />
<br />
<br />
<br />
create -o format=clpxml /map1/user* userid=someuser<br />
password=somepassword<br />
<br />
<br />
0<br />
<br />
45<br />
<br />
<br />
<br />
<br />
user4<br />
/map1/user4<br />
<br />
<br />
userid<br />
<br />
someuser<br />
<br />
<br />
<br />
password<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Version 1.0.2 59
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2042<br />
2043<br />
2044<br />
2045<br />
2046<br />
2047<br />
2048<br />
2049<br />
2050<br />
2051<br />
2052<br />
2053<br />
EXAMPLE 6:<br />
Successfully creates a new user account on the MAP.<br />
-> create –o format=keyword /map1/user* userid=someuser<br />
password=somepassword<br />
commandline=create –o format=keyword /map1/user userid=someuser<br />
password=somepassword<br />
status=0<br />
job_id=45<br />
command=create<br />
begingroup=instance<br />
ufip=/map1/user4<br />
endgroup<br />
endoutput<br />
2054<br />
6.4 delete<br />
2055<br />
2056<br />
2057<br />
2058<br />
2059<br />
2060<br />
2061<br />
2062<br />
2063<br />
2064<br />
2065<br />
2066<br />
2067<br />
2068<br />
2069<br />
2070<br />
2071<br />
2072<br />
2073<br />
2074<br />
2075<br />
2076<br />
2077<br />
2078<br />
2079<br />
2080<br />
The general form of the delete command is:<br />
delete [] <br />
6.4.1 General<br />
For the delete command, implementations shall support the syntax defined for the delete-cmd term in<br />
the CLP grammar defined in 248HAnnex A.<br />
The delete command is used to remove a target. The delete command is supported only in certain<br />
specific target profiles. This command shall be supported on any implementation capable of deleting<br />
target objects. The exact support on a MAP will be determined by the profiles supported in that<br />
implementation.<br />
This command can be used with and without <strong>Command</strong> <strong>Line</strong> options. If the Resultant Target terminates in<br />
a UFsT, the path up to and including the penultimate term determines the target of the command. The<br />
implementation shall delete all instances of the type specified by the UFcT indicated by the UFsT that are<br />
immediately contained in the target or return an error.<br />
Even if the target for the delete command is such that executing the command will result in deleting the<br />
Managed Element indicated by the CDT, the implementation shall delete all of the referenced targets in<br />
the scope, including the target referenced by the CDT. It is possible that the CDT will then refer to a target<br />
that has been deleted. The user will discover that the CDT is invalid the next time the Resultant Target for<br />
a command is the same as the value of the CDT.<br />
6.4.2 Valid Targets<br />
This command is supported when it is specified in a target mapping ( 249H32HDSP0216) for a profile that the<br />
implementation supports. For all targets that do not support the use of the delete command,<br />
implementations shall not show the delete command in a command listing as being available. The<br />
behavior of this command does not change on a per-target basis. Implementations of the delete<br />
command will accept an Absolute or a Relative Target Address for the command target term. If the<br />
Resultant Address is not a UFiP and does not terminate in a UFsT, implementations shall return a<br />
<strong>Command</strong> Status of COMMAND PROCESSING ERROR and a Processing Error of INVALID TARGET.<br />
60 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2081<br />
2082<br />
2083<br />
2084<br />
6.4.3 Options<br />
Implementations of the delete command will support the options specified in Error! Reference source<br />
not found.. The implementation will support other options for the command as specified in the specific<br />
target profile.<br />
2085<br />
2086<br />
2087<br />
2088<br />
2089<br />
-f, -force<br />
6.4.4 Output<br />
The force option allows objects to be deleted, ignoring any policy that might<br />
cause the implementation to normally not execute the command. When this option<br />
is used, the implementation shall execute this deletion if at all possible, without<br />
regard to consequences.<br />
2090<br />
2091<br />
2092<br />
2093<br />
2094<br />
2095<br />
2096<br />
2097<br />
2098<br />
2099<br />
2100<br />
2101<br />
2102<br />
2103<br />
2104<br />
2105<br />
2106<br />
2107<br />
2108<br />
2109<br />
2110<br />
2111<br />
2112<br />
2113<br />
2114<br />
2115<br />
2116<br />
2117<br />
2118<br />
2119<br />
2120<br />
2121<br />
2122<br />
2123<br />
This clause details the requirements for output of the delete verb.<br />
6.4.4.1 Text Format<br />
Implementations shall return <strong>Command</strong> Result data that includes a list of deleted targets when the<br />
verbose argument is included with the output option, and implementations may specify the list of<br />
deleted targets using range notation. If no targets are deleted, the implementation shall indicate that no<br />
targets were deleted. For example, the implementation could return the string "No targets deleted" or an<br />
appropriate translation.<br />
6.4.4.2 Structured Format<br />
This clause details requirements for structured output formats for the delete verb.<br />
6.4.4.2.1 General<br />
The returned data shall include any status data in the standard format at the top of the response. The<br />
delete command shall then return a list of the deleted objects.<br />
6.4.4.2.2 XML Output<br />
The implementation shall return the delete element in the response element as defined in the<br />
<strong>Command</strong> Response schema in 250H6HDSP0224.<br />
<br />
<br />
<br />
<br />
UFiP identifying target.<br />
<br />
<br />
<br />
Recursive target elements representing Managed Elements contained in<br />
the initial target.<br />
<br />
.<br />
.<br />
.<br />
<br />
.<br />
.<br />
.<br />
<br />
Version 1.0.2 61
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2124<br />
2125<br />
2126<br />
2127<br />
2128<br />
2129<br />
2130<br />
2131<br />
2132<br />
2133<br />
2134<br />
2135<br />
2136<br />
2137<br />
2138<br />
6.4.4.2.3 Keyword<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the delete command<br />
in "keyword" format:<br />
command=delete<br />
ufip= UFiP of deleted instance<br />
.<br />
.<br />
.<br />
ufip= UFiP of deleted instance<br />
endoutput<br />
6.4.5 Examples<br />
The following examples delete a single log entry on a MAP that supports log deletion. For additional<br />
examples, see the target profiles that implement this command. Note that in the following examples, if no<br />
output format is specified, the default output format is in effect. For these examples, the default output<br />
format is text.<br />
2139<br />
2140<br />
2141<br />
2142<br />
2143<br />
2144<br />
2145<br />
2146<br />
2147<br />
2148<br />
2149<br />
2150<br />
2151<br />
2152<br />
2153<br />
2154<br />
2155<br />
2156<br />
2157<br />
2158<br />
2159<br />
2160<br />
2161<br />
2162<br />
2163<br />
2164<br />
2165<br />
2166<br />
2167<br />
2168<br />
2169<br />
EXAMPLE 1:<br />
EXAMPLE 2:<br />
EXAMPLE 3:<br />
EXAMPLE 4:<br />
EXAMPLE 5:<br />
EXAMPLE 6:<br />
Deletes the specific log record record1 contained in log1.<br />
-> delete log1/record1<br />
log1/record1 deleted.<br />
Deletes all instances of record contained in log1 (that is, clears the event log).<br />
-> delete –o verbose log1/record*<br />
record1 deleted.<br />
record2 deleted.<br />
record3 deleted.<br />
record4 deleted.<br />
record5 deleted.<br />
5 records successfully deleted.<br />
Deletes all instances of record contained in log1 (that is, clears the event log). Displays all of the<br />
results in reverse order.<br />
-> delete –o verbose,end,order=reverse log1/record*<br />
record5 deleted.<br />
record4 deleted.<br />
record3 deleted.<br />
record2 deleted.<br />
record1 deleted.<br />
5 records successfully deleted.<br />
Deletes all instances of record contained in log1.<br />
-> delete –o terse log1/record*<br />
5 records successfully deleted.<br />
Successfully deletes record3 in log1 in system34. Requests error-only output, so nothing is<br />
returned.<br />
-> delete –o error log1/record3<br />
Deletes record3 in log1 in system34.<br />
-> delete –o error,format=clpxml /system34/log1/record3<br />
<br />
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2170<br />
2171<br />
2172<br />
2173<br />
2174<br />
2175<br />
2176<br />
2177<br />
2178<br />
2179<br />
2180<br />
2181<br />
2182<br />
2183<br />
2184<br />
2185<br />
2186<br />
2187<br />
2188<br />
2189<br />
2190<br />
2191<br />
2192<br />
2193<br />
2194<br />
2195<br />
2196<br />
2197<br />
2198<br />
2199<br />
2200<br />
2201<br />
2202<br />
2203<br />
2204<br />
2205<br />
2206<br />
2207<br />
2208<br />
2209<br />
2210<br />
2211<br />
2212<br />
2213<br />
2214<br />
2215<br />
2216<br />
2217<br />
2218<br />
2219<br />
2220<br />
2221<br />
2222<br />
EXAMPLE 7:<br />
EXAMPLE 8:<br />
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />
xsi:schemaLocation="http://schemas.dmtf.org/smash/commandresponse/1.0.0<br />
/dsp0224.xsd smclp_command_response.xsd"><br />
<br />
delete -o error,format=clpxml<br />
/system34/log1/record3<br />
<br />
<br />
0<br />
COMMAND COMPLETED<br />
<br />
45<br />
<br />
<br />
<br />
<br />
<br />
record3<br />
/system34/log1/record3<br />
<br />
<br />
<br />
<br />
Deletes record3 in log1 in system34.<br />
-> delete –o format=keyword log1/record3<br />
commandline=delete –o format=keyword log1/record3<br />
status=0<br />
status_tag=COMMAND COMPLETED<br />
job_id=45<br />
command=delete<br />
ufip=/system34/log1/record3<br />
endoutput<br />
Attempts to delete a record that does not exist.<br />
-> delete –o format=clpxml log1/record334<br />
<br />
<br />
<br />
delete -o format=clpxml log1/record334<br />
<br />
<br />
3<br />
COMMAND EXECUTION FAILED<br />
<br />
5349<br />
<br />
1<br />
Other<br />
6<br />
CIM_ERR_NOT_FOUND<br />
Version 1.0.2 63
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2223<br />
2224<br />
2225<br />
2226<br />
2227<br />
2228<br />
2229<br />
2230<br />
2231<br />
2232<br />
2233<br />
2234<br />
2235<br />
2236<br />
2237<br />
2238<br />
2239<br />
2240<br />
2241<br />
2242<br />
2243<br />
2244<br />
2245<br />
2246<br />
2247<br />
2248<br />
2249<br />
2250<br />
2251<br />
2252<br />
2253<br />
2254<br />
2255<br />
2256<br />
2257<br />
2258<br />
2259<br />
2260<br />
2261<br />
2262<br />
2263<br />
2264<br />
2265<br />
2266<br />
2267<br />
2268<br />
2269<br />
2270<br />
2271<br />
2272<br />
2273<br />
EXAMPLE 9:<br />
EXAMPLE 10:<br />
2<br />
Low<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Attempts to delete individual records, but this operation is not supported by this implementation.<br />
-> delete –o format=clpxml log3/record334<br />
<br />
<br />
<br />
delete -o format=clpxml log3/record334<br />
<br />
<br />
3<br />
COMMAND EXECUTION FAILED<br />
<br />
2359<br />
<br />
1<br />
Other<br />
7<br />
CIM_ERR_NOT_SUPPORTED<br />
2<br />
Low<br />
<br />
<br />
<br />
<br />
<br />
Attempts to delete individual records, but this operation is not supported by this implementation.<br />
-> delete –o format=keyword log3/record334<br />
commandline=delete –o format=keyword log3/record334<br />
status=3<br />
status_tag=COMMAND EXECUTION FAILED<br />
job_id=2359<br />
errtype=1<br />
errtype_desc=Other<br />
cimstat=7<br />
cimstat_desc=CIM_ERR_NOT_SUPPORTED<br />
severity=2<br />
severity_desc=Low<br />
command=delete<br />
endoutput<br />
64 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2274<br />
2275<br />
2276<br />
2277<br />
2278<br />
2279<br />
2280<br />
2281<br />
2282<br />
2283<br />
2284<br />
2285<br />
2286<br />
2287<br />
2288<br />
2289<br />
2290<br />
2291<br />
2292<br />
2293<br />
2294<br />
2295<br />
2296<br />
2297<br />
2298<br />
2299<br />
2300<br />
2301<br />
2302<br />
2303<br />
2304<br />
2305<br />
2306<br />
2307<br />
2308<br />
2309<br />
2310<br />
2311<br />
2312<br />
2313<br />
2314<br />
2315<br />
2316<br />
2317<br />
2318<br />
2319<br />
2320<br />
2321<br />
2322<br />
2323<br />
2324<br />
2325<br />
EXAMPLE 11:<br />
EXAMPLE 12:<br />
EXAMPLE 13:<br />
Deletes all of the users in the current target.<br />
-> delete user*<br />
user[1-20] successfully deleted.<br />
Deletes all records in log1 (only four exist).<br />
-> delete –o format=clpxml log1/record*<br />
<br />
<br />
<br />
delete -o format=clpxml log1/record* <br />
<br />
<br />
0<br />
COMMAND COMPLETED<br />
<br />
45<br />
<br />
<br />
<br />
<br />
<br />
record1<br />
/system34/log1/record1<br />
<br />
<br />
<br />
<br />
record2<br />
/system34/log1/record2<br />
<br />
<br />
<br />
<br />
record3<br />
/system34/log1/record3<br />
<br />
<br />
<br />
<br />
record4<br />
/system34/log1/record4<br />
<br />
<br />
<br />
<br />
Deletes all records in log1 (only four exist).<br />
-> delete –o format=keyword /system34/log1/record*<br />
commandline=delete –o format=keyword /system34/log1/record*<br />
status=0<br />
Version 1.0.2 65
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2326<br />
2327<br />
2328<br />
2329<br />
2330<br />
2331<br />
2332<br />
2333<br />
status_tag=COMMAND COMPLETED<br />
job_id=45<br />
command=delete<br />
ufip=/system34/log1/record1<br />
ufip=/system34/log1/record2<br />
ufip=/system34/log1/record3<br />
ufip=/system34/log1/record4<br />
endoutput<br />
2334<br />
2335<br />
2336<br />
2337<br />
2338<br />
2339<br />
2340<br />
2341<br />
2342<br />
2343<br />
2344<br />
2345<br />
2346<br />
2347<br />
2348<br />
2349<br />
2350<br />
2351<br />
2352<br />
2353<br />
2354<br />
2355<br />
2356<br />
2357<br />
2358<br />
2359<br />
2360<br />
2361<br />
2362<br />
2363<br />
2364<br />
2365<br />
2366<br />
6.5 dump<br />
The general form of the dump command is:<br />
dump -destination [] []<br />
6.5.1 General<br />
For the dump command, implementations shall support the syntax defined for the dump-cmd term in the<br />
CLP grammar defined in 251HAnnex A.<br />
The dump command is used to take a binary image from an ME and send it to a specific location<br />
(specified as a URI). This command is supported only on certain specific target profiles. This command<br />
shall be supported on any implementation that manages binary images. The exact support on a MAP will<br />
be determined by the profiles supported on that implementation.<br />
If the destination option is not supplied by the Client, the implementation shall not execute the<br />
command and shall return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and a Processing<br />
Error of REQUIRED OPTION MISSING.<br />
6.5.2 Valid Targets<br />
This command is supported when it is specified in a target mapping ( 252H32HDSP0216) for a profile that the<br />
implementation supports. For all targets that do not support the use of the dump command,<br />
implementations shall not show the dump command in a command listing as being available.<br />
Implementations of the dump command will accept an Absolute or a Relative Target Address for the<br />
command target term. If the Resultant Address is not a UFiP, implementations shall return a <strong>Command</strong><br />
Status of COMMAND PROCESSING ERROR and a Processing Error of INVALID TARGET.<br />
6.5.3 Options<br />
Following are valid options for the dump command in addition to those specified in Error! Reference<br />
source not found.:<br />
-destination <br />
The destination option tells the implementation the target to which it will transfer the binary image.<br />
The destination option is required on the <strong>Command</strong> <strong>Line</strong> every time this verb is executed.<br />
The URI specified can contain a scheme that indicates the explicit service and location to be used to<br />
capture the dumped data.<br />
6.5.4 Output<br />
This clause details the requirements for output of the dump verb.<br />
6.5.4.1 Text Format<br />
Implementations shall include the source and target addresses in the <strong>Command</strong> Results data and shall<br />
indicate whether the operation was successful.<br />
66 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2367<br />
2368<br />
2369<br />
2370<br />
EXAMPLE 1:<br />
EXAMPLE 2:<br />
If the command was successful, an implementation could return the following string:<br />
transferred to <br />
If the file is not transferred, the implementation could return the following string:<br />
not transferred<br />
2371<br />
2372<br />
2373<br />
2374<br />
2375<br />
2376<br />
2377<br />
2378<br />
2379<br />
2380<br />
2381<br />
2382<br />
2383<br />
2384<br />
2385<br />
2386<br />
2387<br />
2388<br />
2389<br />
2390<br />
2391<br />
2392<br />
2393<br />
2394<br />
2395<br />
2396<br />
2397<br />
2398<br />
2399<br />
2400<br />
2401<br />
2402<br />
2403<br />
2404<br />
2405<br />
2406<br />
6.5.4.2 Structured Format<br />
This clause details requirements for structured output formats for the dump verb.<br />
6.5.4.2.1 General<br />
The returned data shall include any status data in the standard format at the top of the response. The<br />
dump command shall then return the target address with the keyword source and the destination URI<br />
with the keyword destination. If the destination is an address within the MAP address space, the<br />
implementation shall identify the destination using the keyword ufip. If the destination is a URI, the<br />
implementation shall identify the destination using the keyword uri. The Client will need to check the<br />
<strong>Command</strong> Status to determine whether the transfer was successful.<br />
6.5.4.2.2 XML Output<br />
The implementation shall return the dump element in the response element as defined in the <strong>Command</strong><br />
Response schema in 253H6HDSP0224. A portion of the schema is illustrated below. Note that an implementation<br />
will return either the or element as appropriate for the format of the source and destination of<br />
the command.<br />
<br />
<br />
Full path of source of dump <br />
<br />
<br />
Full path of destination of dump <br />
<br />
<br />
6.5.4.2.3 Keyword<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the dump command in<br />
"keyword" format. If the destination is local to the MAP, the ufip keyword shall be used instead of the<br />
uri keyword.<br />
command=dump<br />
begingroup=source<br />
ufip=UFiP of source<br />
endgroup<br />
begingroup=destination<br />
uri=URI of the destination<br />
endgroup<br />
endoutput<br />
6.5.5 Examples<br />
This clause details examples of the use of the dump verb.<br />
2407<br />
2408<br />
2409<br />
EXAMPLE 1:<br />
Transfers the binary image of memory1 to an FTP site.<br />
-> dump memory1 –destination ftp://myserver.com/pub/fwimage.img<br />
memory1 transferred to ftp://myserver.com/pub/fwimage.img.<br />
Version 1.0.2 67
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2410<br />
2411<br />
2412<br />
2413<br />
2414<br />
2415<br />
2416<br />
2417<br />
2418<br />
2419<br />
2420<br />
2421<br />
2422<br />
2423<br />
2424<br />
2425<br />
2426<br />
2427<br />
2428<br />
2429<br />
2430<br />
2431<br />
2432<br />
2433<br />
2434<br />
2435<br />
2436<br />
2437<br />
2438<br />
2439<br />
2440<br />
2441<br />
2442<br />
2443<br />
2444<br />
2445<br />
2446<br />
2447<br />
2448<br />
2449<br />
2450<br />
2451<br />
2452<br />
2453<br />
2454<br />
2455<br />
2456<br />
2457<br />
2458<br />
2459<br />
2460<br />
2461<br />
2462<br />
2463<br />
2464<br />
EXAMPLE 2:<br />
EXAMPLE 3:<br />
Attempts to transfer a binary image of memory1 to an FTP site but the transfer fails because the<br />
userid/password for the destination is invalid.<br />
-> dump –destination `<br />
ftp://administrator:passw0rd@myserver.com/private/administrator/<br />
memory.dmp –o format=clpxml memory1<br />
<br />
<br />
<br />
dump -destination<br />
ftp://administrator:passw0rd@myserver.com/private/<br />
administrator/memory.dmp -o format=clpxml<br />
memory1<br />
<br />
<br />
3<br />
COMMAND EXECUTION FAILED<br />
<br />
234324<br />
<br />
1<br />
Other<br />
1<br />
CIM_ERR_FAILED<br />
2<br />
60<br />
Login Attempts Failed<br />
<br />
<br />
<br />
<br />
<br />
Transfer fails because the userid/password for the destination is invalid.<br />
-> dump –destination `<br />
ftp://administrator:passw0rd@myserver.com/private/administrator/memory.<br />
dmp –o format=keyword memory1<br />
commandline=dump -destination<br />
ftp://administrator:passw0rd@myserver.com/private/administrator/memory.<br />
dmp -o format=keyword memory1<br />
status=3<br />
status_tag=COMMAND EXECUTION FAILED<br />
job_id=234324<br />
errtype=1<br />
errtype_desc=Other<br />
cimstat=1<br />
cimstat_desc=CIM_ERR_FAILED<br />
severity=2<br />
severity_desc=Low<br />
probcause=60<br />
probcause_desc=Login Attempts Failed<br />
command=dump<br />
68 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2465<br />
2466<br />
2467<br />
2468<br />
2469<br />
2470<br />
2471<br />
2472<br />
2473<br />
2474<br />
2475<br />
2476<br />
2477<br />
2478<br />
2479<br />
2480<br />
2481<br />
2482<br />
2483<br />
2484<br />
2485<br />
2486<br />
2487<br />
2488<br />
2489<br />
2490<br />
2491<br />
2492<br />
2493<br />
2494<br />
2495<br />
2496<br />
2497<br />
2498<br />
2499<br />
2500<br />
2501<br />
2502<br />
2503<br />
2504<br />
2505<br />
2506<br />
2507<br />
2508<br />
2509<br />
2510<br />
2511<br />
2512<br />
2513<br />
2514<br />
2515<br />
2516<br />
2517<br />
EXAMPLE 4:<br />
EXAMPLE 5:<br />
EXAMPLE 6:<br />
endoutput<br />
Requests help for the dump command.<br />
-> dump –help –o format=clpxml<br />
<br />
<br />
<br />
dump -help -o format=clpxml<br />
<br />
<br />
0<br />
<br />
26210<br />
<br />
<br />
<br />
<br />
The dump command is used to take a binary image from<br />
an ME and transfer it to another location. This<br />
destination can be within the MAP and specified using a<br />
UFiP. The destination need not be within the MAP. If the<br />
destination is not within the MAP it can be specified<br />
using a URI.<br />
<br />
<br />
<br />
Requests help for the dump command.<br />
-> dump -help<br />
commandline=dump -help<br />
status=0<br />
job_id=26210<br />
command=dump<br />
help=The dump command is used to take a binary image from an ME and<br />
transfer it to another location. This destination can be within the MAP<br />
and specified using a UFiP. The destination need not be within the MAP.<br />
If the destination is not within the MAP it can be specified using a<br />
URI.<br />
endoutput<br />
Transfers memory1.<br />
-> dump –destination `<br />
ftp://administrator:passw0rd@myserver.com/private/administrator/memory.<br />
dmp –o format=clpxml memory1<br />
<br />
<br />
<br />
Version 1.0.2 69
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2518<br />
2519<br />
2520<br />
2521<br />
2522<br />
2523<br />
2524<br />
2525<br />
2526<br />
2527<br />
2528<br />
2529<br />
2530<br />
2531<br />
2532<br />
2533<br />
2534<br />
2535<br />
2536<br />
2537<br />
2538<br />
2539<br />
2540<br />
2541<br />
2542<br />
2543<br />
2544<br />
2545<br />
2546<br />
2547<br />
2548<br />
2549<br />
2550<br />
2551<br />
2552<br />
2553<br />
2554<br />
2555<br />
2556<br />
2557<br />
2558<br />
2559<br />
2560<br />
2561<br />
2562<br />
2563<br />
2564<br />
2565<br />
2566<br />
2567<br />
2568<br />
2569<br />
2570<br />
2571<br />
2572<br />
EXAMPLE 7:<br />
EXAMPLE 8:<br />
dump –destination<br />
ftp://administrator:passw0rd@myserver.com/private/<br />
administrator/memory.dmp -o format=clpxml<br />
memory1<br />
<br />
<br />
0<br />
<br />
385<br />
<br />
<br />
<br />
<br />
/system1/memory1<br />
<br />
<br />
ftp://administrator:passw0rd@myserver.com/private/<br />
administrator/memory.dmp<br />
<br />
<br />
<br />
<strong>Command</strong> is missing the required destination option.<br />
-> dump –o format=clpxml memory1<br />
<br />
<br />
<br />
dump -o format=clpxml memory1<br />
<br />
<br />
2<br />
251<br />
REQUIRED OPTION MISSING<br />
<br />
<br />
<br />
Spawns a job to transfer memory1.<br />
-> dump –destination `<br />
ftp://administrator:passw0rd@myserver.com/private/administrator/memory.<br />
dmp –o format=clpxml memory1<br />
<br />
<br />
<br />
dump -destination<br />
ftp://administrator:passw0rd@myserver.com/private/administrator/<br />
memory.dmp -o format=clpxml memory1<br />
<br />
70 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2573<br />
2574<br />
2575<br />
2576<br />
2577<br />
2578<br />
2579<br />
2580<br />
2581<br />
2582<br />
2583<br />
2584<br />
2585<br />
2586<br />
2587<br />
2588<br />
2589<br />
2590<br />
2591<br />
2592<br />
2593<br />
2594<br />
2595<br />
2596<br />
2597<br />
2598<br />
2599<br />
2600<br />
2601<br />
2602<br />
2603<br />
2604<br />
2605<br />
2606<br />
2607<br />
EXAMPLE 9:<br />
6.6 exit<br />
<br />
1<br />
<br />
385<br />
<br />
<br />
<br />
<br />
/system1/memory1<br />
<br />
<br />
ftp://administrator:passw0rd@myserver.com/private/<br />
administrator/memory.dmp<br />
<br />
<br />
<br />
Spawns a job to transfer memory1.<br />
-> dump –destination `<br />
ftp://administrator:passw0rd@myserver.com/private/administrator/memory.<br />
dmp –o format=keyword memory1<br />
commandline=dump -destination<br />
ftp://administrator:passw0rd@myserver.com/private/administrator/memory.<br />
dmp memory1<br />
status=1<br />
job_id=385<br />
command=dump<br />
begingroup=source<br />
ufip=/system1/memory1<br />
endgroup<br />
begingroup=destination<br />
uri=ftp://administrator:passw0rd@myserver.com/private/administrator/mem<br />
ory.dmp<br />
endgroup<br />
endoutput<br />
2608<br />
2609<br />
2610<br />
2611<br />
2612<br />
2613<br />
2614<br />
2615<br />
2616<br />
2617<br />
The general form of the exit command is:<br />
exit []<br />
6.6.1 General<br />
For the exit command, implementations shall support the syntax defined for the exit-cmd term in the<br />
CLP grammar defined in 254HAnnex A.<br />
The exit command terminates the user’s current CLP session. This command shall be supported. When<br />
this command is received, implementations shall initiate a graceful shutdown of the underlying transport.<br />
Prior to initiating the shutdown, implementations shall return <strong>Command</strong> Response data indicating that the<br />
shutdown has been initiated and should wait for the message to be received by the Client prior to ending<br />
the session.<br />
Version 1.0.2 71
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2618<br />
2619<br />
2620<br />
2621<br />
2622<br />
2623<br />
2624<br />
2625<br />
2626<br />
2627<br />
2628<br />
2629<br />
2630<br />
2631<br />
2632<br />
2633<br />
2634<br />
2635<br />
2636<br />
2637<br />
2638<br />
2639<br />
2640<br />
2641<br />
2642<br />
2643<br />
2644<br />
2645<br />
2646<br />
6.6.2 Valid Targets<br />
The exit command has an Implicit <strong>Command</strong> Target of the Managed Element representing the CLP<br />
session where the command is issued. If the <strong>Command</strong> <strong>Line</strong> includes a command target term, the<br />
implementation shall not execute the command and shall return a <strong>Command</strong> Status of COMMAND<br />
PROCESSING FAILED and a Processing Error of COMMAND SYNTAX ERROR in the <strong>Command</strong><br />
Response data.<br />
6.6.3 Options<br />
Implementations of the exit command will support the options specified in Error! Reference source not<br />
found..<br />
6.6.4 Output<br />
This clause describes requirements for CLP output for the exit verb.<br />
6.6.4.1 Text Format<br />
The <strong>Command</strong> Response data shall include <strong>Command</strong> Status.<br />
6.6.4.2 Structured Format<br />
This clause details requirements for structured output formats for the exit verb.<br />
6.6.4.2.1 General<br />
The returned data shall include any status data in the standard format at the top of the response.<br />
6.6.4.2.2 XML Output<br />
The implementation shall return the exit element in the response element as defined in the <strong>Command</strong><br />
Response schema in 255H6HDSP0224.<br />
<br />
<br />
6.6.4.2.3 Keyword<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the exit command in<br />
"keyword" format:<br />
command=exit<br />
endoutput<br />
6.6.5 Examples<br />
This clause provides examples of the use of the exit verb.<br />
2647<br />
2648<br />
2649<br />
2650<br />
2651<br />
2652<br />
2653<br />
EXAMPLE 1:<br />
EXAMPLE 2:<br />
Examines the effect of the exit command.<br />
-> exit –x<br />
If run without the examine option, this command will exit the<br />
current CLP session.<br />
Displays help for the exit command.<br />
-> exit -help<br />
The exit command is used to exit a CLP session.<br />
72 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2654<br />
2655<br />
2656<br />
2657<br />
2658<br />
2659<br />
2660<br />
2661<br />
2662<br />
2663<br />
2664<br />
2665<br />
2666<br />
2667<br />
2668<br />
2669<br />
2670<br />
2671<br />
2672<br />
2673<br />
EXAMPLE 3:<br />
6.7 help<br />
Exits the current session.<br />
-> exit –output format=clpxml<br />
<br />
<br />
<br />
exit -output format=clpxml<br />
<br />
<br />
0<br />
<br />
2332<br />
<br />
<br />
<br />
<br />
2674<br />
2675<br />
2676<br />
2677<br />
2678<br />
2679<br />
2680<br />
2681<br />
2682<br />
2683<br />
2684<br />
2685<br />
2686<br />
2687<br />
2688<br />
2689<br />
2690<br />
2691<br />
2692<br />
2693<br />
2694<br />
2695<br />
2696<br />
The general form of the help command is:<br />
help [] []<br />
6.7.1 General<br />
For the help command, implementations shall support the syntax defined for the help-cmd term in the<br />
CLP grammar defined in 256HAnnex A.<br />
The help command is used to request information related to the use of the CLP. The text that is returned<br />
by this command can be defined by an OEM as required for its specific market. The help command<br />
accepts zero or more options. The help command can be specified with zero or more tokens identifying<br />
topics for which the user is requesting help. Examples of possible tokens that an implementation could<br />
recognize include verb names, option names, target addresses, UFcTs, and target property names. The<br />
topics recognized and supported by an implementation are implementation specific. If the implementation<br />
recognizes a token as identifying a topic for which it can provide specific help text, the implementation<br />
may return help text specific to the topic identified by the token. Implementations of the help command<br />
shall implement the rules for recognizing and using option terms as specified in 257H5.2.1.3.3. The help<br />
command is an exception to the general rules regarding recognizing command target terms and target<br />
property terms.<br />
6.7.2 Valid Targets<br />
The help command is unique in that it does not operate against a target. An implementation may<br />
recognize a token as a target address and provide help specific to that target.<br />
6.7.3 Options<br />
Implementations of the help command will support the following options, in addition to those specified in<br />
Error! Reference source not found.. These option arguments may have no effect (return the same data<br />
as if they were not used) on some implementations.<br />
2697<br />
2698<br />
-output verbose<br />
-output terse<br />
Implementation should return extensive help text.<br />
Implementation should return a short form of help text.<br />
Version 1.0.2 73
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2699<br />
2700<br />
2701<br />
2702<br />
2703<br />
2704<br />
2705<br />
2706<br />
2707<br />
2708<br />
2709<br />
2710<br />
2711<br />
2712<br />
2713<br />
2714<br />
2715<br />
2716<br />
2717<br />
2718<br />
2719<br />
2720<br />
2721<br />
2722<br />
2723<br />
2724<br />
2725<br />
2726<br />
6.7.4 Output<br />
This clause states requirements for CLP output for the help verb..<br />
6.7.4.1 Text Format<br />
The implementation should return text providing help to the user.<br />
6.7.4.2 Structured Format<br />
This clause details requirements for structured output formats for the help verb.<br />
6.7.4.2.1 General<br />
The returned data shall include any status data in the standard format at the top of the response. The<br />
help command shall then return an OEM-defined set of text describing the help for the target or<br />
command specified on the <strong>Command</strong> <strong>Line</strong>. The keyword "helptext" shall be used when returning this text.<br />
6.7.4.2.2 XML Output<br />
The implementation shall return the help element in the response element as defined in the <strong>Command</strong><br />
Response schema in 258H6HDSP0224.<br />
<br />
<br />
:<br />
Free-form text<br />
:<br />
<br />
<br />
6.7.4.2.3 Keyword<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the help command in<br />
"keyword" format:<br />
command=help<br />
help=The help text.<br />
Endoutput<br />
6.7.5 Examples<br />
This clause provides examples of the use of the help verb.<br />
2727<br />
2728<br />
2729<br />
2730<br />
2731<br />
2732<br />
2733<br />
2734<br />
2735<br />
2736<br />
2737<br />
2738<br />
2739<br />
2740<br />
EXAMPLE 1:<br />
EXAMPLE 2:<br />
Displays help for the log target.<br />
-> help log1<br />
log1 is a message log and has records in it.<br />
Uses the examine option with the help command.<br />
-> help –x –o format=clpxml /system1<br />
<br />
<br />
<br />
help -x -o format=clpxml /system1<br />
<br />
74 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2741<br />
2742<br />
2743<br />
2744<br />
2745<br />
2746<br />
2747<br />
2748<br />
2749<br />
2750<br />
2751<br />
2752<br />
2753<br />
2754<br />
2755<br />
2756<br />
2757<br />
2758<br />
2759<br />
EXAMPLE 3:<br />
<br />
0<br />
<br />
<br />
<br />
If run without the examine option, this command will<br />
return help about "/system1."<br />
<br />
<br />
<br />
Uses the examine option with the help command.<br />
-> help –x –o format=keyword /system1<br />
commandline=help –x –o format=keyword system1<br />
status=0<br />
job_id=989<br />
command=help<br />
examine=If run without the examine option, this command will return<br />
help about "/system1".<br />
endoutput<br />
2760<br />
6.8 load<br />
2761<br />
2762<br />
2763<br />
2764<br />
2765<br />
2766<br />
2767<br />
2768<br />
2769<br />
2770<br />
2771<br />
2772<br />
2773<br />
2774<br />
2775<br />
2776<br />
2777<br />
2778<br />
2779<br />
2780<br />
2781<br />
2782<br />
2783<br />
The general form of the load command is:<br />
load -source [] []<br />
6.8.1 General<br />
For the load command, implementations shall support the syntax defined for the load-cmd term in the<br />
CLP grammar defined in 259HAnnex A.<br />
The load command is used to take a binary image from a specific source location (specified as a URI)<br />
and place it at the specified target address. The exact behavior of the load command is profile and<br />
implementation specific. The profile dictates whether the desired action is a simple file transfer or whether<br />
it includes an implicit installation of the transferred image. In the case of an implicit installation, it is<br />
implementation dependent whether additional actions are required to complete the installation process.<br />
This command is supported only on certain specific target profiles. The load command will be supported<br />
on implementations that manage binary images. The exact support on a MAP will be determined by the<br />
profiles supported on that implementation.<br />
If the source option is not supplied by the Client, the implementation shall not execute the command<br />
and shall return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and a Processing Error of<br />
REQUIRED OPTION MISSING.<br />
6.8.2 Valid Targets<br />
This command is supported when it is specified in a target mapping ( 260H32HDSP0216) for a profile that the<br />
implementation supports. For all targets that do not support the use of the load command,<br />
implementations shall not show the load in a command listing as being available. Implementations of the<br />
load command will accept an Absolute or a Relative Target Address for the command target term. If the<br />
Resultant Address is not a UFiP, implementations shall return a <strong>Command</strong> Status of COMMAND<br />
PROCESSING ERROR and a Processing Error of INVALID TARGET.<br />
Version 1.0.2 75
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2784<br />
2785<br />
2786<br />
6.8.3 Options<br />
Implementations of the load command support the following option, in addition to those specified in<br />
Error! Reference source not found.:<br />
2787<br />
2788<br />
-source <br />
This option tells the implementation the target from which it will transfer the<br />
binary image.<br />
2789<br />
2790<br />
2791<br />
2792<br />
2793<br />
2794<br />
2795<br />
The URI specified can contain a scheme that indicates the explicit service and location to be used to<br />
retrieve the binary image.<br />
6.8.4 Output<br />
This clause states the requirements for CLP output for the load verb.<br />
6.8.4.1 Text Format<br />
The <strong>Command</strong> Result data shall include the source URI and the target instance address, and shall<br />
indicate whether the command was successful.<br />
2796<br />
2797<br />
2798<br />
2799<br />
EXAMPLE 1:<br />
EXAMPLE 2:<br />
If the command was successful, an implementation could return the following string:<br />
transferred to <br />
If the image is not transferred successfully, the implementation could return the following string:<br />
not transferred<br />
2800<br />
2801<br />
2802<br />
2803<br />
2804<br />
2805<br />
2806<br />
2807<br />
2808<br />
2809<br />
2810<br />
2811<br />
2812<br />
2813<br />
2814<br />
2815<br />
2816<br />
2817<br />
2818<br />
2819<br />
2820<br />
2821<br />
6.8.4.2 Structured Format<br />
This clause details requirements for structured output formats for the load verb.<br />
6.8.4.2.1 General<br />
The returned data shall include any status data in the standard format at the top of the response. The<br />
load command shall then return the target address with the keyword destination and the source URI<br />
with the keyword source. If the image is not transferred, the implementation should return only the URI<br />
address (with the source keyword). If the source is an address within the MAP address space, the<br />
implementation shall identify the source using the keyword ufip. If the destination is a URI, the<br />
implementation shall identify the source using the keyword uri.<br />
6.8.4.2.2 XML Output<br />
The implementation shall return the load element in the response element as defined in the <strong>Command</strong><br />
Response schema in 261H6HDSP0224. A portion of the schema is illustrated below. Note that an implementation<br />
will either return the or element as appropriate for the format of the source and destination of<br />
the command.<br />
<br />
<br />
Full path of source of load <br />
<br />
<br />
Full path of destination of load <br />
<br />
<br />
76 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2822<br />
2823<br />
2824<br />
2825<br />
2826<br />
2827<br />
2828<br />
2829<br />
2830<br />
2831<br />
2832<br />
2833<br />
2834<br />
6.8.4.2.3 Keyword<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the load command in<br />
"keyword" format:<br />
command=load<br />
begingroup=source<br />
uri= URI of the source of the image to load<br />
endgroup<br />
begingroup=destination<br />
ufip= UFiP of the destination for the image<br />
endgroup<br />
endoutput<br />
6.8.5 Examples<br />
This clause provides examples of the use of the load verb.<br />
2835<br />
2836<br />
2837<br />
2838<br />
2839<br />
2840<br />
2841<br />
2842<br />
2843<br />
2844<br />
2845<br />
2846<br />
2847<br />
2848<br />
2849<br />
2850<br />
2851<br />
2852<br />
2853<br />
2854<br />
2855<br />
2856<br />
2857<br />
2858<br />
2859<br />
2860<br />
2861<br />
2862<br />
2863<br />
2864<br />
2865<br />
2866<br />
2867<br />
2868<br />
2869<br />
2870<br />
2871<br />
2872<br />
EXAMPLE 1:<br />
EXAMPLE 2:<br />
EXAMPLE 3:<br />
Loads firmware image from FTP site.<br />
-> load –source ftp://myserver.com/pub/fwimage.img ` firmwareimage<br />
ftp://myserver.com/pub/firmwareimage.img is transferred to<br />
firmwareimage.<br />
Loads firmware image from an authenticated FTP site.<br />
-> load –source ` 12Hftp://administrator:passw0rd@myserver.com/private/ `<br />
administrator/firmware.img –o format=clpxml softwareid1<br />
<br />
<br />
<br />
load -source<br />
ftp://administrator:passw0rd@myserver.com/private/<br />
administrator/firmware.img -o format=clpxml<br />
softwareid1<br />
<br />
<br />
0<br />
<br />
385<br />
<br />
<br />
<br />
<br />
ftp://administrator:passw0rd@myserver.com/private/<br />
administrator/firmware.img<br />
<br />
<br />
/system1/softwareid1<br />
<br />
<br />
<br />
Loads firmware image from an authenticated FTP site.<br />
-> load –source ` ftp://administrator:passw0rd@myserver.com/private`<br />
administrator/firmware.img –o format=keyword softwareid1<br />
Version 1.0.2 77
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2873<br />
2874<br />
2875<br />
2876<br />
2877<br />
2878<br />
2879<br />
2880<br />
2881<br />
2882<br />
2883<br />
2884<br />
2885<br />
2886<br />
2887<br />
2888<br />
2889<br />
2890<br />
2891<br />
2892<br />
2893<br />
2894<br />
2895<br />
2896<br />
2897<br />
2898<br />
2899<br />
2900<br />
2901<br />
2902<br />
2903<br />
2904<br />
2905<br />
2906<br />
2907<br />
2908<br />
2909<br />
2910<br />
2911<br />
2912<br />
2913<br />
2914<br />
2915<br />
2916<br />
2917<br />
2918<br />
2919<br />
2920<br />
EXAMPLE 4:<br />
commandline=load -source<br />
ftp://administrator:passw0rd@myserver.com/private/administrator/<br />
firmware.img -o format=keyword softwareid1<br />
status=0<br />
job_id=385<br />
command=load<br />
begingroup=source<br />
uri=ftp://administrator:passw0rd@myserver.com/private/administrator/<br />
firmware.img<br />
endgroup<br />
begingroup=destination<br />
ufip=/system1/softwareid1<br />
endgroup<br />
endoutput<br />
Fails to load firmware image from an authenticated FTP site due to bad credentials.<br />
-> load –source ` ftp://administrator:passw0rd@myserver.com/private/`<br />
administrator/firmware.img –o format=clpxml softwareid1<br />
<br />
<br />
<br />
load -source<br />
ftp://administrator:passw0rd@myserver.com/private/<br />
administrator/firmware.img -o format=clpxml<br />
softwareid1<br />
<br />
<br />
2<br />
COMMAND EXECUTION FAILED<br />
<br />
234324<br />
<br />
1<br />
Other<br />
1<br />
CIM_ERR_FAILED<br />
2<br />
60<br />
Login Attempts Failed<br />
<br />
<br />
<br />
<br />
<br />
2921<br />
6.9 reset<br />
2922<br />
2923<br />
The general form of the reset command is:<br />
reset [] []<br />
78 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2924<br />
2925<br />
2926<br />
2927<br />
2928<br />
2929<br />
2930<br />
2931<br />
2932<br />
2933<br />
2934<br />
2935<br />
2936<br />
2937<br />
2938<br />
2939<br />
2940<br />
6.9.1 General<br />
For the reset command, implementations shall support the syntax defined for the reset-cmd term in<br />
the CLP grammar defined in 262HAnnex A.<br />
The reset command resets the target’s state. This behavior can be modified to take the target to a<br />
specific state through the use of options.<br />
This command can be used with and without <strong>Command</strong> <strong>Line</strong> options.<br />
6.9.2 Valid Targets<br />
This command is supported when it is specified in a target mapping ( 263H32HDSP0216) for a profile that the<br />
implementation supports. For all targets that do not support the use of the reset command,<br />
implementations shall not show the reset command in a command listing as being available.<br />
Implementations of the reset command will accept an Absolute or a Relative Target Address for the<br />
command target term. If the Resultant Address is not a UFiP, implementations shall return a <strong>Command</strong><br />
Status of COMMAND PROCESSING ERROR and a Processing Error of INVALID TARGET.<br />
The behavior of state-change commands for each UFcT is defined in 264H32HDSP0216.<br />
6.9.3 Options<br />
Following are valid options for the reset command in addition to those specified in Error! Reference<br />
source not found.:<br />
2941<br />
2942<br />
2943<br />
2944<br />
2945<br />
-f, -force<br />
6.9.4 Output<br />
Forces the implementation to reset the object, ignoring any policy that might<br />
cause the implementation to normally not execute the command. The<br />
implementation shall execute this reset if at all possible, without regard to<br />
consequences.<br />
2946<br />
2947<br />
2948<br />
2949<br />
2950<br />
2951<br />
2952<br />
2953<br />
2954<br />
2955<br />
2956<br />
2957<br />
2958<br />
2959<br />
2960<br />
2961<br />
This clause states requirements for output for the reset verb.<br />
6.9.4.1 Text Format<br />
Implementations shall return <strong>Command</strong> Result data that includes the target address that was reset (if<br />
any) and the time and date when the reset started. Implementations are free to return the time and date in<br />
any format that meets their needs. If no targets were reset, the implementation shall indicate this result.<br />
6.9.4.2 Structured Format<br />
This clause details requirements for structured output formats for the reset verb.<br />
6.9.4.2.1 General<br />
Implementations shall include any status data in the standard format at the top of the response. If the<br />
target was successfully reset, the implementation shall then return the target and the time the reset was<br />
initiated.<br />
6.9.4.2.2 XML Output<br />
The implementation shall return the reset element in the response element as defined in the<br />
<strong>Command</strong> Response schema in 265H6HDSP0224.<br />
<br />
Target address the command was invoked against <br />
Version 1.0.2 79
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
2962<br />
2963<br />
2964<br />
2965<br />
2966<br />
2967<br />
2968<br />
2969<br />
2970<br />
2971<br />
2972<br />
2973<br />
Time reset occurred if completed synchronously, returned in CIM<br />
datetime format <br />
<br />
6.9.4.2.3 Keyword<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the reset command<br />
in "keyword" format:<br />
command=reset<br />
ufip=User Friendly instance path of target of reset<br />
timestamp=Time reset occurred if completed synchronous to command<br />
endoutput<br />
6.9.5 Examples<br />
This clause provides examples of the use of the reset verb.<br />
2974<br />
2975<br />
2976<br />
2977<br />
2978<br />
2979<br />
2980<br />
2981<br />
2982<br />
2983<br />
2984<br />
2985<br />
2986<br />
2987<br />
2988<br />
2989<br />
2990<br />
2991<br />
2992<br />
2993<br />
2994<br />
2995<br />
2996<br />
2997<br />
2998<br />
2999<br />
3000<br />
3001<br />
3002<br />
3003<br />
3004<br />
3005<br />
3006<br />
3007<br />
3008<br />
EXAMPLE 1:<br />
EXAMPLE 2:<br />
EXAMPLE 3:<br />
Resets the operating system on system1.<br />
-> reset /system1<br />
/system1 reset at 10:40am 1/1/01.<br />
Fails to reset the operating system on system1.<br />
-> reset –o format=clpxml /system1/os1<br />
<br />
<br />
<br />
reset -o format=clpxml /system1/os1<br />
<br />
<br />
3<br />
<br />
4824<br />
<br />
2<br />
1<br />
2<br />
<br />
<br />
<br />
<br />
<br />
os1<br />
/system1/os1<br />
<br />
<br />
<br />
Fails to reset the operating system on system1.<br />
-> reset –o format=keyword /system1/os1<br />
commandline=reset –o format=keyword /system1/os1<br />
80 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3009<br />
3010<br />
3011<br />
3012<br />
3013<br />
3014<br />
3015<br />
3016<br />
3017<br />
3018<br />
3019<br />
3020<br />
3021<br />
3022<br />
3023<br />
3024<br />
3025<br />
3026<br />
3027<br />
3028<br />
3029<br />
3030<br />
3031<br />
3032<br />
3033<br />
3034<br />
3035<br />
3036<br />
3037<br />
3038<br />
3039<br />
3040<br />
3041<br />
3042<br />
3043<br />
3044<br />
3045<br />
3046<br />
3047<br />
3048<br />
3049<br />
3050<br />
3051<br />
EXAMPLE 4:<br />
EXAMPLE 5:<br />
6.10 set<br />
status=3<br />
job_id=4824<br />
errtype=2<br />
cimstat=1<br />
severity=2<br />
command=reset<br />
ufip=/system1/os1<br />
endoutput<br />
Resets the operating system on system1.<br />
-> reset –w –o format=clpxml /system1/os1<br />
<br />
<br />
<br />
reset -w -o format=clpxml /system1/os1<br />
<br />
<br />
0<br />
<br />
92341<br />
<br />
<br />
<br />
<br />
os1<br />
/system1/os1<br />
<br />
20050130145904.000000-300<br />
<br />
<br />
Resets the operating system on system1.<br />
-> reset -w –o format=keyword /system1/os1<br />
commandline=reset -w –o format=keyword /system1/os1<br />
status=0<br />
job_id=92341<br />
command=reset<br />
ufip=/system1/os1<br />
timestamp=20050130145904.000000-300<br />
endoutput<br />
3052<br />
3053<br />
3054<br />
3055<br />
3056<br />
The general form of the set command is:<br />
set [] [] =<br />
6.10.1 General<br />
For the set command, implementations shall support the syntax defined for the set-cmd term in the<br />
CLP grammar defined in 266HAnnex A.<br />
Version 1.0.2 81
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3057<br />
3058<br />
3059<br />
3060<br />
3061<br />
3062<br />
3063<br />
3064<br />
3065<br />
3066<br />
3067<br />
3068<br />
3069<br />
3070<br />
3071<br />
3072<br />
3073<br />
3074<br />
3075<br />
3076<br />
3077<br />
3078<br />
3079<br />
3080<br />
3081<br />
3082<br />
3083<br />
3084<br />
3085<br />
3086<br />
3087<br />
3088<br />
3089<br />
3090<br />
3091<br />
3092<br />
3093<br />
The set command is used to set the value of one or more of a target’s properties. The command can<br />
accept a command target term and series of keyword=value pairs which it will try to apply.<br />
The implementation may allow the user to set multiple property values for a single target. The<br />
implementation may set the property values in the order of properties given on the <strong>Command</strong> <strong>Line</strong>.<br />
Implementations shall not allow the user to set properties on multiple targets with a single command.<br />
If an error occurs, the implementation may continue to attempt to set properties. For any property where<br />
the implementation fails to assign the user-supplied value, the implementation may set the property to a<br />
default value or the implementation may not change the value of the property at all. It is necessary for the<br />
user to check the command output or the target itself for the value of each property to determine which<br />
values were set. Applying properties one command at a time is a deterministic way to determine which<br />
properties get applied for any given command.<br />
It is possible that changing the value of a property specified by the user will result in the implementation<br />
changing the value of another property which was not specified by the user, in which case the<br />
implementation should return both properties and their values in the output.<br />
The set command requires <strong>Command</strong> <strong>Line</strong> arguments.<br />
6.10.2 Valid Targets<br />
The set command is valid for any target/property pair that is not read-only. For all targets that do not<br />
support the use of the set command, the set command shall not show up in a command listing as being<br />
available. Implementations of the set command will accept an Absolute or a Relative Target Address for<br />
the command target term. If the Resultant Address is not a UFiP, implementations shall return a<br />
<strong>Command</strong> Status of COMMAND PROCESSING ERROR and a Processing Error of INVALID TARGET.<br />
6.10.3 Options<br />
Implementations of the set command will support the options specified in Error! Reference source not<br />
found..<br />
6.10.4 Output<br />
This clause states requirements for output for the set verb.<br />
6.10.4.1 Text Format<br />
Implementations shall return <strong>Command</strong> Result data that includes each of the properties that were<br />
specified in the command and their current values. Note that the current value of a property may be<br />
different from that requested on the <strong>Command</strong> <strong>Line</strong> due to implementation constraints, policies, or vendor<br />
rules.<br />
6.10.4.2 Structured Format<br />
This clause details requirements for structured output formats for the set verb.<br />
6.10.4.2.1 General<br />
The returned data shall include any status data in the standard format at the top of the response. The set<br />
command shall then return a list of the properties that were set with the property name as the keyword<br />
and the value to which it was set as the value.<br />
82 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3094<br />
3095<br />
3096<br />
3097<br />
3098<br />
3099<br />
3100<br />
3101<br />
3102<br />
3103<br />
3104<br />
3105<br />
3106<br />
3107<br />
3108<br />
3109<br />
3110<br />
3111<br />
3112<br />
3113<br />
3114<br />
3115<br />
3116<br />
3117<br />
3118<br />
3119<br />
3120<br />
3121<br />
3122<br />
3123<br />
3124<br />
3125<br />
3126<br />
3127<br />
3128<br />
3129<br />
3130<br />
3131<br />
3132<br />
6.10.4.2.2 XML Output<br />
The implementation shall return the set element in the response element as defined in the <strong>Command</strong><br />
Response schema in 267H6HDSP0224.<br />
<br />
<br />
<br />
User Friendly instance Path identifying target<br />
<br />
<br />
<br />
A modified property of Managed Element. Each property element<br />
is defined per the xsd.<br />
<br />
<br />
<br />
<br />
6.10.4.2.3 Keyword<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the set command in<br />
"keyword" format:<br />
command=set<br />
begingroup=instance<br />
ufip=UFiP of Managed Element targeted by command<br />
begingroup=property<br />
property_name=Property name<br />
property_val=Property value<br />
[property_valstring=String corresponding to property value if value/valuemap]<br />
.<br />
Additional values if property is an array<br />
.<br />
property_val=Property value<br />
[property_valstring=String corresponding to property value if value/valuemap]<br />
endgroup<br />
.<br />
Additional property groups<br />
.<br />
endgroup<br />
endoutput<br />
6.10.5 Examples<br />
This clause provides examples of the use of the set verb.<br />
3133<br />
3134<br />
3135<br />
EXAMPLE 1:<br />
Sets the system’s name to sam.<br />
-> set /system1 name=sam<br />
name=sam<br />
3136<br />
3137<br />
3138<br />
EXAMPLE 2: Sets password to 12345.<br />
-> set /map1/user3 password=12345<br />
password=12345<br />
Version 1.0.2 83
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3139<br />
3140<br />
3141<br />
3142<br />
3143<br />
3144<br />
3145<br />
3146<br />
3147<br />
3148<br />
3149<br />
3150<br />
3151<br />
3152<br />
3153<br />
3154<br />
3155<br />
3156<br />
3157<br />
3158<br />
3159<br />
3160<br />
3161<br />
3162<br />
3163<br />
3164<br />
3165<br />
3166<br />
3167<br />
3168<br />
3169<br />
3170<br />
3171<br />
3172<br />
3173<br />
3174<br />
3175<br />
3176<br />
3177<br />
3178<br />
3179<br />
3180<br />
3181<br />
3182<br />
3183<br />
3184<br />
3185<br />
3186<br />
3187<br />
3188<br />
3189<br />
3190<br />
EXAMPLE 3:<br />
EXAMPLE 4:<br />
EXAMPLE 5:<br />
EXAMPLE 6:<br />
EXAMPLE 7:<br />
Successfully sets a new userid and password.<br />
-> set /map1/user3 userid=joesmith password=passw0rd<br />
userid=joesmith<br />
password=passw0rd<br />
The password fails. Whether the userid is updated is implementation-specific behavior. This<br />
implementation updated the userid. It is also implementation specific whether the password is<br />
echoed to the screen.<br />
-> set /map1/user3 userid=joesmith password=12345<br />
Password 12345 does not meet password rules.<br />
userid=joesmith<br />
password=<br />
The password fails. Whether the userid is updated is implementation-specific behavior. This<br />
implementation did not update the userid. It is also implementation specific whether the password<br />
is echoed to the screen.<br />
-> set /map1/user3 userid=joesmith password=12345<br />
Password 12345 does not meet password rules.<br />
userid=olduserid<br />
password=<br />
Sets name to a string that contains spaces.<br />
-> set /system1 name="Human Resources <strong>Server</strong>"<br />
name="Human Resources <strong>Server</strong>"<br />
Fails to enable load balancing on Ethernet port 2 because teamed NIC is not configured. Notice<br />
that other values already exist for the property that could not be set, and these values are<br />
returned.<br />
-> set –o format=clpxml enetport2 enabledcapabilities=loadbalancing<br />
<br />
<br />
<br />
set -o format=clpxml enetport2<br />
enabledcapabilities=loadbalancing<br />
<br />
<br />
3<br />
<br />
4758<br />
<br />
1<br />
1<br />
2<br />
108<br />
Software Environment Problem<br />
Configure partner NIC prior to<br />
enabling.<br />
<br />
<br />
<br />
<br />
<br />
84 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3191<br />
3192<br />
3193<br />
3194<br />
3195<br />
3196<br />
3197<br />
3198<br />
3199<br />
3200<br />
3201<br />
3202<br />
3203<br />
3204<br />
3205<br />
3206<br />
3207<br />
3208<br />
3209<br />
3210<br />
3211<br />
3212<br />
3213<br />
3214<br />
3215<br />
3216<br />
3217<br />
3218<br />
3219<br />
3220<br />
3221<br />
3222<br />
3223<br />
3224<br />
3225<br />
3226<br />
3227<br />
3228<br />
3229<br />
3230<br />
3231<br />
3232<br />
3233<br />
3234<br />
3235<br />
3236<br />
3237<br />
3238<br />
3239<br />
3240<br />
3241<br />
3242<br />
3243<br />
3244<br />
3245<br />
3246<br />
3247<br />
EXAMPLE 8:<br />
EXAMPLE 9:<br />
enetport2<br />
/system78/enetport2<br />
<br />
<br />
enabledcapabilities<br />
<br />
<br />
3wakeonlan<br />
<br />
<br />
2alertonlan<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Fails to enable load balancing on Ethernet port 2 because teamed NIC is not configured. Notice<br />
that other values already exist for the property that could not be set, and these values are<br />
returned.<br />
-> set –o format=keyword enetport2 enabledcapabilities=loadbalancing<br />
commandline=set –o format=keyword enetport2<br />
enabledcapabilities=loadbalancing<br />
status=3<br />
job_id=4758<br />
errtype=1<br />
cimstat=1<br />
severity=2<br />
probcause=108<br />
probcause_desc=Software Environment Problem<br />
recmdaction=Configure partner NIC prior to enabling.<br />
command=set<br />
begingroup=instance<br />
ufip=/system78/enetport2<br />
begingroup=property<br />
property_name=enabledcapabilities<br />
property_val=3<br />
property_valstring=wakeonlan<br />
property_val=2<br />
property_valstring=alertonlan<br />
endgroup<br />
endgroup<br />
endoutput<br />
Fails to enable load balancing on Ethernet port 2 because teamed NIC is not configured. Notice<br />
that this property currently does not have any values assigned.<br />
-> set –o format=clpxml enetport2 enabledcapabilities=loadbalancing<br />
<br />
<br />
<br />
set -o format=clpxml enetport2<br />
enabledcapabilities=loadbalancing<br />
<br />
Version 1.0.2 85
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3248<br />
3249<br />
3250<br />
3251<br />
3252<br />
3253<br />
3254<br />
3255<br />
3256<br />
3257<br />
3258<br />
3259<br />
3260<br />
3261<br />
3262<br />
3263<br />
3264<br />
3265<br />
3266<br />
3267<br />
3268<br />
3269<br />
3270<br />
3271<br />
3272<br />
3273<br />
3274<br />
3275<br />
3276<br />
3277<br />
3278<br />
3279<br />
3280<br />
3281<br />
3282<br />
3283<br />
3284<br />
3285<br />
3286<br />
3287<br />
3288<br />
3289<br />
3290<br />
3291<br />
3292<br />
3293<br />
3294<br />
3295<br />
3296<br />
3297<br />
3298<br />
3299<br />
3300<br />
3301<br />
3302<br />
<br />
3<br />
<br />
4578<br />
<br />
1<br />
1<br />
2<br />
108<br />
Software Environment<br />
Problem<br />
Configure partner NIC prior to enabling.<br />
<br />
<br />
<br />
OEMxyz<br />
23<br />
NIC Team {2} could not be configured.<br />
NIC {1} must be configured prior to configuring NIC<br />
{3}<br />
<br />
<br />
1<br />
1<br />
<br />
<br />
2<br />
1<br />
<br />
<br />
3<br />
2<br />
<br />
<br />
<br />
OEMxyz<br />
1<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
enetport2<br />
/system78/enetport2<br />
<br />
<br />
enabledcapabilities<br />
<br />
<br />
<br />
<br />
<br />
<br />
86 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3303<br />
3304<br />
3305<br />
3306<br />
3307<br />
3308<br />
3309<br />
3310<br />
3311<br />
3312<br />
3313<br />
3314<br />
3315<br />
3316<br />
3317<br />
3318<br />
3319<br />
3320<br />
3321<br />
3322<br />
3323<br />
3324<br />
3325<br />
3326<br />
3327<br />
3328<br />
3329<br />
3330<br />
3331<br />
3332<br />
3333<br />
3334<br />
3335<br />
3336<br />
3337<br />
3338<br />
3339<br />
3340<br />
3341<br />
3342<br />
3343<br />
3344<br />
3345<br />
3346<br />
3347<br />
3348<br />
3349<br />
3350<br />
3351<br />
3352<br />
3353<br />
3354<br />
3355<br />
3356<br />
3357<br />
3358<br />
3359<br />
3360<br />
3361<br />
EXAMPLE 10:<br />
EXAMPLE 11:<br />
Fails to enable load balancing on Ethernet port 2 because teamed NIC is not configured. Notice<br />
that this property currently does not have any values assigned.<br />
-> set –o format=keyword enetport2 enabledcapabilities=loadbalancing<br />
commandline=set –o format=keyword enetport2<br />
enabledcapabilities=loadbalancing<br />
status=3<br />
job_id=4578<br />
errtype=1<br />
cimstat=1<br />
severity=2<br />
probcause=108<br />
probcause_desc=Software Environment Problem<br />
begingroup=message<br />
owningentity=OEMxyz<br />
message_id=23<br />
message=NIC Team {2} could not be configured, NIC {1} must be<br />
configured prior to configuring NIC {3}<br />
message_arg=1<br />
message_arg=1<br />
message_arg=2<br />
endgroup<br />
begingroup=message<br />
owningentity=OEMxyz<br />
message_id=001<br />
message=Please consult product documentation.message_arg=1<br />
endgroup<br />
recmdaction=Configure partner NIC prior to enabling.<br />
command=set<br />
begingroup<br />
ufip=/system78/enetport2<br />
begingroup<br />
property_name=enabledcapabilities<br />
endgroup<br />
endoutput<br />
Successfully enables failover and WakeOnLAN support on Ethernet port 2. Notice that multiple<br />
values are assigned.<br />
-> set –o format=clpxml enetport2<br />
enabledcapabilities=failover,wakeonlan<br />
<br />
<br />
set -o format=clpxml /system78/enetport2<br />
enabledcapabilities=failover,wakeonlan<br />
<br />
<br />
0<br />
<br />
7623<br />
<br />
<br />
<br />
<br />
enetport2<br />
/system78/enetport2<br />
<br />
<br />
Version 1.0.2 87
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3362<br />
3363<br />
3364<br />
3365<br />
3366<br />
3367<br />
3368<br />
3369<br />
3370<br />
3371<br />
3372<br />
3373<br />
3374<br />
3375<br />
3376<br />
3377<br />
3378<br />
3379<br />
3380<br />
3381<br />
3382<br />
3383<br />
3384<br />
3385<br />
3386<br />
3387<br />
3388<br />
3389<br />
3390<br />
3391<br />
3392<br />
3393<br />
3394<br />
3395<br />
3396<br />
3397<br />
3398<br />
3399<br />
3400<br />
3401<br />
3402<br />
3403<br />
3404<br />
3405<br />
3406<br />
3407<br />
3408<br />
3409<br />
3410<br />
3411<br />
3412<br />
3413<br />
EXAMPLE 12:<br />
EXAMPLE 13:<br />
EXAMPLE 14:<br />
EXAMPLE 15:<br />
EXAMPLE 16:<br />
enabledcapabilities<br />
<br />
<br />
4<br />
failover<br />
<br />
<br />
3<br />
wakeonlan<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Successfully enables failover and WakeOnLAN support on Ethernet port 2. Notice that multiple<br />
values are assigned.<br />
-> set –o format=keyword enetport2<br />
enabledcapabilities=failover,wakeonlan<br />
commandline=set /system78/enetport2<br />
enabledcapabilities=failover,wakeonlan<br />
status=0<br />
job_id=7632<br />
command=set<br />
begingroup=instance<br />
ufip=/system78/enetport2<br />
begingroup=property<br />
property_name=enabledcapabilities<br />
property_val=4<br />
property_valstring=failover<br />
property_val=3<br />
property_valstring=wakeonlan<br />
endgroup<br />
endgroup<br />
endoutput<br />
Sets the default output format to XML.<br />
-> set SESSION outputformat=clpxml<br />
/map1/sessions1/setting5<br />
Default output format set to XML.<br />
Changes the CDT by using the back door method.<br />
-> set SESSION cdt=/system5/cpu3<br />
/map1/sessions1/setting5<br />
Current Default Target is /system5/cpu3.<br />
Sets the OEM property OEMxyzpropertyA.<br />
-> set /system1 OEMxyzpropertyA=somevalue_<br />
/system1<br />
OEMxyzpropertyA equals somevalue.<br />
Sets a property. The vendor returns data outside the specification.<br />
-> set –o format=keyword /system1 PrimaryOwnerName=TheOwner<br />
commandline=set –o format=keyword /system1 PrimaryOwnerName=TheOwner<br />
status=0<br />
88 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3414<br />
3415<br />
3416<br />
3417<br />
3418<br />
3419<br />
3420<br />
3421<br />
3422<br />
3423<br />
3424<br />
3425<br />
3426<br />
3427<br />
3428<br />
3429<br />
3430<br />
3431<br />
3432<br />
3433<br />
3434<br />
3435<br />
3436<br />
3437<br />
3438<br />
3439<br />
3440<br />
3441<br />
3442<br />
3443<br />
3444<br />
3445<br />
3446<br />
3447<br />
3448<br />
3449<br />
3450<br />
3451<br />
3452<br />
EXAMPLE 17:<br />
EXAMPLE 18:<br />
EXAMPLE 19:<br />
EXAMPLE 20:<br />
EXAMPLE 21:<br />
EXAMPLE 22:<br />
6.11 show<br />
job_id=7632<br />
command=set<br />
begingroup=instance<br />
ufip=/system1<br />
begingroup=property<br />
property_name=PrimaryOwnerName<br />
property_val=TheOwner<br />
endgroup<br />
endgroup<br />
oemxyz_message=The Contact information may need to be updated.<br />
endoutput<br />
Enables software2 for memory1. The association is explicitly identified.<br />
-> set<br />
/system1/memory1=>ElementSoftwareIdentity=>/system1/swid1/software2<br />
IsCurrent=true<br />
software2 is now active for memory1<br />
Fails to change which software2 is current on memory1 because multiple instances of<br />
ElementSoftwareIdentity reference memory1.<br />
-> set /system1/memory1=>ElementSoftwareIdentity IsCurrent=true<br />
Failed to set property "IsCurrent". Both references to an Association<br />
are required when it is the target of a set command.<br />
Enables software2. Specifies both references.<br />
-> set<br />
/system1/swid1/software2=>ElementSoftwareIdentity=>/system1/memory1<br />
IsCurrent=true<br />
software2 is now active for memory1.<br />
Attempts to suspend a currently running job.<br />
-> set /map1/jobqueue1/job23 jobstate=suspend<br />
Failed to suspend job23. The targeted job does not support<br />
suspension.<br />
Stops traffic over nic1.<br />
-> set /system4/nic1 enabledstate=quiesce<br />
Traffic over nic1 has been quiesced.<br />
Enables SSHv1 for a session.<br />
-> set /system1/sshprotoendpt1 enabledsshversions[1]=sshv1<br />
/system1/sshprotoendpt1<br />
enabledsshversions[0] = SSHv2<br />
enabledsshversions[1] = SSHv1<br />
3453<br />
3454<br />
3455<br />
3456<br />
3457<br />
The general form of the show command is:<br />
show [] [] [] [== ]<br />
6.11.1 General<br />
For the show command, implementations shall support the syntax defined for the show-cmd term in the<br />
CLP grammar defined in 268HAnnex A.<br />
Version 1.0.2 89
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3458<br />
3459<br />
3460<br />
3461<br />
3462<br />
3463<br />
3464<br />
3465<br />
3466<br />
3467<br />
3468<br />
3469<br />
3470<br />
3471<br />
3472<br />
3473<br />
3474<br />
3475<br />
3476<br />
3477<br />
3478<br />
3479<br />
3480<br />
3481<br />
3482<br />
3483<br />
3484<br />
3485<br />
3486<br />
3487<br />
3488<br />
3489<br />
3490<br />
3491<br />
3492<br />
3493<br />
3494<br />
3495<br />
3496<br />
3497<br />
3498<br />
3499<br />
3500<br />
3501<br />
3502<br />
The show command is used to display information about Managed Elements or Associations. It can be<br />
used to view information about a single Managed Element, a tree of Managed Elements, or Managed<br />
Elements matching a property value filter. When executed against a Resultant Address that ends in a<br />
UFiT without any other options, the show command will display information about the single instance<br />
identified by the Resultant Address. When executed against a Resultant Address that ends in a UFsT, the<br />
show command will display information about contained instances of the type specified by the UFcT<br />
specified in the UFsT. When used with the level option, the show command can be used to view a tree<br />
of Managed Elements.<br />
The <strong>Command</strong> Results for the show command is determined in the following order:<br />
1) Determine the Resultant Target for the command.<br />
2) Select Managed Element and Associations for which results will be returned from the<br />
containment hierarchy below the Resultant Target based on the value of the level option.<br />
3) Retrieve results for the selected Managed Elements and Associations.<br />
4) If the command target term terminated in a UFsT, apply the UFcT as a filter against the<br />
Managed Elements.<br />
5) If one or more property target terms that include the equivalence operator were specified, filter<br />
Managed Elements and Associations based on the property/value.<br />
6) If one or more target property terms that are property names were specified, filter the results to<br />
include only Managed Elements and Associations that have the properties, and for each<br />
Managed Element and Association, filter the results to include only the specified properties.<br />
7) If the display option was specified, apply its arguments to filter the results.<br />
If the Resultant Address terminates in a UFsT, the path up to and including the penultimate term of the<br />
Resultant Address determines the Resultant Target of the command. If the Resultant Address contains a<br />
single term that is a UFsT, the Resultant Target of the command will be the Managed Element that is the<br />
root of the address space. The implementation shall return each instance that is contained within the<br />
Resultant Target of the type specified by the UFcT specified in the UFsT. The implementation shall<br />
search the containment hierarchy below the Resultant Target for instances of the type specified by the<br />
UFcT specified in the UFsT to the depth specified by the level option. The implementation shall return<br />
information about the contained instances such that the information returned conforms with any<br />
restrictions or expansions specified by other options to the command. It is possible that zero instances<br />
are contained and thus there will not be any instances for which to return information. This is not an error<br />
and will be handled by implementations returning an appropriate representation of an empty result set.<br />
The show command can be specified with target property terms. Each target property term will either be a<br />
property name or contain a property name, equivalence operator, and property value. When specified, the<br />
target property terms affect the results returned by the show command. The show command can be used<br />
with target property terms as follows:<br />
• without target property terms<br />
• with target property terms that are property names<br />
• with target property terms that contain the equivalence operator<br />
• with a combination of target property terms that are just property names and others that contain<br />
the equivalence operator<br />
When the show command is used with one or more target property terms that are property names, the<br />
implementation shall restrict the results shown to include only Managed Elements or Associations that<br />
have the specified property and restrict the results for the Managed Element or Association to include<br />
only properties where the property name was specified as a target property term.<br />
90 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3503<br />
3504<br />
3505<br />
3506<br />
3507<br />
3508<br />
3509<br />
3510<br />
3511<br />
3512<br />
3513<br />
3514<br />
3515<br />
3516<br />
3517<br />
3518<br />
3519<br />
3520<br />
3521<br />
3522<br />
3523<br />
3524<br />
3525<br />
3526<br />
3527<br />
3528<br />
3529<br />
3530<br />
3531<br />
3532<br />
3533<br />
3534<br />
3535<br />
3536<br />
3537<br />
3538<br />
3539<br />
3540<br />
3541<br />
3542<br />
3543<br />
3544<br />
3545<br />
3546<br />
3547<br />
3548<br />
Implementations shall accept at least one target property term that contains the equivalence operator with<br />
the show command to use as a filter on the Managed Elements or Associations for which results are<br />
returned. Implementations may accept more than one target property term that contains an equivalence<br />
operator with the show command to use as a filter on the Managed Elements or Associations for which<br />
results will be returned. When an implementation accepts exactly one occurrence of a target property<br />
term that includes the equivalence operator and more than one occurrence of a target property term that<br />
includes the equivalence operator is specified on the <strong>Command</strong> <strong>Line</strong>, the implementation shall return a<br />
<strong>Command</strong> Status of COMMAND PROCESSING FAILED and a Processing Error of FUNCTION NOT<br />
SUPPORTED. For each target property term that includes the equivalence operator specified with the<br />
show command, the implementation shall restrict the Managed Elements or Associations for which<br />
results are shown to include only those Managed Elements or Associations that have a property with the<br />
specified name and the value of the property is equivalent to the value specified in the target property<br />
term.<br />
The display option can be used with the show command to control the information returned for an<br />
instance. Using the properties argument to the display option, with the show command a user can<br />
effectively search the address space (or a branch) for instances having a certain property or a<br />
property/value pair. When the show command and display option are used in this fashion, it effectively<br />
provides a query function. This display option can also be used to restrict the Managed Element<br />
instances and Association instances for which information will be returned by using the targets and<br />
associations arguments respectively. For more information on using the display option, see Error!<br />
Reference source not found..<br />
If the show command is specified without the display option, implementations will use the session<br />
default value for the display option. Use of the level option is supported only when the Resultant<br />
Address of the command is a UFiP. Regardless of whether the implementation supports the level<br />
option, when the show command is specified without the level option, the implementation shall behave<br />
as if the level option was specified with an argument of '1'. Note that this has no effect when the<br />
Resultant Target is an Association Class or Association instance.<br />
The command can be used with and without <strong>Command</strong> <strong>Line</strong> options.<br />
6.11.2 Valid Targets<br />
All targets and target/property combinations are valid for this command, and its behavior generally does<br />
not change based on target or property. In specific profiles, the behavior can be slightly different as<br />
defined in that profile. Implementations of the show command will accept an Absolute or a Relative<br />
Target Address for the command target term.<br />
6.11.3 Options<br />
Following are valid options for the show command in addition to those specified in Error! Reference<br />
source not found.:<br />
-l, -level <br />
Controls the target depth level for the containment hierarchy retrieval. The default<br />
for is "1" (that is, "the current target only"). Other values can retrieve<br />
"current target plus 'n-1' levels deep". To retrieve all levels recursively, the<br />
argument value all can be used with the level option.<br />
-d, -display <br />
Selects the category of information that is displayed about a target ME. Valid<br />
option argument values for this option include associations, targets,<br />
properties, verbs, and all. OEMs may also add values using the OEM_<br />
namespace as defined in the OEM extensions clause of this document. When<br />
Version 1.0.2 91
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3549<br />
3550<br />
3551<br />
3552<br />
-a, -all<br />
this option is not specified, the show command behaves as if this option was<br />
included with an argument of all.<br />
Instructs the implementation to return all data element types subject to any<br />
filtering of categories by the display option.<br />
3553<br />
3554<br />
3555<br />
3556<br />
3557<br />
3558<br />
3559<br />
3560<br />
3561<br />
3562<br />
269HTable 13 lists each type of data element that is returned by the show command and indicates whether the<br />
type requires the all option to be specified in the <strong>Command</strong> <strong>Line</strong> in order to be included in the<br />
<strong>Command</strong> Results. A value of "yes" in a cell indicates that elements of the corresponding data element<br />
type will not be returned unless the all option is included with the show command. For each data<br />
element type listed in 270HTable 13 for which the column labeled "-all Required" includes a value of "yes",<br />
implementations shall return elements of the specified data element type if and only if the all option is<br />
specified. For each data element type listed in 271HTable 13 for which the column labeled "-all Required" is<br />
blank, implementations shall return elements of the specified data element type irrespective of whether<br />
the all option is specified.<br />
Table 13 – Data Element Types and all Option<br />
Data Element Type Corresponding Display Argument -all Required<br />
Required properties<br />
properties<br />
Core properties properties yes<br />
OEM properties properties yes<br />
SM CLP verbs<br />
verbs<br />
OEM verbs verbs yes<br />
Addressing associations<br />
associations<br />
Non-addressing associations<br />
associations<br />
SM CLP targets<br />
targets<br />
OEM targets targets yes<br />
3563<br />
3564<br />
3565<br />
3566<br />
3567<br />
3568<br />
3569<br />
3570<br />
3571<br />
3572<br />
3573<br />
3574<br />
3575<br />
3576<br />
3577<br />
3578<br />
3579<br />
An implementation shall include a verb supported by the implementation in the list of verbs for a Managed<br />
Element if a command that includes the verb will complete successfully when the Resultant Target of the<br />
command is the Managed Element. An implementation shall not include a verb in the list of verbs for a<br />
Managed Element if a command that includes the verb will not successfully complete when the Resultant<br />
Target of the command is the Managed Element.<br />
6.11.4 Output<br />
This clause states requirements for CLP output for the show verb.<br />
6.11.4.1 Text Format<br />
When contained targets are returned, the <strong>Command</strong> Results output shall include a list of contained<br />
targets. If the <strong>Command</strong> Results contain multiple targets, the implementation shall return results such that<br />
the target containment hierarchy is unambiguous. If properties are returned, the implementation shall<br />
return results such that the target to which the properties belong is unambiguous. If the command<br />
resulted in no data, the implementation should not return any data.<br />
6.11.4.2 Structured Format<br />
This clause details requirements for structured output formats for the show verb.<br />
6.11.4.2.1 General<br />
The returned data shall include any status data in the standard format at the top of the response.<br />
92 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3580<br />
3581<br />
3582<br />
3583<br />
3584<br />
3585<br />
3586<br />
3587<br />
3588<br />
3589<br />
3590<br />
3591<br />
3592<br />
3593<br />
3594<br />
3595<br />
3596<br />
3597<br />
3598<br />
3599<br />
3600<br />
3601<br />
3602<br />
3603<br />
3604<br />
3605<br />
3606<br />
3607<br />
3608<br />
3609<br />
3610<br />
3611<br />
3612<br />
3613<br />
3614<br />
3615<br />
3616<br />
3617<br />
3618<br />
3619<br />
3620<br />
3621<br />
3622<br />
3623<br />
3624<br />
3625<br />
3626<br />
3627<br />
3628<br />
3629<br />
6.11.4.2.2 XML Output<br />
The XML document fragment indicates the general form of XML-encoded <strong>Command</strong> Results for the show<br />
command. It is possible that multiple instances of the element will be returned. Target<br />
containment hierarchy is explicitly indicated through element nesting. The implementation shall<br />
return the show element in the response element as defined in the <strong>Command</strong> Response schema in<br />
272H6HDSP0224.<br />
<br />
<br />
<br />
<br />
User Friendly instance Path identifying target<br />
<br />
Properties of the Managed Element.<br />
A property of Managed Element. Each property element is<br />
defined per the xsd.<br />
A property of Managed Element. Each property element is<br />
defined per the xsd.<br />
<br />
<br />
<br />
Association class name<br />
User Friendly instance Path of other referenced Managed<br />
Element.<br />
<br />
<br />
<br />
CLP term separator delimited list of CLP verbs<br />
<br />
CLP term separator delimited list of OEM verbs<br />
<br />
<br />
Recursive target elements representing Managed Elements contained<br />
in initial target.<br />
<br />
<br />
6.11.4.2.3 Keyword<br />
It is possible that results for multiple Managed Elements will be returned for the show command. Each<br />
Managed Element is returned as a block starting with:<br />
begingroup=instance<br />
The target containment hierarchy is not indicated in the <strong>Command</strong> Results structure. Instead, the<br />
begingroup=instance keyword/value pair identifies that a listing of UFiPs of contained Managed<br />
Elements will follow if this target contains other targets.<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the show command in<br />
"keyword" format:<br />
command=show<br />
begingroup=instance<br />
ufip=UFiP of Managed Element results are for<br />
begingroup=property<br />
property_name=property name<br />
property_val=property value<br />
Version 1.0.2 93
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3630<br />
3631<br />
3632<br />
3633<br />
3634<br />
3635<br />
3636<br />
3637<br />
3638<br />
3639<br />
3640<br />
3641<br />
3642<br />
3643<br />
3644<br />
3645<br />
3646<br />
3647<br />
3648<br />
3649<br />
3650<br />
3651<br />
3652<br />
3653<br />
3654<br />
3655<br />
3656<br />
3657<br />
3658<br />
3659<br />
3660<br />
3661<br />
3662<br />
3663<br />
3664<br />
3665<br />
3666<br />
3667<br />
3668<br />
3669<br />
3670<br />
3671<br />
3672<br />
3673<br />
3674<br />
endgroup<br />
.<br />
Additional property groups<br />
.<br />
begingroup=targets<br />
ufip=UFiP of contained target<br />
.<br />
Additional contained targets<br />
.<br />
endgroup<br />
begingroup=association<br />
ufct=UFcT of association<br />
ufip=UFiP on other end of association<br />
begingroup=property<br />
property_name=Name of Property of association<br />
property_val=value of property of association<br />
endgroup<br />
.<br />
Additional properties of the association<br />
.<br />
endgroup<br />
.<br />
Additional associations referencing this Managed Element<br />
.<br />
begingroup=verbs<br />
verb=<strong>Command</strong> applicable to this Managed Element<br />
.<br />
Additional commands applicable to this Managed Element<br />
.<br />
endgroup<br />
endgroup<br />
.<br />
Additional Managed Elements that are returned as results<br />
.<br />
endoutput<br />
6.11.5 Examples<br />
This clause provides examples of the use of the show verb.<br />
EXAMPLE 1: Shows all of the targets in the root of the address space.<br />
-> show –display targets /<br />
/<br />
Targets:<br />
map1<br />
system1<br />
system2<br />
hw1<br />
3675<br />
3676<br />
3677<br />
3678<br />
3679<br />
3680<br />
3681<br />
EXAMPLE 2:<br />
EXAMPLE 3:<br />
Shows the commands that apply to the root of the address space.<br />
-> show –display verbs /<br />
show<br />
cd<br />
Shows the value of the name property on system1.<br />
-> show –display properties=name /system1<br />
name = deadweight<br />
94 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3682<br />
3683<br />
3684<br />
3685<br />
3686<br />
3687<br />
3688<br />
3689<br />
3690<br />
3691<br />
3692<br />
3693<br />
3694<br />
3695<br />
3696<br />
3697<br />
3698<br />
3699<br />
3700<br />
3701<br />
3702<br />
3703<br />
3704<br />
3705<br />
3706<br />
3707<br />
3708<br />
3709<br />
3710<br />
3711<br />
3712<br />
3713<br />
3714<br />
3715<br />
3716<br />
3717<br />
3718<br />
3719<br />
3720<br />
3721<br />
3722<br />
3723<br />
3724<br />
3725<br />
3726<br />
3727<br />
3728<br />
3729<br />
3730<br />
3731<br />
3732<br />
3733<br />
3734<br />
3735<br />
EXAMPLE 4:<br />
Displays the physical containment hierarchy for chassis1.<br />
-> show –display targets –level all –o format=clpxml /hw1/chassis1<br />
<br />
<br />
<br />
show -display targets -level all -o format=clpxml<br />
/hw1/chassis1<br />
<br />
<br />
0<br />
COMMAND COMPLETED<br />
<br />
8734<br />
<br />
<br />
<br />
<br />
<br />
chassis1<br />
/chassis1<br />
<br />
<br />
<br />
board1<br />
/chassis1/board1<br />
<br />
<br />
<br />
card1<br />
/chassis1/board1/card1<br />
<br />
<br />
<br />
chip1<br />
/chassis1/board1/card1/chip1<br />
<br />
<br />
<br />
<br />
chip2<br />
/chassis1/board1/card1/chip2<br />
<br />
<br />
<br />
<br />
<br />
<br />
powerpkg1<br />
/chassis1/powerpkg1<br />
<br />
Version 1.0.2 95
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3736<br />
3737<br />
3738<br />
3739<br />
3740<br />
3741<br />
3742<br />
3743<br />
3744<br />
3745<br />
3746<br />
3747<br />
3748<br />
3749<br />
3750<br />
3751<br />
3752<br />
3753<br />
3754<br />
3755<br />
3756<br />
3757<br />
3758<br />
3759<br />
3760<br />
3761<br />
3762<br />
3763<br />
3764<br />
3765<br />
3766<br />
3767<br />
3768<br />
3769<br />
3770<br />
3771<br />
3772<br />
3773<br />
3774<br />
3775<br />
3776<br />
3777<br />
3778<br />
3779<br />
3780<br />
3781<br />
3782<br />
3783<br />
3784<br />
3785<br />
3786<br />
3787<br />
3788<br />
3789<br />
EXAMPLE 5:<br />
<br />
<br />
<br />
powerpkg2<br />
/chassis1/powerpkg2<br />
<br />
<br />
<br />
<br />
fanpkg1<br />
/chassis1/fanpkg1<br />
<br />
<br />
<br />
<br />
fanpkg2<br />
/chassis1/fanpkg2<br />
<br />
<br />
<br />
<br />
fanpkg3<br />
/chassis1/fanpkg3<br />
<br />
<br />
<br />
<br />
fanpkg4<br />
/chassis1/fanpkg4<br />
<br />
<br />
<br />
<br />
<br />
Displays the associations that reference the target.<br />
-> show –display associations –o format=clpxml /system1/powersup3<br />
<br />
<br />
<br />
show -display associations -o format=clpxml<br />
/system1/powersup3<br />
<br />
<br />
0<br />
COMMAND COMPLETED<br />
<br />
129<br />
<br />
<br />
<br />
96 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3790<br />
3791<br />
3792<br />
3793<br />
3794<br />
3795<br />
3796<br />
3797<br />
3798<br />
3799<br />
3800<br />
3801<br />
3802<br />
3803<br />
3804<br />
3805<br />
3806<br />
3807<br />
3808<br />
3809<br />
3810<br />
3811<br />
3812<br />
3813<br />
3814<br />
3815<br />
3816<br />
3817<br />
3818<br />
3819<br />
3820<br />
3821<br />
3822<br />
3823<br />
3824<br />
3825<br />
3826<br />
3827<br />
3828<br />
3829<br />
3830<br />
3831<br />
3832<br />
3833<br />
3834<br />
3835<br />
3836<br />
3837<br />
3838<br />
3839<br />
3840<br />
3841<br />
3842<br />
3843<br />
3844<br />
<br />
<br />
powersup3<br />
/system1/powersup3<br />
<br />
<br />
suppliespower<br />
<br />
dependent<br />
<br />
system1<br />
/system1<br />
<br />
<br />
<br />
antecedent<br />
<br />
powersup3<br />
/system1/powersup3<br />
<br />
<br />
<br />
<br />
realizes<br />
<br />
antecedent<br />
<br />
powerpkg2<br />
/chassis23/powerpkg2<br />
<br />
<br />
<br />
dependent<br />
<br />
powersup3<br />
/system1/powersup3<br />
<br />
<br />
<br />
<br />
SystemDevice<br />
<br />
partcomponent<br />
<br />
powersup3<br />
/system1/powersup3<br />
<br />
<br />
<br />
groupcomponent<br />
Version 1.0.2 97
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3845<br />
3846<br />
3847<br />
3848<br />
3849<br />
3850<br />
3851<br />
3852<br />
3853<br />
3854<br />
3855<br />
3856<br />
3857<br />
3858<br />
3859<br />
3860<br />
3861<br />
3862<br />
3863<br />
3864<br />
3865<br />
3866<br />
3867<br />
3868<br />
3869<br />
3870<br />
3871<br />
3872<br />
3873<br />
3874<br />
3875<br />
3876<br />
3877<br />
3878<br />
3879<br />
3880<br />
3881<br />
3882<br />
3883<br />
3884<br />
3885<br />
3886<br />
3887<br />
3888<br />
3889<br />
3890<br />
3891<br />
3892<br />
3893<br />
3894<br />
3895<br />
3896<br />
3897<br />
3898<br />
EXAMPLE 6:<br />
<br />
system1<br />
/system1<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Displays the SuppliesPower and Realizes associations that reference the target.<br />
-> show –display associations=(SuppliesPower,Realizes) –o format=clpxml<br />
/system1/powersup3<br />
<br />
<br />
<br />
show -display associations=(suppliespower,realizes)<br />
/system1/powersup3<br />
<br />
<br />
0<br />
COMMAND COMPLETED<br />
<br />
129<br />
<br />
<br />
<br />
<br />
<br />
powersup3<br />
/system1/powersup3<br />
<br />
<br />
suppliespower<br />
<br />
dependent<br />
<br />
system1<br />
/system1<br />
<br />
<br />
<br />
antecedent<br />
<br />
powersup3<br />
98 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3899<br />
3900<br />
3901<br />
3902<br />
3903<br />
3904<br />
3905<br />
3906<br />
3907<br />
3908<br />
3909<br />
3910<br />
3911<br />
3912<br />
3913<br />
3914<br />
3915<br />
3916<br />
3917<br />
3918<br />
3919<br />
3920<br />
3921<br />
3922<br />
3923<br />
3924<br />
3925<br />
3926<br />
3927<br />
3928<br />
3929<br />
3930<br />
3931<br />
3932<br />
3933<br />
3934<br />
3935<br />
3936<br />
3937<br />
3938<br />
3939<br />
3940<br />
3941<br />
3942<br />
3943<br />
3944<br />
3945<br />
3946<br />
3947<br />
3948<br />
3949<br />
3950<br />
3951<br />
3952<br />
EXAMPLE 7:<br />
/system1/powersup3<br />
<br />
<br />
<br />
<br />
realizes<br />
<br />
antecedent<br />
<br />
powerpkg2<br />
/chassis23/powerpkg2<br />
<br />
<br />
<br />
dependent<br />
<br />
powersup3<br />
/system1/powersup3<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Views the status of the spawned job above. In this example, the spawned job failed to run to<br />
completion.<br />
-> show –o format=clpxml –d properties /map1/job1/job385<br />
<br />
<br />
<br />
show -o format=clpxml /map1/job1/job385<br />
<br />
<br />
0<br />
<br />
892<br />
<br />
<br />
<br />
<br />
<br />
job385<br />
/map1/jobqueue1/job385<br />
<br />
<br />
Version 1.0.2 99
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
3953<br />
3954<br />
3955<br />
3956<br />
3957<br />
3958<br />
3959<br />
3960<br />
3961<br />
3962<br />
3963<br />
3964<br />
3965<br />
3966<br />
3967<br />
3968<br />
3969<br />
3970<br />
3971<br />
3972<br />
3973<br />
3974<br />
3975<br />
3976<br />
3977<br />
3978<br />
3979<br />
3980<br />
3981<br />
3982<br />
3983<br />
3984<br />
3985<br />
3986<br />
3987<br />
3988<br />
3989<br />
3990<br />
3991<br />
3992<br />
3993<br />
3994<br />
3995<br />
3996<br />
3997<br />
3998<br />
3999<br />
4000<br />
4001<br />
4002<br />
4003<br />
JobState<br />
<br />
10<br />
Exception<br />
<br />
<br />
<br />
TimeOfLastStateChange<br />
20050130145904.000000-<br />
300<br />
datetime<br />
<br />
<br />
TimeBeforeRemoval<br />
00000000000500.000000:000<br />
<br />
<br />
<br />
ElapsedTime<br />
00000000000034.000000:000<br />
<br />
<br />
<br />
StartTime<br />
20050130145830.000000-300<br />
<br />
<br />
<br />
TimeSubmitted<br />
20050130145830.000000-300<br />
<br />
<br />
<br />
TimeBeforeRemoval<br />
00000000000500.000000:000<br />
<br />
<br />
<br />
name<br />
<br />
dump –destination<br />
ftp://administrator:passw0rd@myserver.com/<br />
private/administrator/memory.dmp memory1<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
100 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4004<br />
4005<br />
4006<br />
4007<br />
4008<br />
4009<br />
4010<br />
4011<br />
4012<br />
4013<br />
4014<br />
4015<br />
4016<br />
4017<br />
4018<br />
4019<br />
4020<br />
4021<br />
4022<br />
4023<br />
4024<br />
4025<br />
4026<br />
4027<br />
4028<br />
4029<br />
4030<br />
4031<br />
4032<br />
4033<br />
4034<br />
4035<br />
4036<br />
4037<br />
4038<br />
4039<br />
4040<br />
4041<br />
4042<br />
4043<br />
4044<br />
4045<br />
4046<br />
4047<br />
4048<br />
4049<br />
4050<br />
4051<br />
4052<br />
4053<br />
4054<br />
4055<br />
4056<br />
4057<br />
EXAMPLE 8:<br />
EXAMPLE 9:<br />
Queries the value of the PrimaryOwnerName and ResetCapability properties by using –display<br />
properties=(ResetCapability,PrimaryOwnerName) as a filter on these results.<br />
-> show –display ` properties=(ResetCapability,PrimaryOwnerName)<br />
/system1<br />
/system1<br />
properties<br />
ResetCapability = Disabled (3)<br />
PrimaryOwnerName = Some guy<br />
Queries the value of the PrimaryOwnerName and ResetCapability properties using<br />
–display properties=(ResetCapability,PrimaryOwnerName) as a filter on these<br />
results.<br />
-> show –display ` properties=(ResetCapability,PrimaryOwnerName) –o<br />
format=clpxml /system1<br />
<br />
<br />
<br />
show –display<br />
properties=(ResetCapability,PrimaryOwnerName) -o<br />
format=clpxml /system1 <br />
<br />
<br />
0<br />
<br />
<br />
<br />
<br />
system1<br />
/system1<br />
<br />
<br />
ResetCapability<br />
<br />
3<br />
Disabled<br />
<br />
<br />
<br />
Dedicated<br />
<br />
<br />
4<br />
Router<br />
<br />
<br />
3<br />
Switch<br />
<br />
<br />
<br />
<br />
Version 1.0.2 101
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4058<br />
4059<br />
4060<br />
4061<br />
4062<br />
4063<br />
4064<br />
4065<br />
4066<br />
4067<br />
4068<br />
4069<br />
4070<br />
4071<br />
4072<br />
4073<br />
4074<br />
4075<br />
4076<br />
4077<br />
4078<br />
4079<br />
4080<br />
4081<br />
4082<br />
4083<br />
4084<br />
4085<br />
4086<br />
4087<br />
4088<br />
4089<br />
4090<br />
4091<br />
4092<br />
4093<br />
4094<br />
4095<br />
4096<br />
4097<br />
4098<br />
4099<br />
4100<br />
4101<br />
4102<br />
4103<br />
4104<br />
4105<br />
4106<br />
4107<br />
4108<br />
4109<br />
4110<br />
4111<br />
EXAMPLE 10:<br />
EXAMPLE 11:<br />
<br />
<br />
<br />
<br />
Displays all of the commands applicable to system1.<br />
-> show –display verbs –all –o format=clpxml /system1<br />
<br />
<br />
<br />
show -display verbs -all -o format=clpxml<br />
/system1<br />
<br />
<br />
0<br />
<br />
2342<br />
<br />
<br />
<br />
<br />
<br />
system1<br />
/system1<br />
<br />
show start stop set reset<br />
help<br />
OEMxyzDoSomething<br />
<br />
<br />
<br />
<br />
<br />
Displays information about system1 and everything immediately contained within it.<br />
-> show –d all –level 2 –o format=clpxml /system1<br />
<br />
<br />
<br />
show –d all -level 1 -o format=clpxml<br />
/system1<br />
<br />
<br />
0<br />
COMMAND COMPLETED<br />
<br />
29345<br />
<br />
102 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4112<br />
4113<br />
4114<br />
4115<br />
4116<br />
4117<br />
4118<br />
4119<br />
4120<br />
4121<br />
4122<br />
4123<br />
4124<br />
4125<br />
4126<br />
4127<br />
4128<br />
4129<br />
4130<br />
4131<br />
4132<br />
4133<br />
4134<br />
4135<br />
4136<br />
4137<br />
4138<br />
4139<br />
4140<br />
4141<br />
4142<br />
4143<br />
4144<br />
4145<br />
4146<br />
4147<br />
4148<br />
4149<br />
4150<br />
4151<br />
4152<br />
4153<br />
4154<br />
4155<br />
4156<br />
4157<br />
4158<br />
4159<br />
4160<br />
4161<br />
4162<br />
4163<br />
4164<br />
4165<br />
<br />
<br />
<br />
<br />
system1<br />
/system1<br />
<br />
<br />
NameFormat<br />
<br />
IP<br />
<br />
<br />
<br />
ResetCapability<br />
<br />
5<br />
<br />
<br />
<br />
IdentifyingDescriptions<br />
<br />
<br />
mac address<br />
<br />
<br />
mac address<br />
<br />
<br />
<br />
<br />
OtherIdentifyingInfo<br />
<br />
<br />
0023342312<br />
<br />
<br />
0023342313<br />
<br />
<br />
<br />
<br />
Dedicated<br />
<br />
<br />
4<br />
Router<br />
<br />
<br />
5<br />
Switch<br />
<br />
<br />
<br />
Version 1.0.2 103
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4166<br />
4167<br />
4168<br />
4169<br />
4170<br />
4171<br />
4172<br />
4173<br />
4174<br />
4175<br />
4176<br />
4177<br />
4178<br />
4179<br />
4180<br />
4181<br />
4182<br />
4183<br />
4184<br />
4185<br />
4186<br />
4187<br />
4188<br />
4189<br />
4190<br />
4191<br />
4192<br />
4193<br />
4194<br />
4195<br />
4196<br />
4197<br />
4198<br />
4199<br />
4200<br />
4201<br />
4202<br />
4203<br />
4204<br />
4205<br />
4206<br />
4207<br />
4208<br />
4209<br />
4210<br />
4211<br />
4212<br />
4213<br />
4214<br />
4215<br />
4216<br />
4217<br />
4218<br />
4219<br />
4220<br />
<br />
<br />
<br />
ComputerSystemPackage<br />
<br />
antecedent<br />
<br />
chassis3<br />
/hw1/chassis3<br />
<br />
<br />
<br />
dependent<br />
<br />
system1<br />
/system1<br />
<br />
<br />
<br />
<br />
PlatformGUID<br />
<br />
00992365293059103762850194833920<br />
<br />
<br />
<br />
<br />
<br />
<br />
SuppliesPower<br />
<br />
antecedent<br />
<br />
powersupply1<br />
/system1/powersupply1<br />
<br />
<br />
<br />
dependent<br />
<br />
cpu1<br />
/system1<br />
<br />
<br />
<br />
<br />
SuppliesPower<br />
<br />
antecedent<br />
<br />
powersupply2<br />
104 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4221<br />
4222<br />
4223<br />
4224<br />
4225<br />
4226<br />
4227<br />
4228<br />
4229<br />
4230<br />
4231<br />
4232<br />
4233<br />
4234<br />
4235<br />
4236<br />
4237<br />
4238<br />
4239<br />
4240<br />
4241<br />
4242<br />
4243<br />
4244<br />
4245<br />
4246<br />
4247<br />
4248<br />
4249<br />
4250<br />
4251<br />
4252<br />
4253<br />
4254<br />
4255<br />
4256<br />
4257<br />
4258<br />
4259<br />
4260<br />
4261<br />
4262<br />
4263<br />
4264<br />
4265<br />
4266<br />
4267<br />
4268<br />
4269<br />
4270<br />
4271<br />
4272<br />
4273<br />
/system1/powersupply2<br />
<br />
<br />
<br />
dependent<br />
<br />
cpu1<br />
/system1/cpu1<br />
<br />
<br />
<br />
<br />
AssociatedCooling<br />
<br />
antecedent<br />
<br />
fan1<br />
/system1/fan1<br />
<br />
<br />
<br />
dependent<br />
<br />
system1<br />
/system1<br />
<br />
<br />
<br />
<br />
AssociatedCooling<br />
<br />
antecedent<br />
<br />
system1<br />
/system1/fan2<br />
<br />
<br />
<br />
dependent<br />
<br />
system1<br />
/system1<br />
<br />
<br />
<br />
<br />
Realizes<br />
<br />
antecedent<br />
<br />
Version 1.0.2 105
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4274<br />
4275<br />
4276<br />
4277<br />
4278<br />
4279<br />
4280<br />
4281<br />
4282<br />
4283<br />
4284<br />
4285<br />
4286<br />
4287<br />
4288<br />
4289<br />
4290<br />
4291<br />
4292<br />
4293<br />
4294<br />
4295<br />
4296<br />
4297<br />
4298<br />
4299<br />
4300<br />
4301<br />
4302<br />
4303<br />
4304<br />
4305<br />
4306<br />
4307<br />
4308<br />
4309<br />
4310<br />
4311<br />
4312<br />
4313<br />
4314<br />
4315<br />
4316<br />
4317<br />
4318<br />
4319<br />
4320<br />
4321<br />
4322<br />
4323<br />
4324<br />
4325<br />
4326<br />
4327<br />
4328<br />
ppowersupply1<br />
/hw1/chassis3/ppowersupply1<br />
<br />
<br />
<br />
dependent<br />
<br />
powersupply1<br />
/system1/powersupply1<br />
<br />
<br />
<br />
<br />
realizes<br />
<br />
dependent<br />
<br />
powersupply2<br />
/system1/powersupply2<br />
<br />
<br />
<br />
antecedent<br />
<br />
ppowersupply2<br />
/hw1/chassis3/ppowersupply2<br />
<br />
<br />
<br />
<br />
Realizes<br />
<br />
antecedent<br />
<br />
ppowersupply2<br />
/hw1/chassis3/ppowersupply2<br />
<br />
<br />
<br />
dependent<br />
<br />
powersupply2<br />
/system1/powersupply2<br />
<br />
<br />
<br />
<br />
<br />
106 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4329<br />
4330<br />
4331<br />
4332<br />
4333<br />
4334<br />
4335<br />
4336<br />
4337<br />
4338<br />
4339<br />
4340<br />
4341<br />
4342<br />
4343<br />
4344<br />
4345<br />
4346<br />
4347<br />
4348<br />
4349<br />
4350<br />
4351<br />
4352<br />
4353<br />
4354<br />
4355<br />
4356<br />
4357<br />
4358<br />
4359<br />
4360<br />
4361<br />
4362<br />
4363<br />
4364<br />
4365<br />
4366<br />
4367<br />
4368<br />
4369<br />
4370<br />
4371<br />
4372<br />
4373<br />
4374<br />
4375<br />
4376<br />
4377<br />
4378<br />
4379<br />
4380<br />
4381<br />
4382<br />
show set stop start<br />
reset<br />
<br />
<br />
<br />
<br />
cpu1<br />
/system1/cpu1<br />
<br />
<br />
Family<br />
<br />
1<br />
<br />
<br />
<br />
OtherFamilyDescription<br />
<br />
SuperSlow100<br />
<br />
<br />
<br />
MaxClockSpeed<br />
<br />
33<br />
<br />
Megahertz<br />
<br />
<br />
CPUStatus<br />
<br />
1<br />
<br />
<br />
<br />
<br />
show<br />
<br />
<br />
<br />
<br />
<br />
powersup1<br />
/system1/powersup1<br />
<br />
<br />
TotalOutputPower<br />
<br />
1200000<br />
<br />
milliwatts<br />
<br />
<br />
Version 1.0.2 107
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4383<br />
4384<br />
4385<br />
4386<br />
4387<br />
4388<br />
4389<br />
4390<br />
4391<br />
4392<br />
4393<br />
4394<br />
4395<br />
4396<br />
4397<br />
4398<br />
4399<br />
4400<br />
4401<br />
4402<br />
4403<br />
4404<br />
4405<br />
4406<br />
4407<br />
4408<br />
4409<br />
4410<br />
4411<br />
4412<br />
4413<br />
4414<br />
4415<br />
4416<br />
4417<br />
4418<br />
4419<br />
4420<br />
4421<br />
4422<br />
4423<br />
4424<br />
4425<br />
4426<br />
4427<br />
4428<br />
4429<br />
4430<br />
4431<br />
4432<br />
4433<br />
4434<br />
4435<br />
4436<br />
4437<br />
<br />
<br />
SuppliesPower<br />
<br />
dependent<br />
<br />
system1<br />
/system1<br />
<br />
<br />
<br />
antecedent<br />
<br />
powersup1<br />
/system1/powersup1<br />
<br />
<br />
<br />
<br />
Realizes<br />
<br />
antecedent<br />
<br />
powerpkg1<br />
/hw1/chassis3/powerpkg1<br />
<br />
<br />
<br />
dependent<br />
<br />
powersup1<br />
/system1/powersup1<br />
<br />
<br />
<br />
<br />
<br />
show<br />
<br />
<br />
<br />
<br />
<br />
powersup2<br />
/system1/powersup2<br />
<br />
<br />
TotalOutputPower<br />
<br />
1200000<br />
108 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4438<br />
4439<br />
4440<br />
4441<br />
4442<br />
4443<br />
4444<br />
4445<br />
4446<br />
4447<br />
4448<br />
4449<br />
4450<br />
4451<br />
4452<br />
4453<br />
4454<br />
4455<br />
4456<br />
4457<br />
4458<br />
4459<br />
4460<br />
4461<br />
4462<br />
4463<br />
4464<br />
4465<br />
4466<br />
4467<br />
4468<br />
4469<br />
4470<br />
4471<br />
4472<br />
4473<br />
4474<br />
4475<br />
4476<br />
4477<br />
4478<br />
4479<br />
4480<br />
4481<br />
4482<br />
4483<br />
4484<br />
4485<br />
4486<br />
4487<br />
4488<br />
4489<br />
4490<br />
4491<br />
<br />
milliwatts<br />
<br />
<br />
<br />
<br />
SuppliesPower<br />
<br />
dependent<br />
<br />
system1<br />
/system1<br />
<br />
<br />
<br />
antecedent<br />
<br />
powersup2<br />
/system1/powersup2<br />
<br />
<br />
<br />
<br />
Realizes<br />
<br />
antecedent<br />
<br />
powerpkg2<br />
/hw1/chassis3/powerpkg2<br />
<br />
<br />
<br />
dependent<br />
<br />
powersup2<br />
/system1/powersup2<br />
<br />
<br />
<br />
<br />
<br />
show<br />
<br />
<br />
<br />
<br />
<br />
fan1<br />
/system1/fan1<br />
<br />
Version 1.0.2 109
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4492<br />
4493<br />
4494<br />
4495<br />
4496<br />
4497<br />
4498<br />
4499<br />
4500<br />
4501<br />
4502<br />
4503<br />
4504<br />
4505<br />
4506<br />
4507<br />
4508<br />
4509<br />
4510<br />
4511<br />
4512<br />
4513<br />
4514<br />
4515<br />
4516<br />
4517<br />
4518<br />
4519<br />
4520<br />
4521<br />
4522<br />
4523<br />
4524<br />
4525<br />
4526<br />
4527<br />
4528<br />
4529<br />
4530<br />
4531<br />
4532<br />
4533<br />
4534<br />
4535<br />
4536<br />
4537<br />
4538<br />
4539<br />
4540<br />
4541<br />
4542<br />
4543<br />
4544<br />
4545<br />
<br />
VariableSpeed<br />
<br />
true<br />
<br />
<br />
<br />
DesiredSpeed<br />
<br />
3600<br />
<br />
Revolutions per minute<br />
<br />
<br />
ActiveCooling<br />
<br />
True<br />
<br />
<br />
<br />
<br />
<br />
AssociatedCooling<br />
<br />
dependent<br />
<br />
system1<br />
/system1<br />
<br />
<br />
<br />
antecedent<br />
<br />
fan1<br />
/system1/fan1<br />
<br />
<br />
<br />
<br />
<br />
show set<br />
<br />
<br />
<br />
<br />
<br />
fan2<br />
/system1/fan2<br />
<br />
<br />
VariableSpeed<br />
<br />
110 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4546<br />
4547<br />
4548<br />
4549<br />
4550<br />
4551<br />
4552<br />
4553<br />
4554<br />
4555<br />
4556<br />
4557<br />
4558<br />
4559<br />
4560<br />
4561<br />
4562<br />
4563<br />
4564<br />
4565<br />
4566<br />
4567<br />
4568<br />
4569<br />
4570<br />
4571<br />
4572<br />
4573<br />
4574<br />
4575<br />
4576<br />
4577<br />
4578<br />
4579<br />
4580<br />
4581<br />
4582<br />
4583<br />
4584<br />
4585<br />
4586<br />
4587<br />
4588<br />
4589<br />
4590<br />
4591<br />
4592<br />
4593<br />
4594<br />
4595<br />
4596<br />
4597<br />
4598<br />
4599<br />
4600<br />
4601<br />
4602<br />
4603<br />
EXAMPLE 12:<br />
true<br />
<br />
<br />
<br />
DesiredSpeed<br />
<br />
3600<br />
<br />
Revolutions per minute<br />
<br />
<br />
ActiveCooling<br />
<br />
True<br />
<br />
<br />
<br />
<br />
<br />
AssociatedCooling<br />
<br />
dependent<br />
<br />
system1<br />
/system1<br />
<br />
<br />
<br />
antecedent<br />
<br />
fan2<br />
/system1/fan2<br />
<br />
<br />
<br />
<br />
<br />
show set<br />
<br />
<br />
<br />
<br />
<br />
<br />
Displays information about system1 and everything immediately contained within it.<br />
-> show –d all –level 2 –o format=keyword /system1<br />
commandline=show –d all -level 2 –o format=keyword /system1<br />
status=0<br />
status_tag=COMMAND COMPLETED<br />
job_id=29345<br />
command=show<br />
begingroup=instance<br />
ufip=/system1<br />
begingroup=property<br />
property_name=NameFormat<br />
property_val=IP<br />
Version 1.0.2 111
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
112 Version 1.0.2<br />
endgroup<br />
4604<br />
begingroup=property<br />
4605<br />
property_name=ResetCapability<br />
4606<br />
property_val=5<br />
4607<br />
endgroup<br />
4608<br />
begingroup=property<br />
4609<br />
property_name=IdentifyingDescriptions<br />
4610<br />
property_val=mac address<br />
4611<br />
property_val=mac address<br />
4612<br />
endgroup<br />
4613<br />
begingroup=property<br />
4614<br />
property_name=OtherIdentifyingInfo<br />
4615<br />
property_val=0023342312<br />
4616<br />
property_val=0023342313<br />
4617<br />
endgroup<br />
4618<br />
begingroup=property<br />
4619<br />
property_name=Dedicated<br />
4620<br />
property_val=4<br />
4621<br />
property_valstring=Router<br />
4622<br />
property_val=5<br />
4623<br />
property_valstring=Switch<br />
4624<br />
endgroup<br />
4625<br />
begingroup=targets<br />
4626<br />
ufip=powersup1<br />
4627<br />
ufip=powersup2<br />
4628<br />
ufip=fan1<br />
4629<br />
ufip=fan2<br />
4630<br />
endgroup<br />
4631<br />
begingroup=association<br />
4632<br />
ufct=ComputerSystemPackage<br />
4633<br />
ufip=/hw1/chassis3<br />
4634<br />
begingroup=property<br />
4635<br />
property_name=PlatformGUID<br />
4636<br />
property_val=00992365293059103762850194833920<br />
4637<br />
endgroup<br />
4638<br />
endgroup<br />
4639<br />
begingroup=association<br />
4640<br />
ufct=SuppliesPower<br />
4641<br />
ufip=/system1/powersup1<br />
4642<br />
endgroup<br />
4643<br />
begingroup=association<br />
4644<br />
ufct=SuppliesPower<br />
4645<br />
ufip=/system1/powersup2<br />
4646<br />
endgroup<br />
4647<br />
begingroup=association<br />
4648<br />
ufct=AssociatedCooling<br />
4649<br />
ufip=/system1/fan1<br />
4650<br />
endgroup<br />
4651<br />
begingroup=association<br />
4652<br />
ufct=AssociatedCooling<br />
4653<br />
ufip=/system1/fan2<br />
4654<br />
endgroup<br />
4655<br />
begingroup=verbs<br />
4656<br />
verb=reset<br />
4657<br />
verb=start<br />
4658<br />
verb=stop<br />
4659<br />
verb=set<br />
4660<br />
verb=show<br />
4661<br />
endgroup<br />
4662<br />
endgroup<br />
4663<br />
begingroup=instance<br />
4664<br />
ufip=/system1/cpu1<br />
4665<br />
begingroup=property<br />
4666<br />
property_name=Family<br />
4667
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
Version 1.0.2 113<br />
property_val=1<br />
4668<br />
endgroup<br />
4669<br />
begingroup=instance<br />
4670<br />
property_name=OtherFamilyDescription<br />
4671<br />
property_val=SuperSlow100<br />
4672<br />
endgroup<br />
4673<br />
begingroup=instance<br />
4674<br />
property_name=MaxClockSpeed<br />
4675<br />
property_val=33<br />
4676<br />
units=Megahertz<br />
4677<br />
endgroup<br />
4678<br />
begingroup=instance<br />
4679<br />
property_name=CPUStatus<br />
4680<br />
property_val=1<br />
4681<br />
endgroup<br />
4682<br />
begingroup=verbs<br />
4683<br />
verb=show<br />
4684<br />
4685<br />
endgroup<br />
4686<br />
endgroup<br />
4687<br />
begingroup=instance<br />
4688<br />
ufip=/system1/powersup1<br />
4689<br />
begingroup=property<br />
4690<br />
property_name=TotalOutputPower<br />
4691<br />
property_val=1200000<br />
4692<br />
units=milliwatts<br />
4693<br />
begingroup=association<br />
4694<br />
ufct=Realizes<br />
4695<br />
ufip=/hw1/chassis3/powerpkg1<br />
4696<br />
endgroup<br />
4697<br />
begingroup=association<br />
4698<br />
ufct=SuppliesPower<br />
4699<br />
ufip=/system1<br />
4700<br />
endgroup<br />
4701<br />
begingroup=verbs<br />
4702<br />
verb=show<br />
4703<br />
endgroup<br />
4704<br />
begingroup=instance<br />
4705<br />
ufip=/system1/powersup2<br />
4706<br />
begingroup=property<br />
4707<br />
property_name=TotalOutputPower<br />
4708<br />
property_val=1200000<br />
4709<br />
units=milliwatts<br />
4710<br />
endgroup<br />
4711<br />
begingroup=association<br />
4712<br />
ufct=Realizes<br />
4713<br />
ufip=/hw1/chassis3/powerpkg2<br />
4714<br />
endgroup<br />
4715<br />
begingroup=association<br />
4716<br />
ufct=SuppliesPower<br />
4717<br />
ufip=/system1<br />
4718<br />
endgroup<br />
4719<br />
begingroup=verbs<br />
4720<br />
verb=show<br />
4721<br />
endgroup<br />
4722<br />
begingroup=instance<br />
4723<br />
ufip=/system1/fan1<br />
4724<br />
begingroup=property<br />
4725<br />
property_name=DesiredSpeed<br />
4726<br />
property_val=3600<br />
4727<br />
units=Revolutions per Minutes<br />
4728<br />
endgroup<br />
4729<br />
begingroup=property<br />
4730<br />
property_name=VariableSpeed<br />
4731
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4732<br />
4733<br />
4734<br />
4735<br />
4736<br />
4737<br />
4738<br />
4739<br />
4740<br />
4741<br />
4742<br />
4743<br />
4744<br />
4745<br />
4746<br />
4747<br />
4748<br />
4749<br />
4750<br />
4751<br />
4752<br />
4753<br />
4754<br />
4755<br />
4756<br />
4757<br />
4758<br />
4759<br />
4760<br />
4761<br />
4762<br />
4763<br />
4764<br />
4765<br />
4766<br />
4767<br />
4768<br />
4769<br />
4770<br />
4771<br />
4772<br />
4773<br />
4774<br />
4775<br />
4776<br />
4777<br />
4778<br />
4779<br />
4780<br />
4781<br />
4782<br />
4783<br />
4784<br />
4785<br />
4786<br />
4787<br />
4788<br />
4789<br />
4790<br />
EXAMPLE 13:<br />
property_val=true<br />
property_name=ActiveCooling<br />
property_val=true<br />
endgroup<br />
begingroup=association<br />
ufct=AssociatedCooling<br />
ufip=/system1<br />
endgroup<br />
begingroup=verbs<br />
verb=show<br />
verb=set<br />
endgroup<br />
begingroup=instance<br />
ufip=/system1/fan2<br />
begingroup=property<br />
property_name=DesiredSpeed<br />
property_val=3600<br />
units=Revolutions per Minutes<br />
endgroup<br />
begingroup=property<br />
property_name=VariableSpeed<br />
property_val=true<br />
endgroup<br />
begingroup=property<br />
property_name=ActiveCooling<br />
property_val=true<br />
endgroup<br />
begingroup=association<br />
ufct=AssociatedCooling<br />
ufip=/system1<br />
endgroup<br />
begingroup=verbs<br />
verb=show<br />
verb=set<br />
endgroup<br />
endoutput<br />
Shows the OperationalStatus of components in system1.<br />
-> show –display properties=(OperationalStatus,Name) ` –level 2<br />
/system1<br />
/system1<br />
OperationalStatus is OK<br />
Name is webserver1<br />
/system1/cpu1<br />
OperationalStatus is OK<br />
Name is main processor 1<br />
/system1/cpu2<br />
OperationalStatus is OK<br />
Name is main processor 2<br />
/system1/cpu3<br />
OperationalStatus is OK<br />
Name is main processor 3<br />
/system1/cpu4<br />
OperationalStatus is Degraded<br />
Name is main processor 4<br />
/system1/powersup1<br />
OperationalStatus is Degraded<br />
Name is AC power 1<br />
/system1/powersup2<br />
OperationalStatus is OK<br />
114 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4791<br />
4792<br />
4793<br />
4794<br />
4795<br />
4796<br />
4797<br />
4798<br />
4799<br />
4800<br />
4801<br />
4802<br />
4803<br />
4804<br />
EXAMPLE 14:<br />
EXAMPLE 15:<br />
Name is AC power 2<br />
Shows all of the CPUs that have a bad operational status.<br />
-> show –display properties=(Name,OperationalStatus) ` /system1/cpu*<br />
OperationalStatus==Degraded<br />
/system1/cpu4<br />
Name is main processor 4<br />
OperationalStatus is Degraded<br />
Shows all of the components that have a bad operational status.<br />
-> show -level 2 –display properties=(OperationalStatus) ` /system1<br />
(OperationalStatus==Degraded)<br />
/system1/cpu4<br />
OperationalStatus is Degraded<br />
/system1/powersup1<br />
OperationalStatus is Degraded<br />
4805<br />
4806<br />
4807<br />
4808<br />
4809<br />
EXAMPLE 16: Shows all of the components that are named "main processor 4".<br />
-> show -level 2 –display properties=(Name) /system1 ` Name=="Main<br />
processor 4"<br />
/system1/cpu4<br />
Name is main processor 4<br />
4810<br />
4811<br />
4812<br />
4813<br />
4814<br />
4815<br />
4816<br />
4817<br />
4818<br />
4819<br />
4820<br />
4821<br />
4822<br />
4823<br />
4824<br />
4825<br />
4826<br />
4827<br />
4828<br />
4829<br />
EXAMPLE 17:<br />
EXAMPLE 18:<br />
EXAMPLE 19:<br />
EXAMPLE 20:<br />
Tries to filter using two property values.<br />
-> show -level 2 –display properties=(Name) /system1 'Name=="Main<br />
processor 4",OperationalStatus==Degraded<br />
Filtering with multiple properties is not supported.<br />
Shows just the operational status of the processors in system1.<br />
-> show /system1/cpu* OperationalStatus<br />
/system1/cpu1<br />
OperationalStatus = Degraded<br />
/system1/cpu2<br />
OperationalStatus = Ok<br />
Assuming the same system1 as the preceding example, shows the ElementName of all<br />
degraded processors in system1.<br />
-> show /system1/cpu* ElementName OperationalStatus==Degraded<br />
/system1/cpu1<br />
ElementName = "processor one"<br />
Assuming the same system1 as the preceding example, shows the OperationalStatus of all<br />
degraded processors in system1.<br />
-> show /system1/cpu* OperationalStatus ' OperationalStatus==Degraded<br />
/system1/cpu1<br />
OperationalStatus = Degraded<br />
Version 1.0.2 115
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4830<br />
4831<br />
4832<br />
4833<br />
4834<br />
4835<br />
4836<br />
4837<br />
4838<br />
4839<br />
4840<br />
4841<br />
4842<br />
4843<br />
4844<br />
4845<br />
4846<br />
4847<br />
4848<br />
4849<br />
4850<br />
4851<br />
4852<br />
4853<br />
4854<br />
4855<br />
4856<br />
4857<br />
4858<br />
4859<br />
4860<br />
4861<br />
4862<br />
4863<br />
4864<br />
4865<br />
4866<br />
4867<br />
4868<br />
4869<br />
4870<br />
4871<br />
4872<br />
4873<br />
4874<br />
4875<br />
4876<br />
4877<br />
4878<br />
4879<br />
4880<br />
4881<br />
4882<br />
4883<br />
EXAMPLE 21:<br />
Shows the values for options that can have default values.<br />
-> show –display properties –o format=clpxml SESSION<br />
<br />
<br />
<br />
show -display properties -o format=clpxml<br />
SESSION<br />
<br />
<br />
0<br />
<br />
<br />
<br />
<br />
clpendpt5<br />
/map1/sessions1/clpendpt5<br />
<br />
<br />
cdt<br />
<br />
/system1/cpu4<br />
<br />
<br />
<br />
outputformat<br />
<br />
4xml<br />
<br />
<br />
<br />
outputverbosity<br />
<br />
terse<br />
1<br />
<br />
<br />
<br />
outputlanguage<br />
<br />
eng<br />
<br />
<br />
<br />
outputposition<br />
<br />
1<br />
begin<br />
<br />
<br />
<br />
116 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4884<br />
4885<br />
4886<br />
4887<br />
4888<br />
4889<br />
4890<br />
4891<br />
4892<br />
4893<br />
4894<br />
4895<br />
4896<br />
4897<br />
4898<br />
4899<br />
4900<br />
4901<br />
4902<br />
4903<br />
4904<br />
4905<br />
4906<br />
4907<br />
4908<br />
4909<br />
4910<br />
4911<br />
4912<br />
4913<br />
4914<br />
4915<br />
4916<br />
EXAMPLE 22:<br />
outputorder<br />
<br />
1<br />
default<br />
<br />
<br />
<br />
outputcount<br />
<br />
0<br />
<br />
<br />
<br />
keep<br />
<br />
300<br />
<br />
<br />
<br />
wait<br />
<br />
false<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Shows information about the processors in system1.<br />
-> show –display properties=(Name),targets=cpu Name=="Main processor 4"<br />
/system1/cpu4<br />
Name is main processor 4<br />
4917<br />
6.12 start<br />
4918<br />
4919<br />
4920<br />
4921<br />
4922<br />
4923<br />
4924<br />
4925<br />
4926<br />
4927<br />
4928<br />
The general form of the start command is:<br />
start [] []<br />
6.12.1 General<br />
For the start command, implementations shall support the syntax defined for the start-cmd term in<br />
the CLP grammar defined in 273HAnnex A.<br />
The start command starts the target. If the target is already started, an error might or might not be<br />
returned. The precise behavior is profile specific.<br />
This command can be used with and without <strong>Command</strong> <strong>Line</strong> options.<br />
6.12.2 Valid Targets<br />
This command is supported when it is specified in a target mapping ( 274H32HDSP0216) for a profile that the<br />
implementation supports. For all targets that do not support the use of the start command,<br />
Version 1.0.2 117
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4929<br />
4930<br />
4931<br />
4932<br />
4933<br />
4934<br />
4935<br />
4936<br />
implementations shall not show the start command in a command listing as being available.<br />
Implementations of the start command will accept an Absolute or a Relative Target Address for the<br />
command target term. If the Resultant Address is not a UFiP, implementations shall return a <strong>Command</strong><br />
Status of COMMAND PROCESSING ERROR and a Processing Error of INVALID TARGET.<br />
The behavior of state-change commands for each UFcT is defined in 275H32HDSP0216.<br />
6.12.3 Options<br />
Following are valid options for the start command in addition to those specified in Error! Reference<br />
source not found.:<br />
4937<br />
4938<br />
4939<br />
4940<br />
4941<br />
-f, -force<br />
6.12.4 Output<br />
Forces the implementation to start the object, ignoring any policy that might<br />
cause the implementation to normally not execute the command. The<br />
implementation shall execute this start if at all possible, without regard to<br />
consequences.<br />
4942<br />
4943<br />
4944<br />
4945<br />
4946<br />
4947<br />
4948<br />
4949<br />
4950<br />
4951<br />
4952<br />
4953<br />
4954<br />
4955<br />
4956<br />
4957<br />
4958<br />
4959<br />
4960<br />
4961<br />
4962<br />
4963<br />
4964<br />
4965<br />
4966<br />
4967<br />
4968<br />
This clause details requirements for CLP output for the start verb.<br />
6.12.4.1 Text Format<br />
Implementations shall return <strong>Command</strong> Result data that includes the target address that was started (if<br />
any) and the time and date when the start was initiated. Implementations may return the time/date<br />
information in any applicable format that meets their needs. If the implementation did not start the target,<br />
the implementation shall return <strong>Command</strong> Response data indicating that no target was started.<br />
6.12.4.2 Structured Format<br />
This clause details requirements for structured output formats for the start verb.<br />
6.12.4.2.1 General<br />
Implementations shall include any status data in the standard format at the top of the response. If the<br />
target was successfully started, the start command shall then return the target started and the time the<br />
start completed.<br />
6.12.4.2.2 XML Output<br />
The implementation shall return the start element in the response element as defined in the<br />
<strong>Command</strong> Response schema in 276H6HDSP0224.<br />
<br />
UFiP of target to start<br />
Time reset occurred if completed synchronously, returned in CIM<br />
datetime format<br />
<br />
6.12.4.2.3 Keyword<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the start command<br />
in "keyword" format:<br />
command=start<br />
ufip=User Friendly instance path of the Managed Element<br />
timestamp= Time reset occurred if completed synchronously, returned in CIM datetime<br />
format<br />
118 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
4969<br />
4970<br />
4971<br />
4972<br />
4973<br />
4974<br />
endoutput<br />
6.12.5 Examples<br />
This clause provides examples of the use of the start verb.<br />
EXAMPLE 1: Sends system1 to its default enabled state.<br />
-> start /system1<br />
/system1 started at 10:40am 1/1/01<br />
4975<br />
4976<br />
4977<br />
4978<br />
4979<br />
4980<br />
4981<br />
4982<br />
4983<br />
4984<br />
4985<br />
4986<br />
4987<br />
4988<br />
4989<br />
4990<br />
4991<br />
4992<br />
4993<br />
4994<br />
4995<br />
4996<br />
4997<br />
4998<br />
4999<br />
5000<br />
5001<br />
5002<br />
5003<br />
5004<br />
5005<br />
5006<br />
5007<br />
5008<br />
5009<br />
5010<br />
5011<br />
5012<br />
5013<br />
5014<br />
EXAMPLE 2:<br />
EXAMPLE 3:<br />
Fails to start cpu2 because this command is not supported on the target.<br />
-> start –o format=clpxml /system1/cpu2<br />
<br />
<br />
<br />
start -o format=clpxml /system1/cpu2<br />
<br />
<br />
3<br />
<br />
234<br />
<br />
1<br />
7<br />
2<br />
<br />
<br />
<br />
<br />
<br />
cpu2<br />
/system1/cpu2<br />
<br />
<br />
<br />
Fails to start cpu2 because this command is not supported on the target.<br />
-> start –o format=keyword /system1/cpu1<br />
commandline=start –o format=keyword /system1/cpu2<br />
status=3<br />
job_id=234<br />
errtype=1<br />
cimstat=7<br />
severity=2<br />
command=start<br />
ufip=/system1/cpu2<br />
endoutput<br />
Version 1.0.2 119
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5015<br />
5016<br />
5017<br />
5018<br />
5019<br />
5020<br />
5021<br />
5022<br />
5023<br />
5024<br />
5025<br />
5026<br />
5027<br />
5028<br />
5029<br />
5030<br />
5031<br />
5032<br />
5033<br />
5034<br />
5035<br />
5036<br />
5037<br />
5038<br />
5039<br />
5040<br />
5041<br />
5042<br />
5043<br />
5044<br />
5045<br />
5046<br />
5047<br />
EXAMPLE 4:<br />
EXAMPLE 5:<br />
Starts system1 and waits for the job to complete.<br />
-> start –o format=clpxml –w /system1<br />
<br />
<br />
<br />
start -o format=clpxml -w /system1<br />
<br />
<br />
3<br />
<br />
234<br />
<br />
<br />
<br />
<br />
system1<br />
/system1<br />
<br />
20050130145904.000000-300<br />
<br />
<br />
Starts system1 and waits for the job to complete.<br />
-> start –w –o format=keyword /system1<br />
commandline=start -w –o format=keyword /system1<br />
status=0<br />
command=start<br />
ufip=/system1<br />
timestamp=20050130145904.000000-300<br />
endoutput<br />
5048<br />
6.13 stop<br />
5049<br />
5050<br />
5051<br />
5052<br />
5053<br />
5054<br />
5055<br />
5056<br />
The general form of the stop command is:<br />
stop [] []<br />
6.13.1 General<br />
For the stop command, implementations shall support the syntax defined for the stop-cmd term in the<br />
CLP grammar defined in 277HAnnex A.<br />
The stop command stops the target. If the target is already stopped, an error might or might not be<br />
returned. The precise behavior is profile specific.<br />
This command can be used with and without <strong>Command</strong> <strong>Line</strong> options.<br />
120 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5057<br />
5058<br />
5059<br />
5060<br />
5061<br />
5062<br />
5063<br />
5064<br />
5065<br />
5066<br />
5067<br />
6.13.2 Valid Targets<br />
This command is supported when it is specified in a target mapping ( 278H32HDSP0216) for a profile that the<br />
implementation supports. For all targets that do not support the use of the stop command,<br />
implementations shall not show the stop command in a command listing as being available.<br />
Implementations of the stop command will accept an Absolute or a Relative Target Address for the<br />
command target term. If the Resultant Address is not a UFiP, implementations shall return a <strong>Command</strong><br />
Status of COMMAND PROCESSING ERROR and a Processing Error of INVALID TARGET.<br />
The behavior of state-change commands for each UFcT is defined in 279H32HDSP0216.<br />
6.13.3 Options<br />
Following are valid options for the stop command in addition to those specified in Error! Reference<br />
source not found.:<br />
5068<br />
5069<br />
5070<br />
5071<br />
-f, -force<br />
6.13.4 Output<br />
Forces the implementation to stop the target, ignoring any policy that might cause<br />
the implementation to normally not execute the command. The implementation<br />
shall execute this stop if at all possible, without regard to consequences.<br />
5072<br />
5073<br />
5074<br />
5075<br />
5076<br />
5077<br />
5078<br />
5079<br />
5080<br />
5081<br />
5082<br />
5083<br />
5084<br />
5085<br />
5086<br />
5087<br />
5088<br />
5089<br />
5090<br />
5091<br />
5092<br />
5093<br />
5094<br />
5095<br />
5096<br />
This clause details requirements for CLP output for the stop verb.<br />
6.13.4.1 Text Format<br />
Implementations shall return <strong>Command</strong> Result data that includes the target address that was stopped (if<br />
any) and the time and date when the stop was initiated. Implementations may return the time/date<br />
information in any applicable format that meets their needs. If the implementation did not stop the target,<br />
the implementation shall return <strong>Command</strong> Response data indicating that no targets were stopped.<br />
6.13.4.2 Structured Format<br />
This clause details requirements for structured output formats for the stop verb.<br />
6.13.4.2.1 General<br />
Implementations shall include any status data in the standard format at the top of the response. If the<br />
target was successfully stopped, the implementation shall then return the target that was stopped and the<br />
time the stop completed.<br />
6.13.4.2.2 XML Output<br />
The implementation shall return the stop element in the response element as defined in the <strong>Command</strong><br />
Response schema in 280H6HDSP0224.<br />
<br />
Target address of Managed Element to stop <br />
Time stop occurred if completed synchronously, returned in CIM<br />
datetime format<br />
<br />
6.13.4.2.3 Keyword<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the stop command in<br />
"keyword" format:<br />
command=stop<br />
ufip=User Friendly instance path of the Managed Element<br />
Version 1.0.2 121
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5097<br />
5098<br />
5099<br />
5100<br />
5101<br />
timestamp=Time reset occurred if completed synchronously, returned in CIM datetime<br />
format<br />
endoutput<br />
6.13.5 Examples<br />
This clause provides examples of the use of the stop verb.<br />
5102<br />
5103<br />
5104<br />
5105<br />
5106<br />
5107<br />
5108<br />
5109<br />
5110<br />
5111<br />
5112<br />
5113<br />
5114<br />
5115<br />
5116<br />
5117<br />
5118<br />
5119<br />
5120<br />
5121<br />
5122<br />
5123<br />
5124<br />
5125<br />
5126<br />
5127<br />
5128<br />
5129<br />
5130<br />
5131<br />
5132<br />
5133<br />
5134<br />
5135<br />
5136<br />
5137<br />
5138<br />
5139<br />
5140<br />
5141<br />
5142<br />
5143<br />
5144<br />
EXAMPLE 1:<br />
EXAMPLE 2:<br />
EXAMPLE 3:<br />
EXAMPLE 4:<br />
Sends system1 to its default disabled state.<br />
-> stop /system1<br />
/system1 stopped at 2:59:04 January 30, 2005.<br />
Stops system1.<br />
-> stop –o format=clpxml /system1<br />
<br />
<br />
<br />
stop -o format=clpxml /system1<br />
<br />
<br />
0<br />
<br />
9834<br />
<br />
<br />
<br />
<br />
system1<br />
/system1<br />
<br />
20050130145904.000000-300<br />
<br />
<br />
Stops system1.<br />
-> stop –o format=keyword /system1<br />
commandline=stop /system1<br />
status=0<br />
job_id=9834<br />
command=stop<br />
ufip=/system1<br />
timestamp=20050130145904.000000-300<br />
endoutput<br />
Specifies the Examine option and stops system1.<br />
-> stop -x –o format=clpxml /system1<br />
<br />
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5145<br />
5146<br />
5147<br />
5148<br />
5149<br />
5150<br />
5151<br />
5152<br />
5153<br />
5154<br />
5155<br />
5156<br />
5157<br />
5158<br />
5159<br />
5160<br />
5161<br />
5162<br />
5163<br />
5164<br />
5165<br />
5166<br />
5167<br />
5168<br />
5169<br />
5170<br />
5171<br />
5172<br />
5173<br />
5174<br />
5175<br />
5176<br />
5177<br />
5178<br />
5179<br />
5180<br />
5181<br />
5182<br />
5183<br />
5184<br />
5185<br />
5186<br />
5187<br />
5188<br />
5189<br />
5190<br />
5191<br />
5192<br />
5193<br />
5194<br />
EXAMPLE 5:<br />
EXAMPLE 6:<br />
EXAMPLE 7:<br />
xsi:schemaLocation="http://schemas.dmtf.org/smash/commandresponse/1.0.0<br />
/dsp0224.xsd smclp_command_response.xsd"><br />
<br />
stop -x -o format=clpxml /system1<br />
<br />
<br />
0<br />
<br />
<br />
<br />
If run without the examine option, this will stop<br />
system1.<br />
<br />
<br />
<br />
Specifies the Examine option and stops system1.<br />
-> stop -x –o format=keyword /system1<br />
commandline=stop -x –o format=keyword /system1<br />
status=0<br />
job_id=923<br />
command=stop<br />
examine=If run without the examine option, this will stop system1.<br />
endoutput<br />
Attempt to stop system1 does not complete synchronously.<br />
-> stop /system1<br />
Stopping system1, job id is 9834.<br />
Attempt to stop system1 does not complete synchronously.<br />
-> stop –o format=clpxml /system1<br />
<br />
<br />
<br />
stop -o format=clpxml<br />
<br />
<br />
0<br />
<br />
9834<br />
<br />
<br />
<br />
<br />
system1<br />
/system1<br />
<br />
<br />
<br />
Version 1.0.2 123
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5195<br />
5196<br />
5197<br />
5198<br />
5199<br />
5200<br />
5201<br />
5202<br />
5203<br />
EXAMPLE 8:<br />
6.14 version<br />
Attempt to stop system1 does not complete synchronously.<br />
-> stop –o format=keyword /system1<br />
commandline=stop –o format=keyword /system1<br />
status=1<br />
job_id=9834<br />
command=stop<br />
ufip=/system1<br />
endoutput<br />
5204<br />
5205<br />
5206<br />
5207<br />
5208<br />
5209<br />
5210<br />
5211<br />
5212<br />
5213<br />
5214<br />
5215<br />
5216<br />
5217<br />
5218<br />
5219<br />
5220<br />
5221<br />
5222<br />
5223<br />
5224<br />
5225<br />
5226<br />
5227<br />
5228<br />
5229<br />
5230<br />
5231<br />
The general form of the version command is:<br />
version []<br />
6.14.1 General<br />
For the version command, implementations shall support the syntax defined for the version-cmd term<br />
in the CLP grammar defined in 281HAnnex A.<br />
The version command is used to display the version of the SM CLP that this implementation supports.<br />
The implementation shall return the version of the SM CLP with which it is compatible.<br />
6.14.2 Valid Targets<br />
The version command does not accept a command target term. Implementations shall not accept nonoption<br />
terms for the version command. If the implementation receives a command with non-option<br />
terms specified, the implementation shall return a <strong>Command</strong> Status of COMMAND PROCESSING<br />
ERROR and a Processing Error of COMMAND SYNTAX ERROR.<br />
6.14.3 Options<br />
Valid options for the version command are specified in Error! Reference source not found..<br />
6.14.4 Output<br />
This clause details requirements for CLP output for the version verb.<br />
6.14.4.1 Text Format<br />
The implementation shall include the string "Version 1.0.0" clearly identified as the CLP version<br />
supported by the implementation. The implementation shall include the version of the <strong>Server</strong><br />
<strong>Management</strong> Managed Element (SM ME) Addressing <strong>Specification</strong> with which it is conformant.<br />
6.14.4.2 Structured Format<br />
This clause details requirements for structured output formats for the version verb.<br />
6.14.4.2.1 General<br />
The returned data shall include any status data in the standard format at the top of the response.<br />
6.14.4.2.2 XML Output<br />
The implementation shall return the version element in the response element as defined in the<br />
<strong>Command</strong> Response schema in 282H6HDSP0224. The implementation shall return the exact string "v1.0.0" as<br />
the data contained in the clpversion element within the version element.<br />
124 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5232<br />
5233<br />
5234<br />
5235<br />
5236<br />
5237<br />
5238<br />
5239<br />
5240<br />
6.14.4.2.3 Keyword<br />
Implementations shall use the following form when returning <strong>Command</strong> Results for the version<br />
command in "keyword" format:<br />
command=version<br />
clpversion=v1.0.0<br />
addressingversion=v1.0.0<br />
endoutput<br />
6.14.5 Examples<br />
This clause provides examples of the use of the version verb.<br />
5241<br />
5242<br />
5243<br />
5244<br />
5245<br />
5246<br />
5247<br />
5248<br />
5249<br />
5250<br />
5251<br />
5252<br />
5253<br />
5254<br />
5255<br />
5256<br />
5257<br />
5258<br />
5259<br />
5260<br />
5261<br />
5262<br />
5263<br />
5264<br />
5265<br />
5266<br />
5267<br />
5268<br />
5269<br />
5270<br />
5271<br />
5272<br />
5273<br />
5274<br />
5275<br />
5276<br />
5277<br />
5278<br />
5279<br />
EXAMPLE 1:<br />
EXAMPLE 2:<br />
EXAMPLE 3:<br />
EXAMPLE 4:<br />
Runs the version command the way it is meant to be (that is, without targets).<br />
-> version<br />
SM CLP Version 1.0.0<br />
SM ME Addressing Version 1.0.0<br />
Attempts to include targets with the version command, but the version command does not<br />
support targets.<br />
-> version /system1<br />
Invalid syntax; the version command does not support a target.<br />
Specifies invalid syntax for the version command.<br />
-> version –o format=clpxml /system1<br />
<br />
<br />
<br />
version -o format=clpxml /system1<br />
<br />
<br />
2<br />
252<br />
COMMAND SYNTAX ERROR<br />
<br />
<br />
<br />
Successfully runs the version command.<br />
-> version –o format=clpxml<br />
<br />
<br />
<br />
version -o format=clpxml<br />
<br />
<br />
0<br />
<br />
Version 1.0.2 125
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5280<br />
5281<br />
5282<br />
5283<br />
5284<br />
5285<br />
5286<br />
5287<br />
5288<br />
5289<br />
5290<br />
5291<br />
5292<br />
5293<br />
EXAMPLE 5:<br />
930<br />
<br />
<br />
<br />
v1.0.0<br />
v1.0.0<br />
<br />
<br />
Successfully runs the version command.<br />
-> version –o format=keyword<br />
command=version –o format=keyword<br />
clpversion=v1.0.0<br />
addressingversion=v1.0.0<br />
endoutput<br />
5294<br />
5295<br />
5296<br />
5297<br />
5298<br />
5299<br />
5300<br />
5301<br />
5302<br />
5303<br />
5304<br />
5305<br />
5306<br />
5307<br />
5308<br />
5309<br />
5310<br />
5311<br />
5312<br />
5313<br />
5314<br />
5315<br />
5316<br />
5317<br />
5318<br />
5319<br />
5320<br />
5321<br />
5322<br />
5323<br />
5324<br />
7 Standard <strong>Command</strong> Options<br />
This clause describes the requirements for supporting and implementing standard command options.<br />
7.1 General<br />
Every CLP option is defined to have the same name and behavior across the CLP command verb set.<br />
For each CLP verb, implementations shall recognize the CLP standard options applicable to the verb and<br />
observe the specified behavior of each option in a manner consistent with the option definition.<br />
EXAMPLE 1: Use of "-o" always indicates the output option whenever used and follows the behavior specified for<br />
the output standard option.<br />
The clauses below describe each standard option and its behavior.<br />
Implementations shall recognize option names both by the full expression of the option name and by a<br />
single letter short form of the option name if one is defined by this specification. Implementations shall not<br />
recognize option names of any other length. That is, "partial" or "two letter" option names are not allowed.<br />
EXAMPLE 2: The option name for controlling output is recognized by its full option name form, "-output", and by its<br />
single character short form, "-o", and not by any other form, such as "-out".<br />
For each CLP <strong>Command</strong> processed, implementations shall observe the default setting of standard<br />
options unless the user overrides the setting with a session default or by using the standard option<br />
explicitly in the <strong>Command</strong> <strong>Line</strong> entered. For each CLP <strong>Command</strong> processed, implementations shall apply<br />
every standard option that is supported for the verb. Implementations shall observe the following order of<br />
precedence for determining the value of a standard option: specification default, superseded by the<br />
session default, and finally superseded by the explicit <strong>Command</strong> <strong>Line</strong> setting, if present.<br />
Implementations shall observe the following order of precedence for the following standard options: help,<br />
version, and examine. If the help option appears on the <strong>Command</strong> <strong>Line</strong>, implementations shall<br />
provide the behavior specified in Error! Reference source not found.. If the version option appears,<br />
but the help option does not, implementations shall provide the behavior specified in Error! Reference<br />
source not found.. If the examine option appears on the <strong>Command</strong> <strong>Line</strong> without either the help or<br />
version option, the implementation shall provide the behavior described in Error! Reference source<br />
not found.. These precedence rules do not affect the processing of standard options or other options<br />
specified in the <strong>Command</strong> <strong>Line</strong>.<br />
If an option is included more than once in a command, the implementation shall not execute the<br />
command. The implementation shall return <strong>Command</strong> Response data indicating a COMMAND SYNTAX<br />
ERROR.<br />
126 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5325<br />
5326<br />
5327<br />
5328<br />
5329<br />
5330<br />
5331<br />
5332<br />
5333<br />
5334<br />
5335<br />
5336<br />
5337<br />
5338<br />
5339<br />
5340<br />
5341<br />
5342<br />
5343<br />
5344<br />
CLP options either always require an argument or never require an argument. If a CLP option that<br />
requires an argument is specified in a command without an argument value, the implementation shall<br />
return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and a Processing Error of MISSING<br />
ARGUMENT. If a CLP option that does not require an argument is specified in a command with an<br />
argument value, the implementation shall return a <strong>Command</strong> Status of COMMAND PROCESSING<br />
FAILED and a Processing Error of COMMAND SYNTAX ERROR. If a CLP option is specified with an<br />
argument that is not defined by the CLP as a legal argument and the argument is not identified as an<br />
OEM-defined argument according to the rules in 283H5.2.6.2, the implementation shall return a <strong>Command</strong><br />
Status of COMMAND PROCESSING FAILED and a Processing Error of INVALID ARGUMENT.<br />
Implementations shall support only those options listed in 284HTable 14. Implementations shall support all of<br />
the options listed in 285HTable 14. Implementations shall support arguments on all options that specify an<br />
argument in 286HTable 14. Implementations shall not support arguments for those options that do not specify<br />
an argument in 287HTable 14.<br />
For each option listed in 288HTable 14 that has a value of "yes" in the column labeled "Session Default<br />
Supported", the implementation shall allow the user to set a default value per session. For each option<br />
listed in 289HTable 14 that does not have a value of "yes" in the column labeled "Session Default Supported",<br />
the implementation shall not allow the user to set a default value per session. Each option with a<br />
supported session default value is modeled with properties on the CIM class that represents the CLP<br />
session. For information on the CIM class and its properties, see the CLP Service Profile (290H7HDSP1005).<br />
Table 14 – Standard <strong>Command</strong> Options<br />
Option Name<br />
Short<br />
Form Interpretation Argument<br />
-all -a Instructs the verb to<br />
perform all of its possible<br />
functions.<br />
-destination<br />
<br />
<br />
Indicates the location of a<br />
destination for an image or<br />
other target data.<br />
-display -d Selects the data the user<br />
wants to display.<br />
-examine -x Instructs the <strong>Command</strong><br />
Processor to examine the<br />
command for syntax and<br />
semantic errors but not<br />
execute the command.<br />
-force -f Instructs the verb to ignore<br />
warning conditions that<br />
would prevent execution by<br />
default.<br />
-help -h Displays documentation<br />
about the command verb.<br />
-keep -k Establishes a holding time<br />
for command job ID and<br />
status.<br />
-level -l Instructs the <strong>Command</strong><br />
Processor to execute the<br />
command for the current<br />
target plus targets<br />
contained through the<br />
specified level of depth.<br />
None<br />
URI or SM instance address<br />
Multiple arguments controlling<br />
the type of information returned<br />
about a target.<br />
None<br />
None<br />
None<br />
Amount of time to hold command<br />
job ID, status<br />
Number of levels expressed as a<br />
natural number or "all"<br />
Session<br />
Default<br />
Supported<br />
yes<br />
yes<br />
Version 1.0.2 127
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
Option Name<br />
Short<br />
Form Interpretation Argument<br />
-output -o Controls the content and<br />
form of the command<br />
output.<br />
-source Indicates the location of a<br />
source image or target.<br />
-version -v Displays the version of the<br />
command verb.<br />
-wait -w Instructs the <strong>Command</strong><br />
Processor to hold the<br />
<strong>Command</strong> Response until<br />
all spawned jobs have<br />
completed.<br />
Many arguments providing<br />
control of format, language, level<br />
of detail, order, and so on of<br />
output data.<br />
URI or SM instance address<br />
None<br />
None<br />
Session<br />
Default<br />
Supported<br />
yes<br />
yes<br />
5345<br />
5346<br />
5347<br />
5348<br />
291HTable 15Error! Reference source not found. specifies the requirements for implementations to support<br />
each combination of verb and standard option. Except where noted, a cell with an X indicates that the<br />
implementation shall support use of the option named in the row with the verb named in the column.<br />
Table 15 – Verb and Option Support<br />
CLP<br />
Option<br />
all<br />
destination<br />
display<br />
cd<br />
create<br />
delete<br />
dump<br />
X<br />
exit<br />
help<br />
CLP Verb<br />
examine X X X X X X X X X X X X X<br />
force X 2 X 1 X 1 X 2 X 2 X 1 X 2 X 2<br />
help X X X X X X X X X X X X X<br />
keep X X X X X X X X X X X X X<br />
level<br />
output X X X X X X X X X X X X X<br />
source<br />
version X X X X X X X X X X X X X<br />
wait X X X X X X X X X X X X<br />
load<br />
X<br />
reset<br />
set<br />
show<br />
X<br />
X<br />
X<br />
start<br />
stop<br />
version<br />
Notes:<br />
X 1 – The implementation may support use of the force option with the dump, load, and show verbs.<br />
X 2 – The implementation should support use of the force option with the delete, reset, set, start, and stop<br />
verbs.<br />
5349<br />
5350<br />
5351<br />
5352<br />
5353<br />
5354<br />
If the cell in 292HTable 15Error! Reference source not found. is blank, the implementation shall not support<br />
the use of the option named in the row with the verb named in the column. If a <strong>Command</strong> <strong>Line</strong> is specified<br />
with a verb and option combination that shall not be supported according to Error! Reference source<br />
not found., the implementation shall not execute the command and shall return a <strong>Command</strong> Status of<br />
COMMAND PROCESSING FAILED and a Processing Error of INVALID OPTION. If the implementation<br />
supports an option that may or should be supported according to 293HTable 15Error! Reference source not<br />
128 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5355<br />
5356<br />
5357<br />
5358<br />
5359<br />
5360<br />
5361<br />
5362<br />
5363<br />
5364<br />
5365<br />
5366<br />
5367<br />
5368<br />
5369<br />
5370<br />
5371<br />
5372<br />
5373<br />
5374<br />
5375<br />
5376<br />
5377<br />
5378<br />
5379<br />
5380<br />
5381<br />
5382<br />
5383<br />
5384<br />
5385<br />
5386<br />
5387<br />
5388<br />
5389<br />
5390<br />
5391<br />
5392<br />
found. for one verb, the implementation may support the option with other verbs that may or should be<br />
supported according to 294HTable 15Error! Reference source not found.. If a <strong>Command</strong> <strong>Line</strong> is specified<br />
with a verb and option combination that may or should be supported according to 295HTable 15Error!<br />
Reference source not found. and is not supported by the implementation, the implementation shall not<br />
execute the command and shall return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and a<br />
Processing Error of OPTION NOT SUPPORTED.<br />
7.2 all<br />
This clause describes the requirements for the all option.<br />
7.2.1 Forms<br />
-all<br />
-a<br />
7.2.2 Example Use<br />
show –a log1<br />
7.2.3 Behavior<br />
The all option instructs the <strong>Command</strong> Processor to select all values where appropriate for the<br />
command. This option is supported only with the show command. For a detailed description of its use,<br />
see 296H6.11.3.<br />
When the all option is specified, the implementation will select all values where appropriate for the<br />
command.<br />
7.3 destination<br />
This clause describes the requirements for the destination option.<br />
7.3.1 Forms<br />
-destination<br />
7.3.2 Example Use<br />
dump –destination<br />
ftp://administrator:passw0rd@myserver.com/private/administrator/`memory.dmp<br />
/system1/memory1<br />
7.3.3 Behavior<br />
The destination option is used to specify a destination for the transfer of a binary image. The desired<br />
destination is specified as the argument to the destination option. The destination can be expressed<br />
as a UFiP if it is a Managed Element in the address space of the MAP. The destination can also be<br />
expressed as a URI. The desired protocol to use for transferring the image can be specified as part of the<br />
URI. This specification does not mandate support for a specific protocol. Thus the protocols supported<br />
are implementation specific. Implementations shall interpret the value specified as a URI defined<br />
according to Uniform Resource Identifiers (URI): Generic Syntax (297H9HRFC2396). The URI specified may<br />
contain a scheme that indicates the explicit service and location to be used to capture the dumped data. If<br />
the URI specified is relative, then the implementation shall interpret the URI according to the rules<br />
specified in 298H5.1.3.3.<br />
Version 1.0.2 129
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5393<br />
5394<br />
5395<br />
5396<br />
5397<br />
7.4 display<br />
This clause describes the requirements for the display option.<br />
7.4.1 Forms<br />
-d[isplay] *[,]<br />
7.4.2 Example Use<br />
5398<br />
5399<br />
5400<br />
5401<br />
5402<br />
5403<br />
5404<br />
5405<br />
5406<br />
5407<br />
5408<br />
5409<br />
5410<br />
5411<br />
EXAMPLE 1:<br />
EXAMPLE 2:<br />
EXAMPLE 3:<br />
EXAMPLE 4:<br />
EXAMPLE 5:<br />
Shows the commands that are supported for use with log1 as a target.<br />
show –display verbs log1<br />
Shows all of the systems in the address space. No filtering of the results for individual instances<br />
is requested.<br />
show –level all –display targets=system /<br />
Shows all of the CPUs and SystemDevice association instances in system1. No filtering of the<br />
results for individual instances is requested.<br />
show –level all –display targets=cpu,associations=systemdevice `<br />
/system1<br />
Shows the OperationalStatus property for every power supply and processor in system1.<br />
show –level all –display ` targets=(cpu,pwrsupply),properties=<br />
operationalstatus ` /system1<br />
Shows the ElementName property for every instance.<br />
show –level all –display properties=(elementname) /<br />
5412<br />
5413<br />
5414<br />
5415<br />
5416<br />
5417<br />
5418<br />
5419<br />
5420<br />
5421<br />
5422<br />
5423<br />
7.4.3 Behavior<br />
The display option filters the information returned in <strong>Command</strong> Results. This option provides two levels<br />
of filtering. It enables filtering of results for entire instances at the granularity of CIM class. The display<br />
option also enables filtering results for an individual instance, allowing a user to restrict the results to the<br />
properties (or a subset) of the instance or the verbs (or a subset) supported for an instance. For any two<br />
commands that are identical except for arguments to the display option, the implementation shall<br />
interpret and execute the command such that the set of Targets affected, and the resultant state of those<br />
Targets, is identical. The display option requires one or more arguments specifying the category of<br />
information to include in the <strong>Command</strong> Results. For each command, the implementation shall not include<br />
data in the <strong>Command</strong> Results returned to the Client unless it is specified by the arguments for the<br />
display option that are in effect for the command.<br />
The valid types and formats for the arguments of the display option are as follows:<br />
5424<br />
all<br />
Perform no filtering of the results.<br />
5425<br />
5426<br />
5427<br />
5428<br />
5429<br />
5430<br />
5431<br />
5432<br />
5433<br />
verbs Display the commands that are valid for this target.<br />
properties[="("(,,...,)")"]<br />
Can be used to filter the <strong>Command</strong> Results such that information about an instance is<br />
returned only if the instance has a property with the specified value or a property with the<br />
specified name. Can also be used to filter the <strong>Command</strong> Results so that only those<br />
properties specified by name are returned. The properties are returned in the order<br />
indicated. If no property names are specified, all properties included in the <strong>Command</strong><br />
Results will be returned.<br />
targets[="("(UFcT][,,,...,")"]<br />
130 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5434<br />
5435<br />
5436<br />
5437<br />
5438<br />
5439<br />
5440<br />
5441<br />
5442<br />
5443<br />
5444<br />
5445<br />
5446<br />
5447<br />
5448<br />
5449<br />
5450<br />
5451<br />
5452<br />
5453<br />
5454<br />
5455<br />
5456<br />
5457<br />
5458<br />
5459<br />
5460<br />
5461<br />
5462<br />
5463<br />
5464<br />
5465<br />
5466<br />
5467<br />
5468<br />
5469<br />
5470<br />
5471<br />
5472<br />
5473<br />
5474<br />
5475<br />
5476<br />
5477<br />
5478<br />
5479<br />
5480<br />
Filter the <strong>Command</strong> Results to include information about Managed Element instances only.<br />
associations[="("(classname][,,,...,")"]<br />
Filter the <strong>Command</strong> Results to include information about associations only.<br />
The display option acts as a filter on output of a command. The results of a command are marshaled<br />
into operation results data. Arguments to the display option are used to select which information is<br />
included in the <strong>Command</strong> Results data. Arguments to the display option are applied in the following<br />
order:<br />
• targets (instance selection by class)<br />
• associations (instance selection by class)<br />
• properties (restrict to just properties returned for an instance)<br />
• properties (propname, restrict properties that are returned for an instance)<br />
• verbs<br />
The specification default argument for the display option is targets,properties,verbs.<br />
When the display option is specified with one or more arguments, the implementation shall apply each<br />
of the arguments to the operation results according to the rules for each argument. For each argument<br />
present in the <strong>Command</strong> <strong>Line</strong>, implementations shall apply the arguments in the following order<br />
irrespective of the order in which they appear in the <strong>Command</strong> <strong>Line</strong>: targets, associations, properties,<br />
verbs. When the display option is specified with an argument of all, the implementation shall interpret<br />
the display option as if it was specified with an argument of<br />
"targets,associations,verbs,properties". Prior to processing the argument values, the<br />
implementation shall remove the leading and trailing parentheses, if they are present. The filtering<br />
provided for by the display option is applied across the entire set of Managed Elements and<br />
Associations for which results were generated by the command. For example, when the show command<br />
is used with the level option or with the Target Class Addressing, a tree of Managed Elements and<br />
Associations can be returned. The filtering would then be applied across each level of the tree, removing<br />
any Managed Elements that did not match the target filter, removing any Associations that did not match<br />
the association filter, filtering properties returned on any remaining Managed Elements and Associations<br />
according to the properties filter, and filtering the list of verbs supported for any remaining Managed<br />
Elements. Note that for an individual Association instance, the verbs argument has no effect because<br />
<strong>Command</strong> Results for an instance of an Association do not include information about the verbs supported<br />
for an instance. Implementations will accept duplicate values within the comma-delimited list of values for<br />
each argument to the display option.<br />
When the display option is specified with an argument of targets and no value is supplied to the<br />
argument, the implementation shall filter the operation results and add to the <strong>Command</strong> Results<br />
information about Managed Element instances. If the display option is specified with an argument of<br />
targets and a value is supplied to the targets argument, the implementation shall interpret the<br />
supplied value as a comma-delimited, ordered list of UFcTs. The implementation shall apply the ordered<br />
list of UFcTs as a filter on the instances for which results are returned. The implementation shall add<br />
operation results for an instance if and only if the instance is of one of the types specified by a UFcT in<br />
the list. The implementation shall add the results for instances in the order their corresponding types were<br />
specified in the UFcT list. When selecting instances for which results will be included in the <strong>Command</strong><br />
Results, the implementation shall apply the "Rules for Selecting Instances by UFcT" defined in 299H5HDSP0215<br />
for each UFcT supplied as a value to the targets argument and each instance whose results are<br />
included in the operation results, where the Selection UFcT is the UFcT supplied as an argument value<br />
and the target instance is the instance whose results are included in the operation results.<br />
When the display option is specified with an argument of associations and no value is supplied to<br />
the argument, the implementation shall filter the operation results and add to the <strong>Command</strong> Results<br />
Version 1.0.2 131
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5481<br />
5482<br />
5483<br />
5484<br />
5485<br />
5486<br />
5487<br />
5488<br />
5489<br />
5490<br />
5491<br />
5492<br />
5493<br />
5494<br />
5495<br />
5496<br />
5497<br />
5498<br />
5499<br />
5500<br />
5501<br />
5502<br />
5503<br />
5504<br />
5505<br />
5506<br />
5507<br />
5508<br />
5509<br />
5510<br />
5511<br />
5512<br />
5513<br />
5514<br />
5515<br />
5516<br />
5517<br />
5518<br />
5519<br />
5520<br />
5521<br />
5522<br />
5523<br />
information about each Association. If the display option is specified with an argument of<br />
associations and a value is supplied to the associations argument, the implementation shall<br />
interpret the supplied value as a comma-delimited, ordered list of Association Classes. The<br />
implementation shall apply the ordered list of Association Classes as a filter on the instances for which<br />
results are returned. The implementation shall add operation results for an instance if and only if the<br />
instance is of one of the types specified by an Association Class in the list. The implementation shall add<br />
the results for instances in the order their corresponding types were specified in the list of class names.<br />
The properties argument to the display option can be used to filter the results returned for a target<br />
to be the properties of the target or a specific subset of the properties. Usage is supported with or without<br />
additional values. When the display option is specified with an argument of properties,<br />
implementations shall apply the filtering of the properties argument to the intermediate results that are<br />
generated by applying the filtering of the association and targets arguments to the operation<br />
results. If the display option is specified with an argument of properties and a value is supplied to<br />
the properties argument, the implementation shall interpret the value as a comma-delimited, ordered<br />
list of tokens.<br />
The implementation shall include information about a property of an instance, if the property name<br />
appears in the ordered list of property names that were specified as the value of the properties<br />
argument.<br />
When the display option is specified with an argument of properties and no value is supplied to the<br />
argument, the implementation shall filter the intermediate results and add to the <strong>Command</strong> Results for an<br />
instance information about the properties of the instance.<br />
When the display option is specified with an argument of verbs, the implementation shall filter the<br />
intermediate results and add to the <strong>Command</strong> Results for an instance information about the verbs that<br />
are supported for the instance.<br />
It is possible that applying the filters on information returned for an instance will result in there being no<br />
information to return for an instance. After applying the filters, if there is no information for an instance,<br />
the implementation shall remove the instance from the <strong>Command</strong> Results that are returned.<br />
7.5 examine<br />
This clause describes the requirements for the examine option.<br />
7.5.1 Forms<br />
-examine<br />
-x<br />
7.5.2 Example Use<br />
stop –force –x /system3<br />
7.5.3 Behavior<br />
The examine option causes the <strong>Command</strong> Processor to examine command syntax only and provide<br />
feedback to the user on the command’s validity and correctness. If the examine option is included in the<br />
<strong>Command</strong> <strong>Line</strong>, the implementation will perform the standard validation of the <strong>Command</strong> <strong>Line</strong> but will not<br />
execute the command. Thus, any errors that would result in a <strong>Command</strong> Status of COMMAND<br />
PROCESSING FAILED and the accompanying Processing Error if the examine option were not specified<br />
will still result in a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and the accompanying<br />
Processing Error. Any errors that would result in a COMMAND EXECUTION FAILED will be reported as<br />
free-form text in the <strong>Command</strong> Results and not as a <strong>Command</strong> Status.<br />
132 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5524<br />
5525<br />
5526<br />
5527<br />
5528<br />
5529<br />
5530<br />
5531<br />
5532<br />
5533<br />
5534<br />
5535<br />
5536<br />
5537<br />
5538<br />
5539<br />
5540<br />
5541<br />
5542<br />
5543<br />
5544<br />
5545<br />
5546<br />
5547<br />
5548<br />
5549<br />
5550<br />
5551<br />
5552<br />
5553<br />
5554<br />
5555<br />
5556<br />
5557<br />
5558<br />
5559<br />
When the examine option is included in the <strong>Command</strong> <strong>Line</strong>, the <strong>Command</strong> Processor shall not commit<br />
or execute the command. The <strong>Command</strong> Processor shall verify that the options, Resultant Target, and<br />
target properties are valid. The <strong>Command</strong> Results may describe what action would be taken if the<br />
command were to be entered without the examine option. Although the <strong>Command</strong> Processor will not<br />
execute the command, applying the examine option to the <strong>Command</strong> <strong>Line</strong> is itself an activity of the MAP<br />
that will result in a Job being created.<br />
7.6 force<br />
This clause describes the requirements for the force option.<br />
7.6.1 Forms<br />
-force<br />
-f<br />
7.6.2 Example Use<br />
stop –f /system3/blade2<br />
7.6.3 Behavior<br />
The force option causes the <strong>Command</strong> Processor to ensure that the command executes, regardless of<br />
potential preparation steps that could have been taken, initial ME states recommended, or exceptions that<br />
occur during execution. The force option does not override authorization of a user to execute a<br />
command for a given target.<br />
When the force option is specified, the implementation shall execute the command.<br />
7.7 help<br />
This clause describes the requirements for the help option.<br />
7.7.1 Forms<br />
-help<br />
-h<br />
7.7.2 Example Use<br />
stop –help<br />
7.7.3 Behavior<br />
The help option causes the <strong>Command</strong> Processor to return text describing the proper use of the verb<br />
entered as the first term on the <strong>Command</strong> <strong>Line</strong>. The help text includes a description of the verb and its<br />
behavior and descriptions of all options supported by the verb. When the help option is specified, the<br />
command does not execute or cause any change to the target. It does not alter the state or properties of<br />
a target that appear on the same <strong>Command</strong> <strong>Line</strong>. Help output text is governed by the language option<br />
currently in effect.<br />
When the help option is specified, the implementation shall not take the action specified by the verb. The<br />
implementation shall return text describing the proper use of the verb entered as the first term on the<br />
<strong>Command</strong> <strong>Line</strong>.<br />
Version 1.0.2 133
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5560<br />
5561<br />
5562<br />
5563<br />
5564<br />
5565<br />
5566<br />
5567<br />
5568<br />
5569<br />
5570<br />
5571<br />
5572<br />
5573<br />
5574<br />
5575<br />
5576<br />
5577<br />
5578<br />
5579<br />
5580<br />
5581<br />
5582<br />
5583<br />
5584<br />
5585<br />
5586<br />
5587<br />
5588<br />
5589<br />
7.8 keep<br />
This clause describes the requirements for the keep option.<br />
7.8.1 Forms<br />
-keep <br />
-k <br />
m.s is an amount of time specified as ‘minutes.seconds’.<br />
7.8.2 Example Use<br />
reset –k 10 system1<br />
Resets system1 and retains the <strong>Command</strong> Status for 10 minutes.<br />
7.8.3 Behavior<br />
The keep option is used to request the <strong>Command</strong> Processor to retain status information for the job<br />
spawned in response to the command with which the option was included. In order to use the keep<br />
option to request that the status for a command be preserved, it must be included as part of the initial<br />
command request.<br />
Implementations shall keep the CIM_ConcreteJob instance corresponding to the job in the job queue<br />
after the job is completed for the time specified by the keep option. The implementation shall set the<br />
TimeBeforeRemoval property of the CIM_ConcreteJob instance to the value specified by the keep<br />
option. Implementations may maintain <strong>Command</strong> Results after the command execution completes even if<br />
the keep option is used. The keep option only controls how long the implementation is required to<br />
maintain the <strong>Command</strong> Status.<br />
If the CLP session ends before the command has completed and the <strong>Command</strong> Status has been<br />
returned, the <strong>Command</strong> Status will be retained either for the amount of time that was specified with the<br />
keep option or the session default, as appropriate.<br />
7.9 level<br />
This clause describes the requirements for the level option.<br />
7.9.1 Forms<br />
-level <br />
-l <br />
n is the number of levels to include in the command scope.<br />
7.9.2 Example Use<br />
5590<br />
5591<br />
5592<br />
5593<br />
5594<br />
5595<br />
EXAMPLE 1:<br />
EXAMPLE 2:<br />
EXAMPLE 3:<br />
Shows information about the default target and one level of contained Managed Elements.<br />
show –l 2<br />
Shows information about Managed Elements up to two levels deep.<br />
show –l 3<br />
Stops all contained Managed Elements, and then stops the command target.<br />
stop –l all<br />
134 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5596<br />
5597<br />
EXAMPLE 4:<br />
Shows information about system3 and all contained Managed Elements.<br />
show –l all system3<br />
5598<br />
5599<br />
5600<br />
5601<br />
5602<br />
5603<br />
5604<br />
5605<br />
5606<br />
5607<br />
5608<br />
5609<br />
5610<br />
5611<br />
7.9.3 Behavior<br />
The level option instructs the command verb to include n number of levels in the scope of its execution.<br />
A level typically refers to the depth of containment that is to be processed by the verb, following the target<br />
addressing syntax described in 300H5.2.1.3.5.<br />
Any levels specified that extend beyond the containment depth of the command target shall be ignored.<br />
For example, if a command target contains only one level of contained targets and the user attempts to<br />
show "n=5" levels, the command is still executed successfully and the one level of containment is<br />
returned in the output.<br />
The value of n is interpreted as follows:<br />
n=1 Verb is interpreted for the command target only (default).<br />
n=2 Verb acts on the command target and any directly contained Managed Elements.<br />
n=3 Verb acts on the command target, directly contained Managed Elements, and any<br />
Managed Elements contained by those Managed Elements (that is, the current target and<br />
"two down").<br />
5612<br />
5613<br />
n=all<br />
Verb acts on the command target and all target Managed Elements recursively contained<br />
in the command target.<br />
5614<br />
5615<br />
5616<br />
5617<br />
5618<br />
5619<br />
5620<br />
5621<br />
5622<br />
5623<br />
When the level option is included with a command, the implementation shall apply the command to<br />
each level of containment up to the minimum of the level of containment specified by the argument to the<br />
level option and the actual containment depth of the command target.<br />
7.10 output<br />
This clause describes the requirements for the output option.<br />
7.10.1 Forms<br />
-output <br />
-o <br />
301HTable 16 lists the arguments for the output option.<br />
Table 16 – Output Option Arguments<br />
Argument<br />
format=<br />
error, terse, verbose<br />
language=<br />
begin, end<br />
Value Domain<br />
(default in bold)<br />
"text",<br />
"keyword","clpxml"<br />
3-character string<br />
identifier of<br />
language as specified<br />
in ISO 639.2; "eng"<br />
is default.<br />
Description<br />
format controls the structure of the<br />
output text.<br />
This argument selects the level of detail<br />
included in the output.<br />
language selects the translation of text.<br />
When multiple items are returned in the<br />
output, begin and end control where to<br />
start in the list.<br />
Version 1.0.2 135
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
Argument<br />
Value Domain<br />
(default in bold)<br />
Description<br />
order= "default", "reverse" When multiple items are returned in the<br />
output, order controls the order of those<br />
items.<br />
count=<br />
number=<br />
<br />
[integer string]-<br />
[integer string]<br />
When multiple items are returned in the<br />
output, count controls the number of<br />
items returned (for example, log items);<br />
the default is ‘all’ items.<br />
The maximum value for count is<br />
determined by the class of the target.<br />
number requests that a range of results<br />
be returned.<br />
5624<br />
5625<br />
5626<br />
5627<br />
5628<br />
5629<br />
5630<br />
5631<br />
5632<br />
5633<br />
5634<br />
5635<br />
5636<br />
5637<br />
5638<br />
5639<br />
5640<br />
5641<br />
5642<br />
5643<br />
5644<br />
5645<br />
5646<br />
5647<br />
5648<br />
5649<br />
5650<br />
5651<br />
5652<br />
5653<br />
5654<br />
7.10.2 Example Use<br />
show –output format=clpxml,verbose,order=reverse,number=5 ./log1/record*<br />
show –o verbose /system2/log1<br />
start -o terse system1<br />
7.10.3 Behavior<br />
The output option controls the format of output returned by the <strong>Command</strong> Processor to the Client. This<br />
option has no effect on the execution of the command or the Targets affected by the command.<br />
7.10.3.1 General Requirements<br />
For any two commands that are identical except for arguments to the output option, the implementation<br />
shall interpret and execute the command such that the Targets affected, and the resultant state of those<br />
Targets, is identical.<br />
EXAMPLE: The following command would cause all of the instances of the UFcT in the container to be<br />
deleted, not just four of them.<br />
delete –output count=4 UFcT<br />
Prior to processing the value for an argument, the implementation shall remove the leading and trailing<br />
parentheses if they are present. For each combination of arguments to the output option,<br />
implementations shall return identical <strong>Command</strong> Results irrespective of the relative order in which the<br />
arguments appear on the <strong>Command</strong> <strong>Line</strong>.<br />
Implementations shall return <strong>Command</strong> Results consistent with applying arguments to the output option<br />
in the following order: number, begin, end, count, order, format, terse, error, verbose, and<br />
language.<br />
7.10.3.2 Output Format Selection<br />
By default, all output is returned in free-form English text, which is not suitable for parsing. The user may<br />
request that output be formatted in a structured form by using the format argument and an associated<br />
value representing the desired structure. For example, if the user wants the output to be returned in an<br />
XML document format, the option form "-output format=clpxml" is used.<br />
If the output option with the format argument is included in a command, the implementation shall<br />
attempt to interpret the value of the format argument as one of the CLP output format identifiers. If the<br />
value of the format argument is a CLP output format identifier and the implementation supports the<br />
indicated output format, the implementation shall return <strong>Command</strong> Response data compliant with the<br />
format specified. If the value of the format argument is a CLP output format identifier and the<br />
136 Version 1.0.2
302H10H<br />
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5655<br />
5656<br />
5657<br />
5658<br />
5659<br />
5660<br />
5661<br />
5662<br />
5663<br />
5664<br />
5665<br />
5666<br />
5667<br />
5668<br />
5669<br />
5670<br />
5671<br />
5672<br />
5673<br />
5674<br />
5675<br />
5676<br />
5677<br />
5678<br />
5679<br />
5680<br />
5681<br />
5682<br />
5683<br />
5684<br />
5685<br />
5686<br />
5687<br />
5688<br />
5689<br />
5690<br />
5691<br />
5692<br />
5693<br />
5694<br />
5695<br />
5696<br />
5697<br />
5698<br />
5699<br />
5700<br />
5701<br />
5702<br />
5703<br />
implementation does not support the indicated output format, the implementation shall not execute the<br />
command and the implementation shall return <strong>Command</strong> Response data compliant with the session<br />
default output format indicating OUTPUT FORMAT NOT SUPPORTED. If the argument value is not a<br />
CLP output format identifier, the implementation shall not execute the command and the implementation<br />
shall return <strong>Command</strong> Response data compliant with session default output format indicating a<br />
Processing Error of INVALID ARGUMENT.<br />
Implementations shall recognize the string text as identifying the CLP text output format and shall not<br />
recognize any other string as identifying the text output format. Implementations shall recognize the string<br />
keyword as identifying the CLP keyword/value output format and shall not recognize any other string as<br />
identifying the keyword/value output format. Implementations shall recognize the string clpxml as<br />
identifying the CLP XML output format and shall not recognize any other string as identifying the XML<br />
output format.<br />
7.10.3.3 Output Language Selection<br />
If the output option with the language argument is included in a command, the implementation shall<br />
attempt to interpret the value of the language argument as a language code defined in accordance with<br />
ISO 639-2. If the implementation recognizes the value of the language argument as identifying an output<br />
language it supports, the implementation shall return <strong>Command</strong> Response data in the language specified.<br />
If the value of the language argument is not recognized by the implementation as identifying an output<br />
language it supports, the implementation shall not execute the command, the implementation shall return<br />
<strong>Command</strong> Response data in the session default language indicating a Processing Error of INVALID<br />
ARGUMENT.<br />
7.10.3.4 Output Range and Order Selection<br />
Some CLP verbs can return <strong>Command</strong> Results that include results for more than one Managed Element.<br />
The results of a command are marshaled into operation results data. The operation results data contains<br />
the results for each Managed Element as an ordered list. For each Managed Element, 303H32HDSP0216 defines<br />
the algorithm for initially ordering the operation results into the natural (default) order. Note that<br />
randomized is considered a valid algorithm for ordering the results. Arguments to the output option that<br />
select a range of elements for which results will be returned or control the order in which results are<br />
returned will operate against this list of operation results. The begin argument instruments the<br />
implementation to select the range of elements for which results will be included from the beginning of the<br />
list. The end argument instruments the implementation to select the range of elements for which results<br />
will be included from the end of the list. The count argument allows a user to restrict the number of<br />
Managed Elements in the range. The order argument allows a user to modify the order in which results<br />
are returned for a command. The number argument allows a user to select a range of Managed<br />
Elements.<br />
The begin, end, number, order, and count arguments to the output option affect the order and<br />
range of results displayed. When operation results are returned for Managed Elements of more than one<br />
type, the implementation shall apply the range selection once for each Managed Element type to the<br />
range of instances of that type. Implementations shall not apply the range selection arguments within the<br />
result for an individual Managed Element. Implementations shall apply the output order and range<br />
selection arguments to the elements at the deepest level of the containment hierarchy for which operation<br />
results have been generated and shall not apply the range or output order selection arguments to<br />
instances at any other level of the containment hierarchy for which operation results were generated. The<br />
begin, end, and number arguments are mutually exclusive. If the implementation receives a command<br />
with the output option specified with more than one of begin, end, and number specified, the<br />
implementation shall not execute the command and shall return a <strong>Command</strong> Status of COMMAND<br />
PROCESSING FAILED with a Processing Error of COMMAND SYNTAX ERROR. The number and<br />
count arguments are mutually exclusive. If the implementation receives a command with the output<br />
option specified with more than one of number and count specified, the implementation shall not<br />
Version 1.0.2 137
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5704<br />
5705<br />
5706<br />
5707<br />
5708<br />
5709<br />
5710<br />
5711<br />
5712<br />
5713<br />
5714<br />
5715<br />
5716<br />
5717<br />
5718<br />
5719<br />
5720<br />
5721<br />
5722<br />
5723<br />
5724<br />
5725<br />
5726<br />
5727<br />
5728<br />
5729<br />
5730<br />
5731<br />
5732<br />
5733<br />
5734<br />
5735<br />
5736<br />
5737<br />
5738<br />
5739<br />
5740<br />
5741<br />
5742<br />
5743<br />
5744<br />
5745<br />
5746<br />
5747<br />
5748<br />
5749<br />
5750<br />
5751<br />
5752<br />
execute the command and shall return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED with a<br />
Processing Error of COMMAND SYNTAX ERROR.<br />
When the output option is specified with an argument of begin, the implementation shall use the first<br />
element as the beginning element in the range of elements for which results will be returned. When the<br />
output option is specified with an argument of end, the implementation shall use the last element as the<br />
ending element in the range of elements for which results will be returned. Implementations shall then<br />
apply the count argument to determine the number of elements for which operation results are included<br />
in the <strong>Command</strong> Results. When the output option is specified with an argument of count, the<br />
implementation shall not return results for more Managed Elements than the value specified for count.<br />
Note that the value for the count argument is interpreted as an upper limit only. If the operation results<br />
contain results for fewer Managed Elements than the value specified for the count argument, the count<br />
argument will not have any effect.<br />
When the output option is specified with an argument of order and the value selected for order is<br />
default, the implementation shall return results in the natural order for the class. When the output<br />
option is specified with an argument of order and the value selected for order is reverse, the<br />
implementation shall return results in reverse of the natural order for the class. If the end argument is not<br />
specified, the implementation shall behave as if the begin argument was specified. If the<br />
order=reverse argument is not specified, the implementation shall behave as if order=default was<br />
specified. Thus the default behavior is to return elements according to their natural order.<br />
The number argument allows a user to select a range of Managed Elements. The value of the number<br />
argument is in the following format:<br />
-<br />
Range selection is inclusive of the start and ending identifier. Any non-negative integer is an acceptable<br />
value for the starting identifier and ending identifier. If the number argument is specified<br />
with a value for the starting identifier or ending identifier that is not a non-negative<br />
integer, the implementation shall return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and a<br />
Processing Error of INVALID ARGUMENT. When the output option is specified with an argument of<br />
number, the implementation shall select the range of instances identified by starting identifier<br />
through the ending identifier, inclusive from the list of instances for which results are contained in<br />
the operation results. If the value specified for the starting identifier is greater than the value<br />
specified for the ending identifier, the implementation shall return a <strong>Command</strong> Status of<br />
COMMAND PROCESSING FAILED and a Processing Error of INVALID ARGUMENT. If the value for the<br />
ending identifier is greater than the number of elements in the list of operation results, the<br />
implementation shall select the last element in the list of operation results as the end element in the range<br />
for which results will be returned. If the value for the starting identifier is greater than the number<br />
of elements in the list of operation results, the implementation shall not return results for any Managed<br />
Elements.<br />
The following examples are provided for informational purposes and do not constitute additional<br />
constraints on the implementation. For these examples, assume there are nine instances of a class<br />
where the natural ordering of their results is UFcT1, UFcT3, UFcT4, UFcT5, UFcT6, UFcT7, UFcT8,<br />
UFcT9, UFcT10. Note that the results do not contain an instance of UFcT2 in this example.<br />
EXAMPLE 1:<br />
- o begin<br />
begin is the only argument to the output option. The implementation will select instance<br />
UFcT1 as the beginning element for the range of results. The count argument is not<br />
specified, so the default value of "all" is used. The implementation will select all elements,<br />
starting at UFcT1. The order argument is not specified, so the default ordering will be<br />
used. Thus, results will be returned in the default ordering of UFcT1, UFcT3, UFcT4,<br />
UFcT5, UFcT6, UFcT7, UFcT8, UFcT9, UFcT10.<br />
138 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5753<br />
5754<br />
5755<br />
5756<br />
5757<br />
5758<br />
5759<br />
5760<br />
5761<br />
5762<br />
5763<br />
5764<br />
5765<br />
5766<br />
5767<br />
5768<br />
5769<br />
5770<br />
5771<br />
5772<br />
5773<br />
5774<br />
5775<br />
5776<br />
5777<br />
5778<br />
5779<br />
5780<br />
5781<br />
5782<br />
5783<br />
5784<br />
EXAMPLE 2:<br />
EXAMPLE 3:<br />
EXAMPLE 4:<br />
EXAMPLE 5:<br />
EXAMPLE 6:<br />
- o begin,count=3<br />
The implementation will select instance UFcT1 as the beginning element for the range of<br />
results. The count is specified with a value of 3, so the implementation will select the first<br />
three instances. The order argument is not specified, so the default ordering will be used.<br />
Thus, results will be returned in the default ordering of UFcT1, UFcT3, UFcT4.<br />
-o end<br />
end is the only argument to the output option. The implementation will select instance<br />
UFcT10 as the end element for the range of results. The count argument is not specified,<br />
so the default value of "all" is used. The implementation will select all elements, ending at<br />
UFcT10. The order argument is not specified, so the default ordering will be used. Thus,<br />
results will be returned in the default ordering of UFcT1, UFcT3, UFcT4, UFcT5, UFcT6,<br />
UFcT7, UFcT8, UFcT9, UFcT10.<br />
-o end,count=3<br />
end is specified, so the implementation will select instance UFcT10 as the end element for<br />
the range of results. The count argument is specified with a value of 3, so the<br />
implementation will select the last three elements ending at UFcT10. The order argument<br />
is not specified, so the default ordering will be used. Thus, results will be returned in the<br />
default ordering of UFcT8, UFcT9, UFcT10.<br />
-o end,order=reverse<br />
As in EXAMPLE 3, the implementation will return results for all instances. However, they<br />
will be returned in the reverse order of UFcT10…UFcT3, UFcT1.<br />
-o number=(1-5)<br />
The implementation will select the first item in the list of operation results as the first<br />
element to include in the range of results. The implementation will select the fifth item in<br />
the list of operation results as the last element to include in the range of results. The<br />
implementation will include all of the elements in between. The results will be returned as<br />
UFcT1, UFcT3, UFcT4, UFcT5, UFcT6.<br />
5785<br />
5786<br />
5787<br />
5788<br />
5789<br />
5790<br />
5791<br />
5792<br />
5793<br />
5794<br />
7.10.3.5 Output Verbosity<br />
The terse, verbose, and error arguments are used to specify the level of detail an implementation<br />
returns when the output format is "text". If the implementation receives a command with the output<br />
option specified with more than one of the terse, error, and verbose arguments specified, the<br />
implementation shall not execute the command and shall return a <strong>Command</strong> Status of COMMAND<br />
PROCESSING FAILED with a Processing Error of COMMAND SYNTAX ERROR.<br />
The terse, verbose, and error arguments have no effect when the output format is a structured<br />
output format. When the output format in effect for a command is a structured output and the terse,<br />
verbose, and error arguments are in effect for a command, the terse, verbose, and error<br />
arguments are ignored.<br />
Version 1.0.2 139
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5795<br />
5796<br />
5797<br />
5798<br />
5799<br />
5800<br />
5801<br />
5802<br />
5803<br />
5804<br />
5805<br />
5806<br />
5807<br />
5808<br />
5809<br />
When the output format for a command is "text" and the output option is specified with an argument of<br />
terse, the implementation shall return <strong>Command</strong> Status that includes only the Status Tag data element,<br />
unless a processing error or execution error occurs, in which case the implementation shall return the<br />
Processing Error Tag or Job Error data element as appropriate to the error that occurred.<br />
When the output format for a command is "text" and the output option is specified with an argument of<br />
error, the implementation shall return <strong>Command</strong> Status if an error occurs in processing the command<br />
and shall not return <strong>Command</strong> Status if an error does not occur in processing the command.<br />
When the output format for a command is "text" and the output option is specified with an argument of<br />
verbose, the implementation shall return <strong>Command</strong> Status that includes the Status Tag. If a processing<br />
error or execution error occurs, the implementation shall return the Processing Error Tag or Job Error<br />
data element as appropriate to the error that occurred. The implementation may return Message data<br />
elements.<br />
304HTable 17 lists the supported arguments for the output option that control the level of detail returned by a<br />
command when the output format is text mode.<br />
Table 17 – Output Options for Controlling <strong>Command</strong> Status Output<br />
Option<br />
Description/Uses<br />
-o terse A short description of the status is returned.<br />
-o verbose <strong>Command</strong> Status and <strong>Command</strong> Results are returned.<br />
-o error <strong>Command</strong> Status is returned only if an error occurs.<br />
5810<br />
5811<br />
5812<br />
5813<br />
5814<br />
5815<br />
5816<br />
5817<br />
5818<br />
5819<br />
5820<br />
5821<br />
5822<br />
5823<br />
5824<br />
5825<br />
5826<br />
5827<br />
5828<br />
7.11 source<br />
This clauses describes the requirements for the source option.<br />
7.11.1 Forms<br />
-source<br />
7.11.2 Example Use<br />
load –source `<br />
ftp://administrator:passw0rd@myserver.com/private/administrator/`firmware.img<br />
/system1/fw1<br />
7.11.3 Behavior<br />
The source option is used to specify the source of data for a command. The source can be expressed<br />
as a UFiP if it is a Managed Element in the address space of the MAP. The source can also be expressed<br />
as a URI. The desired protocol to use for transferring the image is specified as part of the URI. This<br />
specification does not mandate support for a specific protocol. Thus the protocols supported are<br />
implementation specific. Implementations shall interpret the value specified as a URI defined according to<br />
305H9HRFC2396. The URI specified may contain a scheme that indicates the explicit service and location to be<br />
used to transfer the source data. If the URI specified is relative, then the implementation shall interpret<br />
the URI according to the rules specified in 306H5.1.3.3.<br />
7.12 version<br />
This clause describes the requirements for the version option.<br />
140 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5829<br />
5830<br />
5831<br />
5832<br />
7.12.1 Forms<br />
–version<br />
–v<br />
7.12.2 Example Use<br />
5833<br />
5834<br />
EXAMPLE 1:<br />
Displays the version of the start command verb.<br />
start –version<br />
5835<br />
5836<br />
5837<br />
5838<br />
5839<br />
5840<br />
5841<br />
5842<br />
5843<br />
5844<br />
5845<br />
5846<br />
5847<br />
5848<br />
5849<br />
5850<br />
5851<br />
5852<br />
5853<br />
5854<br />
5855<br />
5856<br />
5857<br />
5858<br />
5859<br />
5860<br />
5861<br />
5862<br />
5863<br />
5864<br />
7.12.3 Behavior<br />
The version option causes the <strong>Command</strong> Processor to return the version of the command verb that<br />
appears as the first term on the <strong>Command</strong> <strong>Line</strong>. CLP command verbs are assigned the version of the<br />
CLP in which they were introduced or in which they were last modified. The CLP version tracks the overall<br />
version of the syntax and is revised whenever a new CLP verb is added to the standard or when an<br />
existing verb’s syntax or semantics are revised. When the version option is used, the command verb<br />
itself is not executed.<br />
When the version option is included in a command, the implementation shall not execute the command.<br />
The implementation shall return <strong>Command</strong> Response data that identifies the version of the verb<br />
supported by the implementation.<br />
7.13 wait<br />
This clause describes the requirements for the wait option.<br />
7.13.1 Forms<br />
-wait<br />
-w<br />
7.13.2 Example Use<br />
stop –w /system3<br />
7.13.3 Behavior<br />
When the wait option is included in a command, the implementation shall not return control immediately<br />
to the Client; instead the implementation shall withhold all <strong>Command</strong> Response data and command input<br />
control until all jobs related to this command have completed. The wait option has no effect on the<br />
success or failure of the command or spawned jobs.<br />
8 SM CLP Session<br />
The following clauses describe the requirements for management of CLP sessions.<br />
8.1 Authentication, Authorization, and Audit<br />
The CLP Service relies on user accounts and user groups to control access to Managed Elements<br />
through the service. Membership in a user group conveys to the user account the management privileges<br />
associated with that user group. User accounts may be members of more than one user group. User<br />
privileges are additive—membership in a group conveys to the user all of the privileges of that group, not<br />
just the privileges that overlap with additional groups to which the user belongs.<br />
Version 1.0.2 141
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5865<br />
5866<br />
5867<br />
5868<br />
5869<br />
5870<br />
5871<br />
5872<br />
5873<br />
5874<br />
5875<br />
5876<br />
5877<br />
5878<br />
5879<br />
The CLP defines three user groups, each with an associated set of privileges. The three CLP-defined<br />
user groups are Administrator, Operator, and Read Only. Implementations shall support the Read Only<br />
and Administrator groups. Implementations should support the Operator group. Implementations may<br />
support additional user groups.<br />
Authorization for the CLP-defined user groups is at SM CLP command granularity. If the user account for<br />
the session is a member of a group that has permission to execute a command, the implementation shall<br />
attempt to process the command. If the user account for the session is not a member of a group that has<br />
permission to execute the command, the implementation shall not complete the requested command and<br />
the implementation shall return a <strong>Command</strong> Status of COMMAND EXECUTION FAILED, a Job Error<br />
Type of Security Error, and a CIM Status of CIM_ERR_ACCESS_DENIED.<br />
307HTable 18 lists the CLP-defined user groups and the associated authorized CLP commands. For each user<br />
group listed in the "Group" column, implementations shall authorize the CLP commands listed in the "SM<br />
CLP <strong>Command</strong>s" column and shall not authorize CLP commands that do not appear in the "SM CLP<br />
<strong>Command</strong>s" column.<br />
Table 18 – <strong>Command</strong> Authorizations for CLP Groups<br />
Group<br />
Read Only<br />
Operator<br />
Administrator<br />
SM CLP <strong>Command</strong>s<br />
cd, exit, help ,show, version<br />
cd, exit, help, show, version, reset, start, stop, set, load,<br />
dump<br />
cd, exit, help, show, version, reset, start, stop, set, load,<br />
dump, create, delete<br />
5880<br />
5881<br />
5882<br />
5883<br />
5884<br />
5885<br />
5886<br />
5887<br />
5888<br />
5889<br />
5890<br />
5891<br />
5892<br />
5893<br />
5894<br />
5895<br />
5896<br />
5897<br />
5898<br />
5899<br />
5900<br />
5901<br />
5902<br />
5903<br />
Prior to allowing a Client to issue any SM CLP commands, implementations shall have an authenticated<br />
session established between the Client and the CLP Service. Every CLP session shall exist in the context<br />
of a CLP User where the context is determined when the session is established and cannot be modified<br />
for the session. Establishment of an authenticated session is implementation specific and is outside the<br />
scope of this specification.<br />
Implementations shall support adding, removing, displaying, and modifying user accounts through the<br />
CLP. Implementations shall require that a user belong to the Administrator group in order to create,<br />
delete, or modify users and assign users to groups. This is an exception to the rules in 308HTable 18. For<br />
more information, see 309H32HDSP0216. The representation of CLP users and groups is defined in 310H7HDSP1005.<br />
The definition of the initial user account for accessing the CLP is implementation specific and outside the<br />
scope of this specification.<br />
8.2 CLP Session<br />
This clause describes the CLP session.<br />
8.2.1 General<br />
A CLP session is defined as a synchronous text message service exposed by a MAP CLP Service<br />
through (or over) an underlying transport protocol. All commands and responses in a CLP session are<br />
session data messages from the standpoint of the transport, and there are no required messages in a<br />
CLP session except the termination command. A CLP session exists from the time the service is invoked<br />
by one of the methods described in the corresponding transport mapping specification until termination is<br />
requested by the Client by sending the CLP session termination command (exit).<br />
The CLP session also ends if the service terminates for any other reason. When a graceful stop of the<br />
CLP session is initiated, the implementation shall not accept any additional commands from the user and<br />
shall finish processing the pending command, if there is one. The implementation shall then end the<br />
session as if it were processing an exit command from the user. If an immediate stop of the CLP<br />
142 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5904<br />
5905<br />
5906<br />
5907<br />
5908<br />
5909<br />
5910<br />
5911<br />
5912<br />
5913<br />
5914<br />
5915<br />
5916<br />
5917<br />
5918<br />
5919<br />
5920<br />
5921<br />
5922<br />
5923<br />
5924<br />
5925<br />
5926<br />
5927<br />
5928<br />
5929<br />
5930<br />
5931<br />
5932<br />
5933<br />
5934<br />
5935<br />
5936<br />
5937<br />
5938<br />
5939<br />
5940<br />
5941<br />
5942<br />
5943<br />
5944<br />
5945<br />
5946<br />
session is initiated, the implementation shall immediately stop the CLP session and shall not return a<br />
<strong>Command</strong> Response to the user. When terminating the CLP session, the implementation may also<br />
terminate the transport session.<br />
8.2.2 Session Environment<br />
Interaction with the CLP Service is done within the context of a session. The CLP Service maintains a<br />
session context for each active session. The SESSION term (see 311H5.1.7) references the session in which<br />
the term is used. This provides a convenient mechanism for users to access their current session. The<br />
CLP Service maintains useful information such as the Current Default Target, the default values for<br />
options, the default target of the session, and the credentials provided when the session was initiated in<br />
the session context. Session default values are supported only on a subset of options. For a complete list<br />
of options and session attributes that implementations are required to support, see 312H32HDSP0216.<br />
Implementations shall allow users to modify settings for their own sessions irrespective of the groups of<br />
which the users are a member. This is an exception to the rules in 313HTable 18.<br />
8.2.3 CLP Service<br />
A CLP session is managed by the CLP Service. Within the scope of a single MAP/CLP Service, a user<br />
may see other user sessions if the implementation supports multiple, simultaneous sessions, and if the<br />
user has Administrator authorization.<br />
Implementations shall require that a user has Administrator authorization in order to show other user<br />
sessions, stop other user sessions, or stop the CLP Service.<br />
If a graceful stop of the CLP Service is requested, the implementation shall gracefully stop each active<br />
CLP session as described in 314H8.2.1 prior to ending the service. If an immediate stop of the CLP Service is<br />
requested, the implementation shall immediately stop each active CLP session as described in 315H8.2.1 prior<br />
to ending the service.<br />
8.2.4 Initial Prompt<br />
When a CLP session is established, implementations shall return the following string followed by the first<br />
command prompt:<br />
=== SM CLP v.. SM ME Addressing<br />
v.. ===<br />
The version string that follows "SM CLP" is in the m.n.ud format specified by the <strong>DMTF</strong> Release Process,<br />
v1.3 (316H24HDSP4004) and identifies the version of the SM CLP specification supported by the<br />
implementation. For implementations compliant with this version of the specification, has a value<br />
of 1, has a value of 0 (zero), and has a value of 0 (zero). The version string that<br />
follows "SM ME Addressing" is in the m.n.ud format specified by 317H24HDSP4004 and identifies the version<br />
of the SM ME Addressing specification supported by the implementation. is a vendordefined<br />
versioning string. The initial CLP prompt is this version information followed by a command<br />
prompt<br />
8.2.5 CLP Interaction Model<br />
The CLP observes the following interaction models documented in this clause, unless otherwise noted:<br />
• CLP Service Discovery (documented in the CLP Service Discovery <strong>Specification</strong> [318H29HDSP0218])<br />
• CLP Session Establishment<br />
• CLP <strong>Command</strong> Interaction<br />
• CLP Session Switching<br />
• CLP Session Termination<br />
Version 1.0.2 143
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5947<br />
5948<br />
5949<br />
5950<br />
5951<br />
5952<br />
5953<br />
The following clauses define the normal and exception message sequences of each model. The following<br />
conventions are used in each of the following interaction diagrams:<br />
• Dashed horizontal lines indicate expected behavior. The exact behavior is outside the scope of<br />
this specification.<br />
• Solid horizontal lines indicate behavior required by this specification.<br />
8.2.5.1 Session Establishment<br />
319HFigure 1 provides an overview of the session establishment sequence.<br />
Supervisor TransportService CLPService<br />
Session Establishment<br />
Transport Session<br />
establishment is<br />
transport implementation<br />
dependent and is<br />
out-of-scope of the<br />
SM CLP <strong>Specification</strong>.<br />
Since the SM CLP<br />
does not perform<br />
user authentication,<br />
the Transport Service<br />
must authenticate<br />
the user.<br />
The credential prompt<br />
and acceptance<br />
sequence is<br />
shown for<br />
information only.<br />
Actual implementations<br />
may require different<br />
message exchanges<br />
to accomplish this.<br />
Request Session<br />
Authentication Prompt<br />
Session Credentials Info<br />
Transport Session Established<br />
Begin Session<br />
Initial CLP Prompt<br />
Message (Initial CLP Prompt)<br />
Initial CLP Prompt<br />
5954<br />
5955<br />
Figure 1 – Session Establishment Sequence<br />
5956<br />
5957<br />
5958<br />
8.2.5.2 <strong>Command</strong> Interaction<br />
320HFigure 2 provides an overview of the interaction between a Supervisor and a CLP Service for a CLP<br />
command. Two cases are shown. In the first case, a <strong>Command</strong> Response is returned synchronously. In<br />
144 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5959<br />
the second case, a command executes asynchronously and the Supervisor polls for status.<br />
Supervisor TransportService CLPService<br />
<strong>Command</strong> Interaction<br />
(Normal Case)<br />
Supervisor must<br />
wait for response<br />
Message (<strong>Command</strong>)<br />
<strong>Command</strong><br />
<strong>Command</strong> response includes<br />
command execution status,<br />
command results output, and<br />
the CLP prompt for the next<br />
command.<br />
Supervisor may<br />
send next command<br />
Message (<strong>Command</strong> Response)<br />
<strong>Command</strong> Response<br />
<strong>Command</strong> Interaction<br />
(Spawned Operation)<br />
Supervisor must<br />
wait for response<br />
Message (<strong>Command</strong>)<br />
<strong>Command</strong><br />
<strong>Command</strong> Response (OpID)<br />
Supervisor may<br />
send next command<br />
Message (<strong>Command</strong> Response(OpID))<br />
<strong>Command</strong> spawns operation<br />
to accomplish command work<br />
and returns response containing<br />
the operation ID and<br />
control to Supervisor.<br />
Supervisor can query status<br />
in a subsequent command<br />
using the spawned operation's ID.<br />
Supervisor must<br />
wait for response<br />
Message (<strong>Command</strong>: show OpID)<br />
<strong>Command</strong>: show OpID<br />
<strong>Command</strong> Response<br />
5960<br />
Supervisor may<br />
send next command<br />
Message (<strong>Command</strong> Response)<br />
5961<br />
Figure 2 – <strong>Command</strong> Interaction Sequences<br />
Version 1.0.2 145
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5962<br />
5963<br />
5964<br />
5965<br />
5966<br />
8.2.5.3 Session Switching<br />
321HFigure 3 provides an overview of the interaction between a Supervisor and the CLP Service when an<br />
alternate text session is initiated using the CLP. The alternate text session is established within the CLP<br />
session. Therefore, while the alternate text session is established, the Supervisor interacts with the<br />
alternate text service and not the CLP Service.<br />
Supervisor TransportService CLPService<br />
AltTextService<br />
Session Switching<br />
(Switch-to Case)<br />
Supervisor must<br />
wait for response<br />
Message (<strong>Command</strong>: start console)<br />
<strong>Command</strong>: start console<br />
Switch Session<br />
Supervisor<br />
may send<br />
next command<br />
Message (Alt Service Started)<br />
Alt Service Started<br />
Begin Session<br />
Alternate Text<br />
Service defines<br />
valid message<br />
content and<br />
semantics<br />
Message (Alt Service Output)<br />
Message (Alt Service Input)<br />
Message (Alt Service Output)<br />
Alt Service Data<br />
Alt Service Data<br />
Alt Service Data<br />
Session Switching<br />
(Switch-back Case)<br />
Message ("End Session" char sequence)<br />
End Session<br />
Resume Session<br />
When CLP Service resumes<br />
CLP Session, CLP Session MUST<br />
send a CLP Prompt to Supervisor.<br />
CLP Prompt<br />
Message (CLP Prompt)<br />
5967<br />
5968<br />
Figure 3 – Session Switching Sequences<br />
146 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5969<br />
5970<br />
5971<br />
5972<br />
5973<br />
8.2.5.4 Session Termination<br />
322HFigure 4 provides an overview of the interaction between a Supervisor and CLP Service when a session<br />
terminates. Two cases are shown. In the first case, the Supervisor requests their own session be<br />
terminated. In the second case, a different Supervisor requests that the session of the first Supervisor be<br />
terminated.<br />
Supervisor TransportService CLPService<br />
Session Termination<br />
(Normal Case)<br />
Supervisor must<br />
wait for response<br />
Message (<strong>Command</strong>: exit)<br />
End Session<br />
<strong>Command</strong> response includes<br />
command execution status,<br />
command results output, but<br />
no CLP prompt.<br />
CLP Service then causes<br />
Transport Session to exit,<br />
dropping Supervisor's<br />
transport session.<br />
Supervisor may<br />
send next command<br />
Message (<strong>Command</strong> Response)<br />
End Transport Session<br />
<strong>Command</strong> Response<br />
End CLP Session<br />
Supervisor TransportService CLPService<br />
Session Termination<br />
(Unsolicited Case)<br />
Message (<strong>Command</strong>)<br />
A second user issues a<br />
'stop session' command for<br />
this user's CLP session.<br />
Nothing happens until<br />
next command from user.<br />
Next command from user<br />
is rejected because the<br />
session has ended.<br />
<strong>Command</strong> Response (Session Ended)<br />
Message (<strong>Command</strong> Response(Session Ended))<br />
End Transport Session<br />
End CLP Session<br />
5974<br />
5975<br />
Figure 4 – Session Termination Sequences<br />
Version 1.0.2 147
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
5976<br />
5977<br />
5978<br />
5979<br />
5980<br />
5981<br />
5982<br />
5983<br />
5984<br />
5985<br />
5986<br />
5987<br />
5988<br />
5989<br />
5990<br />
5991<br />
5992<br />
5993<br />
5994<br />
5995<br />
5996<br />
5997<br />
5998<br />
5999<br />
6000<br />
6001<br />
6002<br />
6003<br />
6004<br />
6005<br />
8.3 Transport<br />
The CLP is carried over a text message-based protocol. At present, two text message protocol mappings<br />
of the CLP are specified:<br />
• Telnet<br />
• Secure Shell (SSH)<br />
8.3.1 General<br />
CLP implementations shall support either Telnet or SSHv2, though support for SSHv2 is recommended.<br />
Implementations may support more than one message-passing mechanism for accessing the CLP<br />
Service.<br />
Implementations should provide a method for activating/enabling and deactivating/disabling the supported<br />
Telnet or SSHv2 protocol.<br />
The CLP Service exposed by the implementation shall operate the same whether invoked from an SSHloaded<br />
shell, loaded directly by the SSH daemon, operating as a subsystem, or loaded from a Telnet<br />
pTTY. This is primarily a test statement because there is nothing in Telnet or SSH that directly affects the<br />
operation of the implementation or its terminal I/O operations as seen from the transport client application.<br />
Implementations of the CLP Service shall ensure that output received by Clients of the implementation is<br />
consistent irrespective of the transport over which the implementation is accessed. For example, if the<br />
CLP Service uses a transport that inserts characters into the text stream at one end of the transport, the<br />
transport will need to remove the characters prior to presenting the text stream to the Client.<br />
8.3.2 Telnet<br />
Telnet is an IETF-defined Network Virtual Terminal (NVT) protocol that operates over the TCP transport<br />
layer. The Telnet protocol provides a standardized interface through which a program on one host (the<br />
Telnet client) can access the resources of another host (the Telnet server) as though the client were a<br />
local terminal connected to the server.<br />
The basic operational characteristics of an NVT are as follows:<br />
• The data representation is 7-bit ASCII transmitted in 8-bit bytes.<br />
• The NVT provides a local echo function.<br />
A CLP implementation over Telnet shall support the base Telnet RFC and Standards and shall support<br />
the IETF RFCs listed in 323HTable 19.<br />
Table 19 – Telnet Transport Support Requirements<br />
Number Title Author or Ed. Date Released Status<br />
STD0008<br />
RFC0854<br />
STD0008<br />
RFC0855<br />
Telnet <strong>Protocol</strong> <strong>Specification</strong><br />
Telnet Option <strong>Specification</strong>s<br />
J. Postel, J.K. Reynolds May 1, 1983 Standard<br />
J. Postel, J.K. Reynolds May 1, 1983 Standard<br />
6006<br />
6007<br />
6008<br />
6009<br />
Note that, in addition to standard NVT operation as described in 324H22HRFC0854, implementations shall<br />
respond to requests to support UTF-8.<br />
Each line should be terminated by a Carriage Return and <strong>Line</strong> Feed (UTF-8, from a Transformation<br />
Format of ISO 10646 [325H34HRFC3629]).<br />
148 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6010<br />
6011<br />
6012<br />
6013<br />
6014<br />
6015<br />
6016<br />
6017<br />
6018<br />
6019<br />
6020<br />
6021<br />
6022<br />
6023<br />
6024<br />
6025<br />
6026<br />
6027<br />
6028<br />
6029<br />
6030<br />
6031<br />
6032<br />
6033<br />
6034<br />
6035<br />
6036<br />
6037<br />
6038<br />
6039<br />
6040<br />
6041<br />
6042<br />
6043<br />
A CLP implementation may listen on any TCP port number. CLP TCP port numbers may be<br />
administratively set or discovered through the Service Location <strong>Protocol</strong> (SLP). See 326H29HDSP0218 for<br />
more information.<br />
8.3.3 Secure Shell (SSH) Version 2<br />
SSH is a tool for secure remote login over insecure networks. It provides an encrypted terminal session<br />
with strong authentication of both the server and client.<br />
Secure Shell provides three main capabilities:<br />
• Secure command-shell<br />
• Secure file transfer<br />
• Port forwarding<br />
SSHv2 is a protocol being defined by the 13HIETF in the 14HSECSH Working Group.<br />
The SSHv2 protocol is described in the following five core documents. A CLP implementation over<br />
SSHv2 shall support the base SSHv2 RFC and Standards and the following IETF RFCs and Internet<br />
Drafts:<br />
• Secure Shell (SSH) <strong>Protocol</strong> Architecture (327H17HRFC4251)—Describes the overall design of<br />
SSH.<br />
• Secure Shell (SSH) Transport Layer <strong>Protocol</strong> (328H18HRFC4253)—Provides a single, full-duplex,<br />
byte-oriented connection between client and server, with privacy, integrity, server<br />
authentication, and man-in-the-middle protection.<br />
• Secure Shell (SSH) Authentication <strong>Protocol</strong> (329H19HRFC4252)—Identifies the client to the server.<br />
• Secure Shell (SSH) Connection <strong>Protocol</strong> (330H20HRFC4254)—Provides richer, application-support<br />
services over the transport pipe, such as channel multiplexing, flow control, remote program<br />
execution, signal propagation, connection forwarding, and so on.<br />
• Secure Shell (SSH) <strong>Protocol</strong> Assigned Numbers (331H21HRFC4250)—Lists various constant<br />
assignments made in the other drafts.<br />
The Secure command-shell mode of operation shall be supported by a CLP implementation.<br />
A CLP implementation is not required to listen on any specific predefined TCP port number. A CLP TCP<br />
port number may be administratively set or discovered through the SLP. See 332H29HDSP0218 for more<br />
information.<br />
No specific encryption algorithms or authentication protocols are specified in this specification. CLP will<br />
rely on the referenced SSH specifications to identify required techniques.<br />
When an implementation supports SSH, the implementation shall support a mechanism to restrict access<br />
to the implementation using tunneled protocols, and the factory-default setting shall disable Telnet as a<br />
tunneled protocol.<br />
Version 1.0.2 149
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6044<br />
6045<br />
6046<br />
6047<br />
6048<br />
Annex A<br />
(normative)<br />
SM CLP <strong>Command</strong> Grammar in ABNF Notation (333H8HRFC2234)<br />
6049<br />
6050<br />
6051<br />
6052<br />
6053<br />
6054<br />
6055<br />
6056<br />
6057<br />
6058<br />
6059<br />
6060<br />
6061<br />
6062<br />
6063<br />
6064<br />
6065<br />
6066<br />
6067<br />
6068<br />
6069<br />
6070<br />
6071<br />
6072<br />
6073<br />
6074<br />
6075<br />
6076<br />
6077<br />
6078<br />
6079<br />
6080<br />
6081<br />
6082<br />
6083<br />
6084<br />
6085<br />
6086<br />
6087<br />
6088<br />
6089<br />
6090<br />
6091<br />
;;<br />
;; Note that line joining is done before tokenization, the "`" (backquote)<br />
character ;; at the end of the line indicates that the current line is continued<br />
the following ;; line.<br />
;;<br />
;; WSP, CR, LF, CRLF, SP, DIGIT, ALPHA, DQUOTE, VCHAR are part of core rules<br />
;; defined in RFC2234.<br />
;;<br />
tsep = WSP ; command term separator<br />
eol = CR / LF / CRLF ; end of line token<br />
dot = "."<br />
dotdot = ".."<br />
splat = "*"<br />
addrTermSeparator = "/" / "\" ; address term separator<br />
;;<br />
;; SM CLP command set:<br />
;;<br />
;; General command grammar rules:<br />
;; verb: always be the 1st term on the command line.<br />
;; target: appears as the 1st term that is not an option.<br />
;; options: recognized by the option indication "-", appear after verb.<br />
;; properties: appear after target.<br />
;;<br />
;; Example: verb [options] [target] [properties]<br />
;;<br />
<strong>Command</strong>s = cd-cmd<br />
/ create-cmd<br />
/ delete-cmd<br />
/ dump-cmd<br />
/ exit-cmd<br />
/ help-cmd<br />
/ load-cmd<br />
/ reset-cmd<br />
/ set-cmd<br />
/ show-cmd<br />
/ start-cmd<br />
/ stop-cmd<br />
/ version-cmd<br />
/ OEM-cmd<br />
;;<br />
;; SM CLP command verb set:<br />
150 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6092<br />
6093<br />
6094<br />
6095<br />
6096<br />
6097<br />
6098<br />
6099<br />
6100<br />
6101<br />
6102<br />
6103<br />
6104<br />
6105<br />
6106<br />
6107<br />
6108<br />
6109<br />
6110<br />
6111<br />
6112<br />
6113<br />
6114<br />
6115<br />
6116<br />
6117<br />
6118<br />
6119<br />
6120<br />
6121<br />
6122<br />
6123<br />
6124<br />
6125<br />
6126<br />
6127<br />
6128<br />
6129<br />
6130<br />
6131<br />
6132<br />
6133<br />
6134<br />
6135<br />
6136<br />
6137<br />
6138<br />
6139<br />
6140<br />
6141<br />
;;<br />
Verbs = cd-verb<br />
/ create-verb<br />
/ delete-verb<br />
/ dump-verb<br />
/ exit-verb<br />
/ help-verb<br />
/ load-verb<br />
/ reset-verb<br />
/ set-verb<br />
/ show-verb<br />
/ start-verb<br />
/ stop-verb<br />
/ version-verb<br />
/ OEM-verb<br />
;;<br />
;; SM CLP command options:<br />
;;<br />
;; General option grammar rules:<br />
;; option = "-" optName [optArg]<br />
;; options = option *(tsep option)<br />
;;<br />
Options = all-option<br />
/ destination-option<br />
/ display-option<br />
/ examine-option<br />
/ force-option<br />
/ help-option<br />
/ keep-option<br />
/ level-option<br />
/ output-option<br />
/ source-option<br />
/ version-option<br />
/ wait-option<br />
/ OEM-options<br />
;;<br />
;; SM CLP command properties:<br />
;;<br />
property = propertyName<br />
propertyArrayName = propertyName "[" 1*DIGIT "]"<br />
properties = 1*(tsep propertyName)<br />
propertyValue = 1*VCHAR / quoted-string<br />
; visible char<br />
propertyValues = [propertyValue] *("," [propertyValue]) ; for array data type<br />
quoted-string = DQUOTE *(qdtext / ("`" DQUOTE)) DQUOTE<br />
qdtext = %x21 / %x23-7E<br />
; any printable char except DQUOTE<br />
property-assignValue = propertyName "=" propertyValues<br />
property-assignValue =/ propertyArrayName "=" propertyValue<br />
property-selectValue = (propertyName / propertyArrayName) "==" propertyValue<br />
Version 1.0.2 151
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6142<br />
6143<br />
6144<br />
6145<br />
6146<br />
6147<br />
6148<br />
6149<br />
6150<br />
6151<br />
6152<br />
6153<br />
6154<br />
6155<br />
6156<br />
6157<br />
6158<br />
6159<br />
6160<br />
6161<br />
6162<br />
6163<br />
6164<br />
6165<br />
6166<br />
6167<br />
6168<br />
6169<br />
6170<br />
6171<br />
6172<br />
6173<br />
6174<br />
6175<br />
6176<br />
6177<br />
6178<br />
6179<br />
6180<br />
6181<br />
6182<br />
6183<br />
6184<br />
6185<br />
6186<br />
6187<br />
6188<br />
6189<br />
6190<br />
6191<br />
6192<br />
6193<br />
properties-assignValues = 1*(tsep property-assignValue)<br />
;;<br />
;; Detail option rule definitions:<br />
;; Note that denotes an element referenced in this document:<br />
;; 1. is defined in RFC2396.<br />
;; 2. , , and are defined by the SM ME Addressing<br />
<strong>Specification</strong>.<br />
;; 3. is defined in Appendix A of CIM <strong>Specification</strong> V2.2.<br />
;; 4. is a property in CIM_Product class.<br />
;;<br />
all-option = tsep all-optionName<br />
destination-option = tsep destination-optionName tsep ( / )<br />
display-option = tsep display-optionName tsep display-optionArgs<br />
*("," display- optionArgs)<br />
display-optionPropArgProperty = (propertyName)<br />
display-optionArgs = *( "all" / "verbs" / display-optionAssocArg /<br />
display-optionTargetsArg / display-optionPropArg )<br />
display-optionAssocArg = "associations" ["=" (className /<br />
("("(className *("," className))")")) ]<br />
display-optionTargetsArg = "targets" ["=" ( /<br />
("(" *("," )")")) ]<br />
display-optionPropArg = "properties" ["=" display-optionPropArgProperty /<br />
( "(" display-optionPropArgProperty *("," display-optionPropArgProperty ) ")" )]<br />
examine-option = tsep examine-optionName<br />
force-option = tsep force-optionName<br />
help-option = tsep help-optionName<br />
keep-option = tsep keep-optionName tsep 1*DIGIT ["." 1*DIGIT]<br />
level-option = tsep level-optionName tsep (1*DIGIT / "all")<br />
output-option = tsep output-optionName tsep output-optionArgs<br />
*("," output-optionArgs)<br />
output-optionFormatArg = ("text" / "keyword" / "clpxml")<br />
output-optionArgs = *( ("format" "=" output-optionFormatArg /<br />
( "(" output-optionFormatArg ")" ) )<br />
/ ("error" / "terse" / "verbose")<br />
/ ("language" "=" 3ALPHA / ( "(" 3ALPHA ")" ) )<br />
/ ("begin" / "end")<br />
/ ("order" "=" ("default" / "reverse") / ( "(" "default" / "reverse" ")" ))<br />
/ ("number" "=" (1*DIGIT "-" 1*DIGIT) / ( "(" (1*DIGIT "-" 1*DIGIT) ")" ))<br />
/ ("count" "=" ("all" / 1*DIGIT)) / ( "(" ("all" / 1*DIGIT) ")" ))<br />
source-option = tsep source-optionName tsep ( / )<br />
version-option = tsep version-optionName<br />
wait-option = tsep wait-optionName<br />
stateValue = propertyValue<br />
;;<br />
;; Common options applicable to all verbs:<br />
;;<br />
common-options = *(examine-option / help-option / keep-option / output-options /<br />
version-option / OEM-options)<br />
152 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6194<br />
6195<br />
6196<br />
6197<br />
6198<br />
6199<br />
6200<br />
6201<br />
6202<br />
6203<br />
6204<br />
6205<br />
6206<br />
6207<br />
6208<br />
6209<br />
6210<br />
6211<br />
6212<br />
6213<br />
6214<br />
6215<br />
6216<br />
6217<br />
6218<br />
6219<br />
6220<br />
6221<br />
6222<br />
6223<br />
6224<br />
6225<br />
6226<br />
6227<br />
6228<br />
6229<br />
6230<br />
6231<br />
6232<br />
6233<br />
6234<br />
6235<br />
6236<br />
6237<br />
6238<br />
6239<br />
6240<br />
6241<br />
6242<br />
6243<br />
6244<br />
;;<br />
;; <strong>Command</strong> target term formations:<br />
;;<br />
all-legal-targets = target-Assoc / target-Instance / target-UFsT<br />
target-Instance = tsep targetPath<br />
/ tsep OEM-target<br />
/ tsep "SESSION"<br />
target-UfsT = tsep [addrTermSeparator] [addrTerm *(addrTermSeparator addrTerm)<br />
addrTermSeparator] UFsT<br />
UFsT = splat ; UFcT*<br />
target-Assoc = target-AssocSingleInstance / target-AssocMultiInstance<br />
target-AssocSingleInstance = tsep targetPath "=>" className "=>" targetPath<br />
target-AssocMultiInstance = tsep targetPath "=>" className<br />
targetPath = [addrTermSeparator] [addrTerm *(addrTermSeparator addrTerm)]<br />
addrTerm = (dot / dotdot / )<br />
;;<br />
;; Top-level command line production<br />
;;<br />
clp-command-line = clp-verb-forms / oem-cmd<br />
;;<br />
;; The CLP command formations<br />
;;<br />
clp-verb-forms = cd-cmd / create-cmd / delete-cmd / dump-cmd / exit-cmd<br />
clp-verb-forms =/ help-cmd / load-cmd / reset-cmd / set-cmd / show-cmd<br />
clp-verb-forms =/ start-cmd / stop-cmd / version-cmd<br />
;;<br />
;; Per-command formations:<br />
;;<br />
cd-cmd = cd-verb [cd-options] [target-Instance] eol<br />
cd-options = *(wait-option / common-options)<br />
create-cmd = create-verb [create-options] (target-Instance / target-UFsT)<br />
properties-assignValues eol<br />
create-cmd =/ create-verb [create-options] source-option [create-options]<br />
(target-Instance / target-UFsT) eol<br />
create-cmd =/ create-verb (help-option / version-option) eol<br />
create-options = *(wait-option / common-options)<br />
delete-cmd = delete-verb [delete-options] [target-Instance / target-UFsT] eol<br />
delete-options = *(force-option / wait-option / common-options)<br />
dump-cmd = dump-verb [dump-options] destination-option [dump-options] [target-<br />
Instance] eol<br />
dump-cmd =/ dump-verb (help-option / version-option) eol<br />
dump-options = *(force-option / wait-option / common-options)<br />
exit-cmd = exit-verb [exit-options] eol<br />
exit-options = common-options<br />
Version 1.0.2 153
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6245<br />
6246<br />
6247<br />
6248<br />
6249<br />
6250<br />
6251<br />
6252<br />
6253<br />
6254<br />
6255<br />
6256<br />
6257<br />
6258<br />
6259<br />
6260<br />
6261<br />
6262<br />
6263<br />
6264<br />
6265<br />
6266<br />
6267<br />
6268<br />
6269<br />
6270<br />
6271<br />
6272<br />
6273<br />
6274<br />
6275<br />
6276<br />
6277<br />
6278<br />
6279<br />
6280<br />
6281<br />
6282<br />
6283<br />
6284<br />
6285<br />
6286<br />
6287<br />
6288<br />
6289<br />
6290<br />
6291<br />
6292<br />
6293<br />
6294<br />
6295<br />
6296<br />
help-cmd = help-verb [help-options] [1*VCHAR *( tsep 1*VCHAR)] eol<br />
help-options = *(wait-option / common-options)<br />
load-cmd = load-verb [load-options] source-option [load-options] [target-Instance]<br />
eol<br />
load-cmd =/ load-verb (help-option / version-option) eol<br />
load-options = *(force-option / wait-option / common-options)<br />
reset-cmd = reset-verb [reset-options] [target-Instance] eol<br />
reset-options = *(force-option / wait-option / common-options)<br />
set-cmd = set-verb [set-options] [target-Instance / target-AssocSingleInstance]<br />
properties-assignValues eol<br />
set-options = *(force-option / wait-option / common-options)<br />
show-cmd = show-verb [level-option] [show-options] [level-option] [target-<br />
Instance] *(propertyName / property-selectValue) eol<br />
show-cmd =/ show-verb [show-options] [target-UFsT / target-Assoc] *(propertyName /<br />
property-selectValue) eol<br />
show-options = *(all-option / display-option / force-option / wait-option /<br />
common-options)<br />
start-cmd = start-verb [start-options] [target-Instance] eol<br />
start-options = *(force-option / wait-option / common-options)<br />
stop-cmd = stop-verb [stop-options] [target-Instance] eol<br />
stop-options = *(force-option / wait-option / common-options)<br />
version-cmd = version-verb [version-options] eol<br />
version-options = *(wait-option / common-options)<br />
;;<br />
;; OEM syntax:<br />
;;<br />
OEM-cmd<br />
= "OEM" eol<br />
OEM-verb<br />
= "OEM"<br />
OEM-target = tsep "OEM"<br />
OEM-options = tsep *(OEM-optionName [tsep OEM-optionArgs])<br />
OEM-optionName = "-OEM"<br />
OEM-optionArgs = "OEM"<br />
OEM-propertyName = tsep "OEM"<br />
;;<br />
;; Verb names:<br />
;;<br />
cd-verb = "cd" ; Note that ABNF strings are case-insensitive<br />
create-verb = "create"<br />
delete-verb = "delete"<br />
dump-verb = "dump"<br />
exit-verb = "exit"<br />
help-verb = "help"<br />
load-verb = "load"<br />
154 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6297<br />
6298<br />
6299<br />
6300<br />
6301<br />
6302<br />
6303<br />
6304<br />
6305<br />
6306<br />
6307<br />
6308<br />
6309<br />
6310<br />
6311<br />
6312<br />
6313<br />
6314<br />
6315<br />
6316<br />
6317<br />
6318<br />
reset-verb = "reset"<br />
set-verb<br />
= "set"<br />
show-verb = "show"<br />
start-verb = "start"<br />
stop-verb = "stop"<br />
version-verb = "version"<br />
;;<br />
;; Option names:<br />
;;<br />
all-optionName<br />
= "-a" ["ll"]<br />
destination-optionName = "-destination"<br />
display-optionName = "-d" ["isplay"]<br />
examine-optionName = "-x" / "-examine"<br />
force-optionName = "-f" ["orce"]<br />
help-optionName = "-h" ["elp"]<br />
keep-optionName = "-k" ["eep"]<br />
level-optionName = "-l" ["evel"]<br />
output-optionName = "-o" ["utput"]<br />
source-optionName = "-source"<br />
version-optionName = "-v" ["ersion"]<br />
wait-optionName = "-w" ["ait"]<br />
6319<br />
Version 1.0.2 155
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6320<br />
6321<br />
6322<br />
6323<br />
6324<br />
Annex B<br />
(informative)<br />
W3C Universal Resource Identifiers (URI)<br />
6325<br />
6326<br />
6327<br />
6328<br />
6329<br />
6330<br />
URIs are expected to be used as values for some keyword=value pairs, option arguments, and option<br />
argument values. For instance, an implementation may use a URI as a boot device as the location of the<br />
data source for applying a firmware image. The implementation is expected to validate the URI and<br />
ensure that the schema name included in the URI is valid for the given implementation. The CLP itself<br />
does not require any specific schema or enforce any specific URIs, but they are expected to adhere to<br />
334H9HRFC2396, 335H27HRFC2718, and 336H28HRFC2717.<br />
156 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6331<br />
6332<br />
6333<br />
6334<br />
6335<br />
Annex C<br />
(informative)<br />
W3C Extensible Markup Language (XML)<br />
6336<br />
6337<br />
6338<br />
6339<br />
6340<br />
The CLP supports generating XML output data (Extensible Markup Language [XML] 1.0, 3 rd edition), as<br />
well as keyword mode and modes for plain text output. XML was chosen as a supported output format<br />
due to its acceptance in the industry, establishment as a standard, and the need for Clients to import data<br />
obtained through the CLP into other applications. For more information on the XML output mode, see<br />
337H5.2.4.3.3.<br />
Version 1.0.2 157
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6341<br />
6342<br />
6343<br />
6344<br />
6345<br />
Annex D<br />
(informative)<br />
POSIX Utility Conventions<br />
6346<br />
6347<br />
6348<br />
6349<br />
6350<br />
6351<br />
6352<br />
6353<br />
6354<br />
6355<br />
6356<br />
6357<br />
6358<br />
6359<br />
6360<br />
6361<br />
6362<br />
6363<br />
6364<br />
6365<br />
6366<br />
6367<br />
6368<br />
6369<br />
6370<br />
6371<br />
6372<br />
6373<br />
6374<br />
6375<br />
6376<br />
6377<br />
6378<br />
6379<br />
6380<br />
6381<br />
6382<br />
The POSIX Utility Conventions (IEEE Std. 1003.1) were considered when defining the CLP syntax. The<br />
CLP syntax adheres to as many of the POSIX Utility Guidelines as are feasible, but it does not conform to<br />
the POSIX Utility Argument Syntax.<br />
The POSIX Utility Argument Syntax was found inappropriate for two reasons. First, it was imperative to<br />
have the command target term be deterministic in order to accommodate low-end implementations.<br />
Second, in order to provide a consistent, predictable mapping to the CIM Schema, the CLP syntax uses<br />
the convention that option terms apply to command verbs and parameter terms apply to the command<br />
target, using the "keyword=value" model.<br />
The CLP syntax compares to the thirteen POSIX Utility Guidelines as follows:<br />
Adhering to Guideline 1 is a goal of the CLP, because it is desirable to keep the verb names short.<br />
However, the adopted extensibility conventions imply that it is expected that any extensions will find it<br />
problematic to adhere to Guideline 1.<br />
The CLP syntax currently has no numbers in the commands, nor are verbs required to be entered only in<br />
lowercase. Therefore, a user or script that adheres to Guideline 2 could find CLP implementations<br />
compatible.<br />
The CLP allows both a short name form and long name form for option names. Therefore any human<br />
user or script that is accustomed to one-letter option names, as established in Guideline 3, will find CLP<br />
implementations compatible. Allowing whole word options not only allows scripts to be more readable, but<br />
allows a shorter learning curve of the CLP. The "W" option is not reserved by the CLP. CLP option names<br />
are case insensitive.<br />
The CLP adheres to Guideline 4: all CLP options are preceded by the ‘-‘ (hyphen) delimiter character.<br />
The CLP does not allow grouping of options behind a single hyphen and therefore does not adhere to<br />
Guideline 5. Most options require a parameter, and the decision to allow full-length option names<br />
eliminated the ability to adhere to this guideline.<br />
The CLP adheres to Guideline 6 and recognizes the space character as the command line term delimiter.<br />
The CLP adheres to Guideline 7: each option either always requires an argument or never requires an<br />
argument.<br />
The CLP recognizes the use of the comma character to separate items in a list in a single argument string<br />
for both options and properties and therefore adheres to Guideline 8 with one caveat. A comma character<br />
at the beginning or end of the option argument string is not inherently illegal and is command dependent.<br />
The CLP adheres to Guideline 9: the command line form is in the order of Verb, Option, Target, Property.<br />
The CLP does not recognize the "--" (hyphen hyphen) term as an "end of options" indicator, nor as a<br />
"long option" indicator (as is used in some UNIX utilities). Therefore, the CLP does not adhere to<br />
Guideline 10.<br />
The CLP allows options to be specified in any order, but it does not allow options to appear twice on any<br />
command line, nor does it allow mutually exclusive options or options that do not apply in the current<br />
context. Therefore, the CLP adheres to part of Guideline 11.<br />
158 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6383<br />
6384<br />
6385<br />
6386<br />
6387<br />
6388<br />
When examining Guideline 12, the CLP uses keyword=value pairs for operands that require assignment,<br />
and just keywords for operands that do not. Because these are often CIM Schema properties, they are<br />
not order dependent. Therefore, the positions of operands do not matter. This is true regardless of the<br />
CLP command.<br />
Guideline 13 is out of scope for the CLP. The CLP does not allow in-stream input and therefore has no<br />
need for an input operand.<br />
Version 1.0.2 159
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6389<br />
6390<br />
6391<br />
6392<br />
6393<br />
Annex E<br />
(informative)<br />
Conventions<br />
6394<br />
6395<br />
6396<br />
6397<br />
6398<br />
The terms "implicit" and "default" are used in this document to describe aspects of the protocol as follows:<br />
Functions or behaviors are defined to be "implicit" if those functions or behaviors are an integral part of<br />
the protocol definition and cannot be overridden by command or command options.<br />
Functions or behaviors are defined to be "default" if those functions or behaviors are assumed to be in<br />
effect unless overridden or specified by the user through a command or command option.<br />
6399<br />
160 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6400<br />
6401<br />
6402<br />
6403<br />
6404<br />
Annex F<br />
(informative)<br />
Notation<br />
6405<br />
6406<br />
6407<br />
6408<br />
6409<br />
6410<br />
6411<br />
6412<br />
Regular Expression (regex) and Augmented Backus-Naur Form (ABNF) are used in this document to<br />
describe various aspects of the SM CLP specification. A complete SM CLP grammar in ABNF is in<br />
338HAnnex A.<br />
For readability, this specification documents all verb, option, target, and property names in lowercase.<br />
When command option names have multiple, supported forms, each form is listed explicitly, separated by<br />
a comma. For example, the level command option has two acceptable forms: "-l" and "-level". The<br />
specification text lists these alternatives as "-l, -level".<br />
The following conventions are used to indicate specification elements:<br />
6413<br />
6414<br />
courier new<br />
italicized<br />
Used to indicate literal characters in the syntax expression and in examples.<br />
Used to indicate the type or description of data to be inserted.<br />
6415<br />
< > Used to indicate terms in an expression.<br />
6416<br />
Capitalization<br />
Used to indicate defined terms.<br />
6417<br />
6418<br />
6419<br />
6420<br />
6421<br />
6422<br />
6423<br />
6424<br />
6425<br />
Examples are provided for informative purposes and are shown using Courier New font. When the text<br />
provides an example of a CLP command and response, the CLP <strong>Command</strong> <strong>Line</strong> is emphasized using<br />
bold text. The command output is shown in regular text font.<br />
Examples are for information only. When an example contradicts specification text elsewhere in the<br />
document, the specification text is the authority. Examples are shown in this font and format. Each<br />
example consists of a description of the example, the CLP <strong>Command</strong> <strong>Line</strong> emphasized using bold text,<br />
and the <strong>Command</strong> Response in flat text. General rules and requirements for the <strong>Command</strong> Response are<br />
specified in 339H5.1.10. When examples do not include the output option with a format argument, it is<br />
assumed that session default format is that of the example.<br />
6426<br />
Version 1.0.2 161
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6427<br />
6428<br />
6429<br />
6430<br />
6431<br />
Annex G<br />
(informative)<br />
Change History<br />
Version 1.02 2007-02-19<br />
Formatted to conform to ISO/IEC<br />
Directives, Part 2: Rules for the<br />
structure and drafting of International<br />
Standards<br />
162 Version 1.0.2
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6432<br />
6433<br />
6434<br />
6435<br />
6436<br />
Annex H<br />
(informative)<br />
Acknowledgements<br />
6437<br />
6438<br />
6439<br />
6440<br />
6441<br />
6442<br />
6443<br />
6444<br />
6445<br />
6446<br />
6447<br />
6448<br />
6449<br />
6450<br />
6451<br />
The authors wish to acknowledge the following people.<br />
Editors:<br />
• Aaron Merkin, IBM<br />
• Perry Vincent, Intel<br />
Contributors:<br />
• Bob Blair, Newisys<br />
• Greg Dake, IBM<br />
• Jon Hass, Dell<br />
• Jeff Hilland, HP<br />
• Steffen Hulegaard, OSA Technologies<br />
• Arvind Kumar, Intel<br />
• Jeff Lynch, IBM<br />
• Christina Shaw, HP<br />
• Enoch Suen, Dell<br />
• Michael Tehranian, Sun<br />
6452<br />
Version 1.0.2 163
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
6453<br />
6454<br />
6455<br />
6456<br />
6457<br />
Annex I<br />
(informative)<br />
Bibliography<br />
6458<br />
6459<br />
6460<br />
6461<br />
6462<br />
6463<br />
6464<br />
6465<br />
6466<br />
6467<br />
6468<br />
6469<br />
6470<br />
6471<br />
6472<br />
6473<br />
6474<br />
6475<br />
6476<br />
6477<br />
6478<br />
6479<br />
6480<br />
6481<br />
6482<br />
6483<br />
6484<br />
6485<br />
15HIEEE Std 1003.1, "POSIX Utility Conventions", The Open Group Base <strong>Specification</strong>s Issue 6, 2004<br />
Edition<br />
World Wide Web Consortium (W3C), 16HExtensible Markup Language (XML) 1.0 (Third Edition), February<br />
2004<br />
IETF, 17HRFC4251, Secure Shell (SSH) <strong>Protocol</strong> Architecture, January 2006<br />
IETF, 18HRFC4253, Secure Shell (SSH) Transport Layer <strong>Protocol</strong>, January 2006<br />
IETF, 19HRFC4252, Secure Shell (SSH) Authentication <strong>Protocol</strong>, January 2006<br />
IETF, 20HRFC4254, Secure Shell (SSH) Connection <strong>Protocol</strong>, January 2006<br />
IETF, 21HRFC4250, Secure Shell (SSH) <strong>Protocol</strong> Assigned Numbers, January 2006<br />
IETF, 22HRFC0854, Telnet <strong>Protocol</strong> <strong>Specification</strong>, May 1983<br />
IETF, 23HRFC0855, Telnet Option <strong>Specification</strong>s, May 1983<br />
<strong>DMTF</strong>, 24HDSP4004, <strong>DMTF</strong> Release Process, version 1.6.0, January 2007<br />
OMG, 25HUnified Modeling Language (UML) from the Open <strong>Management</strong> Group (OMG)<br />
<strong>DMTF</strong>, 26HDSP2001, Systems <strong>Management</strong> Architecture for <strong>Server</strong> Hardware (SMASH) <strong>Command</strong> <strong>Line</strong><br />
<strong>Protocol</strong> (CLP) Architecture White Paper, version 1.0.1, October 2006<br />
IETF, 27HRFC2718, Guidelines for new URL Schemes, November 1999<br />
IETF, 28HRFC2717, Registration Procedures for URL Scheme Names, November 1999<br />
<strong>DMTF</strong>, 29HDSP0218, <strong>Server</strong> <strong>Management</strong> (SM) <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (CLP) Discovery Using the Service<br />
Location <strong>Protocol</strong> (SLP), version 1.0, 2005<br />
IETF, 30HRFC2821, Simple Mail Transfer <strong>Protocol</strong>, April 2001<br />
<strong>DMTF</strong>, 31HDSP0207, Web-Based Enterprise <strong>Management</strong> (WBEM) Universal Resource Identifier (URI)<br />
Mapping <strong>Specification</strong>, version 1.0, January 2006<br />
<strong>DMTF</strong>, 32HDSP0216, <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (CLP)-to-Common Information Model (CIM) Mapping<br />
<strong>Specification</strong>, version 1.0, 2005<br />
<strong>DMTF</strong>, 33HDSP0217, Systems <strong>Management</strong> Architecture for <strong>Server</strong> Hardware (SMASH) Implementation<br />
Requirements, version 1.0, 2005<br />
IETF, 34HRFC3629, UTF-8, a transformation format of ISO 10646, 2003<br />
164 Version 1.0.2