Post on 07-Jun-2020
transcript
1
Document Number: DSP0263 2
Date: 2012-08-28 3
Version: 1.0.0 4
Cloud Infrastructure Management Interface 5
(CIMI) Model and RESTful HTTP-based Protocol 6
An Interface for Managing Cloud Infrastructure 7
Document Type: Specification 8
Document Status: DMTF Standard 9
Document Language: en-US 10
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
2 DMTF Standard Version 1.0.0
Copyright Notice 11
Copyright © 2012 Distributed Management Task Force, Inc. (DMTF). All rights reserved. 12
DMTF is a not-for-profit association of industry members dedicated to promoting enterprise and systems 13 management and interoperability. Members and non-members may reproduce DMTF specifications and 14 documents, provided that correct attribution is given. As DMTF specifications may be revised from time to 15 time, the particular version and release date should always be noted. 16
Implementation of certain elements of this standard or proposed standard may be subject to third party 17 patent rights, including provisional patent rights (herein "patent rights"). DMTF makes no representations 18 to users of the standard as to the existence of such rights, and is not responsible to recognize, disclose, 19 or identify any or all such third party patent right, owners or claimants, nor for any incomplete or 20 inaccurate identification or disclosure of such rights, owners or claimants. DMTF shall have no liability to 21 any party, in any manner or circumstance, under any legal theory whatsoever, for failure to recognize, 22 disclose, or identify any such third party patent rights, or for such party’s reliance on the standard or 23 incorporation thereof in its product, protocols or testing procedures. DMTF shall have no liability to any 24 party implementing such standard, whether such implementation is foreseeable or not, nor to any patent 25 owner or claimant, and shall have no liability or responsibility for costs or losses incurred if a standard is 26 withdrawn or modified after publication, and shall be indemnified and held harmless by any party 27 implementing the standard from any and all claims of infringement by a patent owner for such 28 implementations. 29
For information about patents held by third-parties which have notified the DMTF that, in their opinion, 30 such patent may relate to or impact implementations of DMTF standards, visit 31 http://www.dmtf.org/about/policies/disclosures.php. 32
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 3
CONTENTS 33
Foreword ....................................................................................................................................................... 6 34
1 Scope .................................................................................................................................................... 8 35 1.1 Document structure ..................................................................................................................... 8 36 1.2 Document versioning scheme .................................................................................................... 8 37 1.3 Typographical conventions ......................................................................................................... 8 38
2 Normative references ............................................................................................................................ 9 39
3 Terms and definitions .......................................................................................................................... 10 40
4 HTTP-Based protocol .......................................................................................................................... 12 41 4.1 Introduction ............................................................................................................................... 12 42
4.1.1 XML namespaces ........................................................................................................ 13 43 4.1.2 URI space .................................................................................................................... 13 44 4.1.3 Media types .................................................................................................................. 13 45 4.1.4 Request headers.......................................................................................................... 13 46 4.1.5 Request query parameters .......................................................................................... 14 47 4.1.6 Response headers ....................................................................................................... 17 48
4.2 Protocol operations ................................................................................................................... 17 49 4.2.1 Common CRUD operations ......................................................................................... 18 50
4.3 OVF support .............................................................................................................................. 23 51
5 Model ................................................................................................................................................... 23 52 5.1 Resource wrappers ................................................................................................................... 23 53 5.2 Extensibility ............................................................................................................................... 24 54 5.3 Identifiers .................................................................................................................................. 24 55 5.4 Attribute constraints .................................................................................................................. 25 56 5.5 Data types and their serialization .............................................................................................. 26 57
5.5.1 boolean ........................................................................................................................ 26 58 5.5.2 dateTime ...................................................................................................................... 26 59 5.5.3 duration ........................................................................................................................ 26 60 5.5.4 integer .......................................................................................................................... 26 61 5.5.5 string ............................................................................................................................ 27 62 5.5.6 ref ................................................................................................................................. 27 63 5.5.7 map .............................................................................................................................. 27 64 5.5.8 structure ....................................................................................................................... 28 65 5.5.9 byte[] ............................................................................................................................ 28 66 5.5.10 URI ............................................................................................................................... 28 67 5.5.11 Arrays ........................................................................................................................... 29 68 5.5.12 Collections ................................................................................................................... 30 69 5.5.13 "Any" type ................................................................................................................... 33 70
5.6 Units .......................................................................................................................................... 33 71 5.7 Relationship semantics ............................................................................................................. 34 72 5.8 Operations ................................................................................................................................ 34 73 5.9 Alternative model formats ......................................................................................................... 34 74 5.10 Resources ................................................................................................................................. 34 75
5.10.1 Common attributes....................................................................................................... 34 76 5.11 Resource Metadata ................................................................................................................... 36 77
5.11.1 Attribute types .............................................................................................................. 39 78 5.11.2 Capabilities .................................................................................................................. 41 79 5.11.3 ResourceMetadata Collection ...................................................................................... 44 80
5.12 Cloud Entry Point ...................................................................................................................... 45 81 5.12.1 Operations ................................................................................................................... 50 82
5.13 System resources and relationships ......................................................................................... 50 83 5.13.1 System ......................................................................................................................... 50 84 5.13.2 System Collection ........................................................................................................ 64 85
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
4 DMTF Standard Version 1.0.0
5.13.3 System Template ......................................................................................................... 66 86 5.13.4 System Template Collection ........................................................................................ 70 87
5.14 Machine resources and relationships ....................................................................................... 71 88 5.14.1 Machine ....................................................................................................................... 72 89 5.14.2 Machine Collection....................................................................................................... 87 90 5.14.3 Machine Template ....................................................................................................... 88 91 5.14.4 Machine Template Collection ...................................................................................... 94 92 5.14.5 Machine Configuration ................................................................................................. 94 93 5.14.6 Machine Configuration Collection ................................................................................ 96 94 5.14.7 Machine Image ............................................................................................................ 97 95 5.14.8 Machine Image Collection ......................................................................................... 100 96 5.14.9 Credential ................................................................................................................... 100 97 5.14.10 Credential Collection .................................................................................................. 102 98 5.14.11 Credential Template................................................................................................... 102 99 5.14.12 Credential Template Collection .................................................................................. 103 100
5.15 Volume resources and relationships ....................................................................................... 104 101 5.15.1 Volume ....................................................................................................................... 104 102 5.15.2 Volume Collection ...................................................................................................... 108 103 5.15.3 Volume Template ....................................................................................................... 109 104 5.15.4 Volume Template Collection ...................................................................................... 111 105 5.15.5 Volume Configuration ................................................................................................ 112 106 5.15.6 Volume Configuration Collection ............................................................................... 114 107 5.15.7 Volume Image ............................................................................................................ 114 108 5.15.8 Volume Image Collection ........................................................................................... 116 109
5.16 Network resources and relationships ...................................................................................... 116 110 5.16.1 Network ...................................................................................................................... 117 111 5.16.2 Network Collection ..................................................................................................... 122 112 5.16.3 Network Template ...................................................................................................... 123 113 5.16.4 Network Template Collection ..................................................................................... 125 114 5.16.5 Network Configuration ............................................................................................... 125 115 5.16.6 Network Configuration Collection .............................................................................. 127 116 5.16.7 Network Port .............................................................................................................. 128 117 5.16.8 Network Port Collection ............................................................................................. 132 118 5.16.9 Network Port Template .............................................................................................. 132 119 5.16.10 Network Port Template Collection ............................................................................. 134 120 5.16.11 Network Port Configuration ........................................................................................ 135 121 5.16.12 Network Port Configuration Collection ....................................................................... 136 122 5.16.13 Address ...................................................................................................................... 137 123 5.16.14 Address Collection ..................................................................................................... 139 124 5.16.15 Address Template ...................................................................................................... 139 125 5.16.16 Address Template Collection ..................................................................................... 141 126 5.16.17 Forwarding Group ...................................................................................................... 142 127 5.16.18 Forwarding Group Collection ..................................................................................... 144 128 5.16.19 Forwarding Group Template ...................................................................................... 145 129 5.16.20 Forwarding Group Template Collection ..................................................................... 146 130
5.17 Monitoring resources and relationships .................................................................................. 146 131 5.17.1 Job ............................................................................................................................. 147 132 5.17.2 Job Collection ............................................................................................................ 151 133 5.17.3 Meter .......................................................................................................................... 152 134 5.17.4 Meter Collection ......................................................................................................... 157 135 5.17.5 Meter Template .......................................................................................................... 157 136 5.17.6 Meter Template Collection ......................................................................................... 158 137 5.17.7 Meter Configuration ................................................................................................... 159 138 5.17.8 Meter Configuration Collection .................................................................................. 161 139 5.17.9 Event Log ................................................................................................................... 162 140 5.17.10 Event Log Collection .................................................................................................. 165 141
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 5
5.17.11 Event Log Template ................................................................................................... 165 142 5.17.12 Event Log Template Collection .................................................................................. 166 143 5.17.13 Event .......................................................................................................................... 167 144
6 Security considerations ..................................................................................................................... 174 145
ANNEX A (normative) OVF support in CIMI ........................................................................................... 175 146
ANNEX B (informative) XML Schema ..................................................................................................... 177 147
ANNEX C (informative) Change log ........................................................................................................ 178 148
149
Figures 150
Figure 1 - Cloud Entry Point ........................................................................................................................ 45 151
Figure 2 - System resources ....................................................................................................................... 50 152
Figure 3 - Machine resources ..................................................................................................................... 72 153
Figure 4 - Volume resources ..................................................................................................................... 104 154
Figure 5 - Network resources .................................................................................................................... 117 155
Figure 6 - Monitoring resources ................................................................................................................ 147 156
157
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
6 DMTF Standard Version 1.0.0
Foreword 158
The Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol 159 specification (DSP0263) was prepared by the DMTF Cloud Management Working Group. It defines a 160 logical model for the management of resources within the Infrastructure as a Service domain. 161
DMTF is a not-for-profit association of industry members dedicated to promoting enterprise and systems 162 management and interoperability. 163
Acknowledgments 164
The DMTF acknowledges the following individuals for their contributions to this document: 165
Editors: 166
Davis, Doug - IBM 167
Pilz, Gilbert - Oracle 168
Contributors: 169
Ali, Ghazanfar - ZTE Corporation 170
Andreou, Marios - Red Hat 171
Bankston, Keith - Microsoft Corporation 172
Bumpus, Winston - VMware Inc. 173
Burkhart, Nathan - Microsoft Corporation 174
Carlson, Mark - Oracle 175
Carter, Steve - Novell 176
Chu, Junsheng - ZTE Corporation 177
Cohen, Josh - Microsoft Corporation 178
Coleman, Derek - Hewlett-Packard Company 179
Crandall, John - Brocade Communications Systems 180
Davis, Doug - IBM 181
Davis, Jim - WBEM Solutions 182
de la Iglesia, Fernando - Telefónica 183
Dempo, Hiroshi - NEC Corporation 184
Durand, Jacques - Fujitsu 185
Edery, Yigal - Microsoft Corporation 186
Ericson, George - EMC 187
Evans, Colleen - Microsoft Corporation 188
Floeren, Norbert - Ericsson AB 189
Freund, Robert - Hitachi, Ltd. 190
Galán, Fermín - Telefónica 191
Gopalan, Krishnan - Microsoft Corporation 192
Iwasa, Kazunori - Fujitsu 193
Johnson, Mark - IBM 194
Khasnabish, Bhumip - ZTE Corporation 195
Kowalski, Vincent - BMC Software 196
Krishnaswamy, Ruby - France Telecom Group 197
Lamers, Lawrence - VMware Inc. 198
Lipton, Paul - CA Technologies 199
Livingston, James - NEC Corporation 200
Lubsey, Vince - Virtustream Inc. 201
Lutterkort, David - Red Hat 202
Maciel, Fred - Hitachi, Ltd. 203
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 7
Maier, Andreas - IBM 204
Malhotra, Ashok - Oracle 205
Mischkinsky, Jeff - Oracle 206
Molina, Jesus - Fujitsu 207
Moscovich, Efraim - CA Technologies 208
Murray, Bryan - Hewlett-Packard Company 209
Neely, Steven - Cisco 210
Ogawa, Ryuichi - NEC Corporation 211
Parchem, John - Microsoft Corporation 212
Pardikar, Shishir - Citrix Systems Inc. 213
Peñalvo, Miguel - Telefónica 214
Pilz, Gilbert - Oracle 215
Polo, Alvaro - Telefónica 216
Ronco, Enrico - Telecom Italia 217
Rossini, Federico - Telecom Italia 218
Rutkowski, Matthew - IBM 219
Rutt, Tom - Fujitsu 220
Shah, Hemal - Broadcom 221
Shah, Nihar - Microsoft Corporation 222
Sill, Alan - Texas Tech University 223
Song, Zhexuan - Huawei 224
Song, Zhexuan - Fujitsu 225
Waschke, Marvin - CA Technologies 226
Wells, Eric - Hitachi, Ltd. 227
Wheeler, Jeff - Huawei 228
Wiggers, Maarten - Fujitsu 229
Winkler, Steve - SAP AG 230
Yu, Jack - Oracle 231
Zhang, Aaron - Huawei 232
Zhang, HengLiang - Huawei 233
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
8 DMTF Standard Version 1.0.0
Cloud Infrastructure Management Interface (CIMI) Model and 234
RESTful HTTP-based Protocol 235
1 Scope 236
This specification describes the model and protocol for management interactions between a cloud 237 Infrastructure as a Service (IaaS) Provider and the Consumers of an IaaS service. The basic resources of 238 IaaS (machines, storage, and networks) are modeled with the goal of providing Consumer management 239 access to an implementation of IaaS and facilitating portability between cloud implementations that 240 support the specification. This document specifies a Representational State Transfer (REST)-style 241 protocol using HTTP. However, the underlying model is not specific to HTTP, and it is possible to map it 242 to other protocols as well. 243
CIMI addresses the management of the lifecycle of infrastructure provided by a Provider. CIMI does not 244 extend beyond infrastructure management to the control of the applications and services that the 245 Consumer chooses to run on the infrastructure provided as a service by the Provider. Although CIMI may 246 be to some extent applicable to other cloud service models, such as Platform as a Service ("PaaS") or 247 Storage as a Service ("SaaS"), these uses are outside the design goals of CIMI. 248
1.1 Document structure 249
This document defines a model and a RESTful HTTP-based protocol. 250
The core REST patterns are defined first and, after each resource is defined, any HTTP-specific 251 information for that resource will be specified. 252
1.2 Document versioning scheme 253
This document will adhere to the versioning scheme defined in clause 6.3 of DSP4004. 254
1.3 Typographical conventions 255
This specification uses the following conventions inside tables describing the resource data model: 256
Resource names, and any other name that is usable as a type (i.e., names of embedded 257 structures as well as atomic types such as "integer", "string"), are in italic. 258
Attribute names are in regular font. 259
Names that are just placeholders for actual names that may vary with each model instance, are 260 between < > (e.g., <componentTemplate>). 261
In addition, this specification uses the following syntax to define the serialization of resources: 262
Values in italics indicate data types instead of literal values. 263
Characters are appended to items to indicate cardinality: 264
– "?" (0 or 1) 265
– "*" (0 or more) 266
– "+" (1 or more) 267
Vertical bars, "|", denote choice. For example, "a|b" means a choice between "a" and "b". 268
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 9
Parentheses, "(" and ")", are used to indicate the scope of the operators "?", "*", "+" and "|". 269
Ellipses (i.e., "...") indicate points of extensibility. Note that the lack of an ellipses does not mean 270 no extensibility point exists, rather it is just not explicitly called out - usually for the sake of 271 brevity. 272
2 Normative references 273
The following referenced documents are indispensable for the application of this document. For dated or 274 versioned references, only the edition cited (including any corrigenda or DMTF update versions) applies. 275
DMTF DSP0223, Generic Operations 1.0, 276 http://www.dmtf.org/standards/published_documents/DSP0223_1.0.pdf 277
DMTF DSP0243, Distributed Management Task Force, Inc., Open Virtualization Format Specification 1.1, 278 http://www.dmtf.org/sites/default/files/standards/documents/DSP0243_1.1.pdf 279
DMTF DSP1001, Management Profile Specification Usage Guide 1.1, 280 http://www.dmtf.org/standards/published_documents/DSP1001_1.1.pdf 281
DMTF DSP4004, Distributed Management Task Force, Inc., DMTF Release Process 2.4, 282 http://www.dmtf.org/sites/default/files/standards/documents/DSP4004_2.4.pdf 283
IANA HTTP Header Registry, http://www.iana.org/assignments/message-headers/perm-headers.html 284
IEC 80000-13:2008, International Organization for Standardization, Geneva, Switzerland, Quantities and 285 units – Part 13: Information science and technology, April 2008, 286 http://www.iso.org/iso/catalogue_detail?csnumber=31898 287
IETF RFC2616, R. Fielding et al, Hypertext Transfer Protocol -- HTTP/1.1, 288 http://www.ietf.org/rfc/rfc2616.txt 289
IETF RFC2617, J. Franks et al, HTTP Authentication: Basic and Digest Access Authentication, June 290 1999, http://www.ietf.org/rfc/rfc2617.txt 291
IETF RFC2246, T. Dierks and C. Allen, The TLS Protocol Version 1.0, January 1999, 292 http://www.ietf.org/rfc/rfc2246.txt 293
IETF RFC3986, T.Berners-Lee et al, Uniform Resource Identifiers (URI): Generic Syntax, August 1998, 294 http://www.ietf.org/rfc/rfc3986.txt 295
IETF RFC4346, T. Dierks and E. Rescorla, The Transport Layer Security (TLS) Protocol Version 1.1, April 296 2006, http://www.ietf.org/rfc/rfc4346.txt 297
IETF RFC4627, D. Crockford, The application/json Media Type for JavaScript Object Notation (JSON), 298 July 2006, http://www.ietf.org/rfc/rfc4627.txt 299
IETF RFC5246, T. Dierks and E. Rescorla, The Transport Layer Security (TLS) Protocol Version 1.2, 300 http://www.ietf.org/rfc/rfc5246.txt 301
ISO 8601:20044, International Organization for Standardization, Geneva, Switzerland, Data elements and 302 interchange formats -- Information interchange - - Representation of dates and times, March 2008, 303 http://www.iso.org/iso/iso_catalogue/ catalogue_tc/catalogue_detail.htm?csnumber=40874 304
ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards, 305 http://isotc.iso.org/livelink/livelink.exe?func=ll&objId=4230456&objAction=browse&sort=subtype 306
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
10 DMTF Standard Version 1.0.0
ITU-T X.509, Telecommunication Standardization Sector of ITU, Information technology - Open Systems 307 Interconnection - The Directory: Public- key and attribute certificate frameworks, November 2008, 308 http://www.itu.int/rec/T-REC-X.509-200811-I 309
NIST Special Publication 800-145, Peter Mell and Timothy Grance, The NIST Definition of Cloud 310 Computing, Sept. 2011, http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf 311
NIST Special Publication 500-292, Fang Liu, Jin Tong, Jian Mao, Robert Bohn, John Messina, Lee 312 Badger and Dawn Leaf, NIST Cloud Computing Reference Architecture, Sept. 2011, 313 http://collaborate.nist.gov/twiki-cloud-314 computing/pub/CloudComputing/ReferenceArchitectureTaxonomy/NIST_SP_500-292_-_090611.pdf 315
NIST Special Publication 800-57, Elaine Barker et al, Recommendation for Key Management – Part 1: 316 General (Revised), March 2007, 317 http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57-Part1-revised2_Mar08-2007.pdf 318
NIST Special Publication 800-131A, Elaine Barker and Allen Roginsky, Transitions: Recommendation for 319 Transitioning the Use of Cryptographic Algorithms and Key Lengths, January 2011, 320 http://csrc.nist.gov/publications/nistpubs/800-131A/sp800-131A.pdf 321
Representational State Transfer, Roy Fielding, Doctoral dissertation, University of California, Architectural 322 Styles and the Design of Network-based Software Architectures (Chapter 5), 2000, 323 http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm 324
XMLSchema - Part 1, World Wide Web Consortium (W3C) Recommendation, H. Thompson, et al., 325 Editors, XML Schema Part 1: Structures Second Edition, 28 October 2004, 326 http://www.w3.org/TR/xmlschema-1/ 327
XMLSchema - Part 2, World Wide Web Consortium (W3C) Recommendation, P. Biron, A. Malhotra, 328 Editors, XML Schema Part 2: Datatypes (Second Edition), 28 October 2004, 329 http://www.w3.org/TR/xmlschema-2/ 330
3 Terms and definitions 331
In this document, some terms have a specific meaning beyond the normal English meaning. Those terms 332 are defined in this clause. 333
The terms "shall" ("required"), "shall not," "should" ("recommended"), "should not" ("not recommended"), 334 "may," "need not" ("not required"), "can" and "cannot" in this document are to be interpreted as described 335 in ISO/IEC Directives, Part 2, Annex H. The terms in parenthesis are alternatives for the preceding term, 336 for use in exceptional cases when the preceding term cannot be used for linguistic reasons. Note that 337 ISO/IEC Directives, Part 2, Annex H specifies additional alternatives. Occurrences of such additional 338 alternatives shall be interpreted in their normal English meaning. 339
The terms "clause," "subclause," "paragraph," and "annex" in this document are to be interpreted as 340 described in ISO/IEC Directives, Part 2, Clause 5. 341
The terms "normative" and "informative" in this document are to be interpreted as described in ISO/IEC 342 Directives, Part 2, Clause 3. In this document, clauses, subclauses, or annexes labeled "(informative)" do 343 not contain normative content. Notes and examples are always informative elements. 344
The terms defined in DSP4004, DSP0223, and DSP1001 apply to this document. The following additional 345 terms are used in this document. 346
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 11
3.1 347
authentication 348
The process of verifying a claim, made by a subject, that it should be allowed to act on behalf of a given 349 principal (person, service, etc.). Typical authentication mechanisms involve the use of 350 username/password combination or public/private key pairs. 351
3.2 352
authorization 353
(also known as Access Control) The process of verifying that an authenticated principal (person, service, 354 etc.) has permission to perform certain operations (e.g., read, update) on specific resources. 355
3.3 356
cloud 357
Synonymous with “cloud computing” as defined in section 2 of the NIST Definition of Cloud Computing 358 [SP800-145]. 359
3.4 360
Cloud Service Consumer 361
A category of actors that includes the Consumer Business Manager (who approves business and 362 financial expenditures for consumed services; accounts for used service instances; establishes business 363 relationships; sets up accounts, budget, and terms; etc.); the Consumer Service Administrator (who 364 requests service instances and changes to service instances; purchases services within the business 365 relationship; creates Service Users (including policies); allocates resources, such as computer and 366 storage; generates reports, such as usage; etc.); and Service Users (who use service instances provided 367 by a Cloud Service Provider). The term "Consumer" is used when the indicated action or activity could 368 involve one or more of the above actors. In cases where the distinction between the actors in this 369 category is relevant, the more detailed term will be used. 370
For purposes of comparison and alignment, it should be noted that a Cloud Service Consumer is 371 equivalent to the “Cloud Consumer” actor defined in the NIST Reference Architecture [SP500-292]. 372
3.5 373
Cloud Service Provider 374
A category of actors that includes the Service Operations Manager (who manages the technical 375 infrastructure required for providing cloud services; monitors and measures performance and utilization 376 against SLAs; provides reports from monitoring and measurement; etc.); Service Business Manager (who 377 offers all types of services developed by cloud service developers; accounts for services potentially 378 offered by service Providers themselves and services offered on behalf of cloud service developers; 379 establishes a portfolio of business relationships; and sets up accounts and terms for Consumers, etc.); 380 and Service Transition Manager (who enables a customer to use the cloud service, including 381 "onboarding", integration, and process adoption; defines and creates service offerings based on 382 Templates and Configurations that can be used by Consumers and are populated into the catalog; etc.). 383 The term "Provider" is used when the indicated action or activity could involve one or more of the above 384 actors. In cases where the distinction between the actors in the category is relevant, the more detailed 385 term will be used. 386
For purposes of comparison and alignment, it should be noted that a Cloud Service Provider is equivalent 387 to the “Cloud Provider” actor defined in the NIST Reference Architecture [SP500-292]. 388
3.6 389
configuration 390
A Configuration is a set of metadata, the values of which serve as the parameters of a discrete 391 conformation of a specific type of virtual resource. For example, a Machine Configuration may define a 392 Machine with the equivalent of a 2.66 GHz processor, 4 GB of memory, and 320 GB of local disk storage. 393
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
12 DMTF Standard Version 1.0.0
3.7 394
Infrastructure as a Service (IaaS) 395
A cloud computing service model defined in section 2 of the NIST Definition of Cloud Computing [SP800-396 145]. 397
3.8 398
message confidentiality 399
A quality of a message that prevents anyone but the intended receiver(s) from viewing its contents. 400
3.9 401
message integrity 402
A quality of a message that allows a receiver of that message to determine whether the contents of the 403 message have been altered since its creation. 404
3.10 405
Template 406
A Template is the resource that represents the set of metadata and instructions used to instantiate 407 resources (e.g., a Machine Template is used to create Machines). Templates may aggregate other 408 metadata resources such as other Templates, Configurations and Images. For example, a Machine 409 Template refers to a Machine Configuration and a Machine Image. 410
How a specific protocol mapping, or implementation, chooses to supply Templates as inputs to the 411 instantiation process may vary. However, some common patterns should be considered: 412
1. By reference - allow Consumers to reference a Template (that exists as a resource in the 413 Provider) as part of the instantiation operation. 414
2. By value - allow Consumers to dynamically provide the Template information as part of the 415 instantiation operation. 416
3. Reference with overrides - allow Consumers to reference a Template (that exists as a resource in 417 the Provider) and provide additional values that override the attributes of that Template as part of 418 the instantiation operation. 419
4 HTTP-Based protocol 420
4.1 Introduction 421
All operations are based on the HyperText Transfer Protocol (HTTP), version 1.1 [RFC2616]. Each 422 request is sent using an HTTP verb such as PUT, GET, DELETE, HEAD, or POST and includes a 423 message body in either JSON or XML format. Each response uses a standard HTTP status code, whose 424 semantics are interpreted in the context of the particular request that was made. Each resource in the 425 model has a MIME type that further contextualizes the payload of requests and responses. 426
Resources in the model are identified by URIs, and each resource's representation shall contain an "id" 427 attribute, of type URI, that acts as a "self pointer.” This URI shall be unique within the context of the 428 Provider's implementation. Dereferencing (via an HTTP GET) the URI of an resource will yield a 429 representation of the resource containing attributes and links to associated resources. To begin 430 operations, a client shall know the URI to the main entry point of a Provider - also known as the "Cloud 431 Entry Point" resource. All other resources within the environment shall then be discoverable via the 432 iterative following of links to associated resource within each resource retrieved. 433
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 13
4.1.1 XML namespaces 434
The following table lists the XML namespaces that are used in this specification. The choice of any 435 namespace prefix is arbitrary and not semantically significant. 436
Prefix XML Namespaces Specification
cimi http://schemas.dmtf.org/cimi/1 This specification
xs http://www.w3.org/2001/XMLSchema XML Schema Part2
4.1.2 URI space 437
While URIs returned by Providers are to be treated as opaque by Consumers, and Consumers shall not 438 make assumptions about the layout of the URIs or the structures of the URIs for the resources, Consumer 439 may augment URIs with any well-defined query parameters that are supported by the Provider as defined 440 in clause 4.1.5. Providers shall not use the CIMI-defined query parameter reserved namespace (i.e., 441 names starting with "CIMI"). 442
4.1.3 Media types 443
In this specification, resource and response representations are encoded either in JSON, as specified in 444 RFC4627 or in XML. When serialized in JSON, the media-type for CIMI resources shall be 445 "application/json." When serialized in XML the media-type shall be "application/xml." 446
In the JSON serialization of CIMI representations sent by Providers there shall be an additional attribute 447 on the root object called "resourceURI" that will contain the unique URI that is associated with the type of 448 CIMI resource being serialized. This attribute is optional for Consumers to include. When included, this 449 attribute's value shall match the "typeURI" attribute of the corresponding ResourceMetadata resource 450 (see clause 5.11), if ResourceMetadata is supported. This value shall also be equivalent to the wrapping 451 element of the XML serialization; in other words, the namespace of the wrapper element concatenated a 452 "/" and then its localName. 453
The server implementation shall provide representations of all resources available in both JSON and XML 454 as specified herein. The client implementation may thus use either JSON or XML in requests with any 455 server implementation, and may request a specific serialization using server-driven content negotiation 456 (using the Accept request header). 457
4.1.4 Request headers 458
This specification uses general-header, request-header, and entity-header headers as defined in 459 RFC2616 in request messages to provide metadata about the message. Applications using messages 460 defined in this specification shall use headers consistent with the requirements of RFC2616. 461
In addition to headers defined in RFC2616, request messages may include a header defined by this 462 specification to indicate the set of allowable versions of the CIMI API that the server shall use to process 463 the message. 464
CIMI-Specification-Version = "CIMI-Specification-Version" ":" api-version(s) 465
For example: 466
CIMI-Specification-Version=1.0 467
The header allows for a list of api-version values to be specified (separated by commas) and to be 468 presented in descending order according to the client's preference. When more than one value is present 469 the server shall choose the preferred one from those versions of the specification to process the 470 message. Clients including more than one value are indicating that any of the specified values are 471 acceptable. 472
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
14 DMTF Standard Version 1.0.0
Per DSP4004, the "api-version" string is made up of three parts: m.n.u (major.minor.update). When 473 present in this header, it shall include at least the major and minor (m.n) version numbers. It may also 474 include the "update" portion of the version if necessary. Absence of the "update" portion of the "api-475 version" string implies that any "update" version of that major.minor version of the specification is 476 acceptable to the client. 477
If the server is unable to support any of the specified versions, it shall generate a fault and not process 478 the message. Absence of this header indicates that the server may choose any version of this 479 specification to process the message. 480
4.1.5 Request query parameters 481
Providers may choose to include query parameters as part of the URIs returned to Consumers. 482 Consumers shall include those query parameters when sending messages to those URIs. If Providers 483 choose to define query parameters care should be taken to avoid conflicts with CIMI defined query 484 parameters. 485
To modify the behavior of the Provider when processing request messages, Consumers may augment 486 request URIs as described in the following clauses. 487
Unsupported, or unknown, query parameters shall be silently ignored by Providers. Consumer may 488 examine the CloudEntryPoint's capabilities to determine whether support of these query parameters is 489 enabled. 490
4.1.5.1 Filtering collections 491
When retrieving the representation of a collection, Consumers may include the $filter query parameter to 492 reduce the number of entries of the collection that are returned based on the data within the entries of the 493 collection. The $filter parameter shall be of the form: 494
?$filter=expression 495
Where "expression" represents a mathematical expression denoting how the top-level attributes of the 496 resources within the collection shall be filtered. The expression is defined by the following EBNF 497 grammar: 498
Filter ::= AndExpr ( 'or' Filter )* ; 499 AndExpr ::= Comp ( 'and' AndExpr )* 500 Comp ::= Attribute Op Value 501 | Value Op Attribute 502 | '(' Filter ')' 503 Op ::= '<' | '<=' | '=' | '>=' | '>' | '!=' 504 Attribute ::= ? resource attribute name ? 505 | PropExpr 506 Value ::=IntValue | DateValue | StringValue | BoolValue 507 IntValue ::= /[0-9]+/ 508 DateValue ::= ? as defined by XML Schema ? 509 StringValue ::= "..." | '...' 510 BoolValue ::= 'true' | 'false' 511 PropExpr ::= 'property[' StringValue ']' Op StringValue 512
Where "PropExpr" is used to find resources that contain a property with a certain key/value combination. 513 Where the "key" is the "StringValue" within the square brackets ( [ ] ) and the "value" is the "StringValue" 514 after the "Op". The resource shall be considered to satisfy the search criteria if any of the properties in the 515 resources match the specified "PropExpr". 516
Each of these shall be percent encoded in the URL as appropriate. 517
The choice of which operator (including 'and' and 'or') is limited based on the type of the value and 518 attribute. The following describes the allowable operators: 519
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 15
'or', 'and' : Boolean value/attribute 520 '<', '<=', '=', '>=', ">', '!=' : Integer and date value/attribute 521 '=', '!=' : String value/attribute 522
Consumer may include multiple filters within a single URI. Provider shall treat multiple filters as a series of 523 "and" expressions where an entry of the collection shall only be included in the response message if it 524 satisfies all of the filter expressions specified. 525
Examples: 526
In the following examples the following sample base URIs are used: 527
/machines is the URI to the Machines Collection 528
/machines/123 is the URI to a Machine 529
/machines/123/disks is the URI to the DiskCollection of a Machine 530
/machines/123/volumes is the URI to the MachineVolumeCollection of a Machine 531
To filter the "Machines Collection" so that just Machines with a "name" attribute of "mine" are returned, 532 the following filter would be used: 533
GET /machines?filter=name='mine' 534
To filter a "DiskCollection" of a Machine so that just Disks with a format of "ntfs" are returned, the 535 following filter would be used: 536
GET /machines/123/disks?filter=format='ntfs' 537
When $filter is used, the collection's "count" attribute shall contain the number of resources matching the 538 filter expression. 539
4.1.5.2 Subsetting Collections 540
When retrieving the representation of a collection, Consumers may include query parameters to subset 541 the number of entities of the collection that are returned. While the previous clause discussed how to 542 perform a filter over the data within the collection, this clause uses ordinal position within the collection to 543 achieve the desired reduction. 544
This specification defined two query parameters that, when used, shall indicate the first and last ordinal 545 positions of the entities within the collection that are returned. The query parameters shall be of the form: 546
?$first=number 547 ?$last=number 548
Where "$first" indicates the (1-based) ordinal position of the first entity of the collection to return. And 549 "$last" indicates the (1-based) ordinal position of the last entity of the collection to return. Consumer are 550 not required to use both at the same time. When $first is specified but $last is not, then the implied value 551 for $last shall be the ordinal position of the last entity in the collection. Conversely, when $last is specified 552 but $first is not, the implied value for $first shall be 1. 553
When either $first or $last are specified, and a filter expression (as defined in clause 4.1.5.1) is also 554 specified, then the filter expression shall be performed first and then the ordinal constraints of $first and 555 $last shall be applied. 556
4.1.5.3 Subsetting resources 557
The $select query parameter may be used to specify a subset of a resource to be acted upon. This has 558 the semantic equivalence of referencing a different resource whose attributes are a subset of the original 559 resource. The format of a $select query parameter is: 560
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
16 DMTF Standard Version 1.0.0
?$select=attributeName,... 561
The value of the $select query parameter shall be a comma separated list of top-level attribute names of 562 the resource. Any attribute name erroneously appearing in the list that is not part of the resource shall be 563 ignored by the Provider. An attribute name of "*" is equivalent to specifying all of the attributes of the 564 resource. Any attribute name explicitly appearing more than once in a URI shall have its second (and 565 subsequent) appearances ignored. 566
The $select query parameter may appear more than once in a URI that is semantically equivalent to all of 567 the attribute names appearing as values of a single $select query parameter. For example: 568
?$select=name&$select=state 569
is equivalent to: 570
?$select=name,state 571
The order of attribute names in the $select query parameter is not relevant for serialization purposes. The 572 attributes will be serialized per the serialization rules/order as specified by the resource definition. 573
For example, to subset the list of Machine attributes being acted upon to just the "name" and 574 "description", the following query parameter would be used: 575
?$select=name,description 576
See clause 4.2.1.3.1 for more information on the impact of using this query parameter when updating a 577 resource. 578
When $select is used in the URI for a collection resource, the subsettings applies to the attributes of the 579 entities of the collection rather than to the collection resource itself. For example, when retrieving the 580 DiskCollection, the following query parameter: 581
?$select=id,format 582
would return a collection of the Disks associated with a Machine but each entity of the collection would 583 just have the "id" and "format" attributes and nothing else, not even the "operations" or "id" attributes. 584
4.1.5.4 Expanding references 585
The $expand query parameter may be used during the retrieval of a resource to specify which of the top-586 level "reference" attributes of a resource will be "expanded". To "expand" a reference means that the 587 attributes of the resource being referenced shall be included in the serialization of that attribute. This 588 feature allows for a more optimized retrieval of resources. 589
The serialization shall be performed as follows: 590
JSON serialization: 591
"name": { "href": string } 592
shall be expanded to be: 593
"name": { 594 "href": string, 595 ... attributes of referenced resource... 596 } 597
XML serialization: 598
<name href="xs:anyURI"/> 599
shall be expanded to be: 600
<name href="xs:anyURI"> 601
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 17
... attributes of the referenced resource... 602 </name> 603
Note that in the XML case the nested elements shall not contain the wrapper element of the referenced 604 resource (e.g., <Machine> in the case of a reference to a Machine resource). 605
The format of a $expand query parameter shall be: 606
?$expand=attributeName,... 607
The value of the $expand query parameter is a comma separated list of attribute names. Any attribute 608 name erroneously appearing in the list that is not part of the resource, or is not a reference, shall be 609 ignored by the Provider. An attribute name of "*" is equivalent to specifying all of the attributes. Any 610 attribute name explicitly appearing more than once in a URI shall have its second (and subsequent) 611 appearances ignored. 612
The $expand query parameter may appear more than once in a URI, which is semantically equivalent to 613 all of the attribute names appearing as values of a single $expand query parameter. 614
When resource being retrieved is a collection, the attribute names listed in the $expand shall apply to the 615 attributes of the entities within the collection. For example, specifying: 616
?$expand=volumes 617
when retrieving the Machine Collection shall have the same net effect as applying the "expand" semantics 618 to the specified attribute ("volumes" in this example) of each Machine within the collection. To be clear, 619 $expand acts on the attributes of the resources in the collection, not on the wrapping collection resource 620 itself. 621
4.1.6 Response headers 622
As defined in RFC2616, this specification uses general-header, response-header, and entity-header 623 headers in response messages to provide metadata about the message. Applications that use messages 624 defined in this specification shall use headers consistent with the IANA HTTP Header Registry. 625
In addition to headers defined in RFC2616, response messages shall include a header defined by this 626 specification to indicate the version of the CIMI API that the server used to process the message. 627
CIMI-Specification-Version = "CIMI-Specification-Version" ":" api-version 628
See clause 4.1.4 for more details on this header. 629
Additionally, if the server supports the Job resource, response messages shall include a header defined 630 by this specification to indicate the URI for the job created to process the associated request message. 631
CIMI-Job-URI = "CIMI-Job-URI" ":" string 632
In cases where an error occurs during the processing of a request, the Provider shall include a 633 representation of a Job resource describing the status of the failed operation. This representation of a Job 634 shall be included even in cases where the Provider does not normally support Job resources to ensure 635 that Consumers are provided with sufficient information, in a consistent manner, as to the reason for the 636 failure regardless of whether the Provider supports Jobs. When Jobs are not supported in general, any of 637 the references in the Job representation (e.g., "id" or the "href" for nestedJobs) shall be empty paths (i.e., 638 "") and the "nestedJobs" array shall be expanded (see 4.1.5.4) to inline the representation of the pseudo 639 subordinate Jobs. 640
4.2 Protocol operations 641
This clause defines the set of common HTTP operations that a Provider might expose. At its core there 642 are four basic CRUD (Create, Read, Update, and Delete) operations. The manner in which these are 643 used is consistent across all resources within the model; therefore, their use is defined once and is to be 644
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
18 DMTF Standard Version 1.0.0
applied consistently. Some resources support specialized operations that do not fit well into a CRUD style 645 of operation and those will all follow a similar high-level pattern but each operation is allowed to have 646 slight variations to accommodate its specific needs. The specifics of these special operations are detailed 647 within the clause that defines the resource. 648
When appropriate some of the resource representations will include an "operations" attribute. Providers 649 shall only include the "operations" attribute when the specified operations are accessible to the current 650 client for that particular resource. This situation means that based on many factors (e.g., authorization 651 rights of the clients, current state of the resource, etc.), a different set of "operations" shall be returned on 652 each serialization of the resource. Each operation shall include a "rel" and an "href" field. The "rel" field 653 will uniquely identify the operation name (e.g., "add", "edit"), while the "href" field is the URI to which the 654 operation's request message shall be sent. Note that the "href" field's URI may be different from the URI 655 of the resource itself. The "operations" attribute shall be serialized as follows: 656
JSON serialization: 657
{ "operations": [ 658 { "rel": "string", "href": "string" }, + 659 ] 660 } 661
XML serialization: 662
<Resource xmlns="http://schemas.dmtf.org/cimi/1"> 663 <operation rel="xs:anyURI" href="xs:anyURI"/> * 664 </Resource> 665
For example, the "edit" operation would appear as: 666
JSON serialization: 667
{ "operations": [ 668 { "rel": "edit", "href": "<editURI>" } 669 ] 670 } 671
XML serialization: 672
<Resource xmlns="http://schemas.dmtf.org/cimi/1"> 673 <operation rel="edit" href="<editURI>I"/> 674 </Resource> 675
Additional "rel" values may be defined by Providers; however, they shall be fully qualified URIs and not 676 relative URIs. 677
4.2.1 Common CRUD operations 678
Each of the resources supported by this protocol will adhere to the interaction patterns defined in the 679 following clauses. Clause 4.3 defines resource specific information such as the serialization of each 680 resource's properties and which specific actions are supported. 681
4.2.1.1 Creating a new resource 682
To create a new instance of a resource type, an HTTP POST request is sent to a designated "addURI" for 683 that resource type. In many cases, the Collection resource that maintains, or groups, all instances of that 684 resource type will include an "add" operation. The "add" operation references the "addURI" that is to be 685 used. 686
The request shall be of the following form: 687
POST <addURI> HTTP/1.1 688 Host: <hostname> 689
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 19
Accept: application/(json|xml) 690 Content-Type: application/(json|xml) 691 Content-Length: <length> 692 CIMI-Specification-Version: 1.0 ? 693 694 <serialization of request to create a new resource> 695
During the process of creating the resource, depending on the resource type, the Provider may set the 696 state of the new resource to a value of "CREATING". 697
Many of the create requests are defined such that a Template of the new resource is passed in. These 698 create requests allow for the Template to be passed in "by-reference" or "by-value." For example, 699 creating a new Machine looks like this: 700
<MachineCreate xmlns="http://schemas.dmtf.org/cimi/1"> 701 <name> xs:string </name> ? 702 <description> xs:string </description> ? 703 <property key="xs:string"> xs:string </property> * 704 <machineTemplate href="xs:anyURI"? > 705 ... template attributes ... ? 706 </machineTemplate> 707 </MachineCreate> 708
Creating a new Machine can be done by including a reference to a MachineTemplate in the HTTP body 709 of the request message, or the individual attributes of the MachineTemplate itself could be included in the 710 message (as denoted by the "... template attributes ..." text in the above example). The same applies for 711 nested attributes. When the information is passed by-value the Provider may choose to create instances 712 of those nested resources but they shall be temporal in nature. The Provider shall not expose those 713 instances to the Consumer and they shall not be included in any query results back to the Consumer. 714
When the request to create a new resource allows for a reference to a Template to be included, 715 Consumer may include some of the Template's attributes "by-value". In this case the Provider shall use 716 the "by-value" attributes as override values of any attributes specified within the referenced Template. 717 Consumer may erase any Template attributes by specifying either 718
"attribute": null 719
for the attribute in the JSON serialization, or 720
<attribute/> 721
in the XML serialization for that attribute. This overriding mechanism shall only be used on immediate top-722 level attributes of the Template, and shall not be used to override any sub-attributes. 723
Note that the "name" and "description" attributes of the Template should not be included when passing 724 the Template attributes by-value. Because those values are defining the name and description of the 725 Template, not of the new resource being created, and because the Template is never persisted within the 726 Provider, including these attributes would serve no purpose. 727
Some of the create requests allow for configuration type of resources to be passed by-reference or by-728 value as well - e.g., Credential on a Machine create operation. The processing rules defined above 729 applies in those cases as well. 730
If the operation succeeds, the response shall be of the following form: 731
HTTP/1.1 201 Created 732 Location: <location> 733 Content-Type: application/(json|xml) 734 Content-Length: <length> ? 735 CIMI-Specification-Version: 1.0 736 737 <serialization of new resource> ? 738
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
20 DMTF Standard Version 1.0.0
If <serialization of new resource> is present, the Content-Type and Content-Length headers shall both be 739 present. 740
4.2.1.2 Retrieving a representation of a resource 741
To retrieve a representation of resource, an HTTP GET request is sent to the resource's URI. 742
The request shall be of the following form: 743
GET <ResourceURI> HTTP/1.1 744 Host: <hostname> 745 Accept: application/(json|xml) ? 746 CIMI-Specification-Version: 1.0 ? 747
If the operation succeeds, the response shall be of the following form: 748
HTTP/1.1 200 OK 749 Content-Type: application/(json|xml) 750 Content-Length: <length> 751 CIMI-Specification-Version: 1.0 752 753 <serialization of resource> 754
4.2.1.3 Updating a resource 755
To update a resource's state, an HTTP PUT request containing the complete, updated representation is 756 sent to a designated "editURI" for that resource type. In many cases, this "editURI" will be the same as 757 the URI of resource itself. Retrieving the resource representation shall include an "edit” operation, which 758 contains the "editURI" that is to be used, if the requester is allowed to modify the resource. 759
While processing a PUT request, if the server detects that an attempt is being made to update a read-760 only, or immutable, attribute, it shall silently ignore that attribute update request and shall not generate an 761 error. This rule applies to resource partial updates as well. 762
Because of potential conflicts that might occur due to multiple concurrent updates, Consumers should use 763 the partial update mechanism, defined in 4.2.1.3.1, to reduce the chances of mistakenly updating 764 attributes with out-of-date data. 765
The request shall be of the following form: 766
PUT <editURI> HTTP/1.1 767 Host: ... 768 Accept: application/(json|xml) 769 Content-Type: application/(json|xml) 770 Content-Length: <length> 771 CIMI-Specification-Version: 1.0 772 773 <serialization of request to update a resource> 774
If the operation succeeds, the response shall be of the following form: 775
HTTP/1.1 200 OK 776 Content-Type: application/(json|xml) 777 Content-Length: <length> ? 778 CIMI-Specification-Version: 1.0 779 780 <serialization of updated resource> ? 781
If <serialization of updated resource> is present, the Content-Type and Content-Length headers shall 782 both be present. 783
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 21
4.2.1.3.1 Partial updates to a resource 784
To update only certain top-level attributes of a resource, a Consumer may include only the altered 785 attributes in the representation of the resource within the HTTP request body. When this request is made, 786 the URI to the resource shall include the attributes to be modified as a comma separated list of query 787 parameters; in other words, the URI shall be of the form: 788
http://example.com/resource?$select=attribute1,attribute2,... 789
Only the attributes listed in the URI's query parameters shall be modified; attributes not listed in the URI 790 shall not be directly modified by the request. Note that this circumstance does not preclude the 791 modification of one attribute causing side-effects that result in the modification of an attribute not listed in 792 the query parameters. 793
Any attribute listed in the URI but not included within the HTTP request body shall be reset to a resource 794 specific value (e.g., removed). 795
From an HTTP perspective, the updated subsetted resource is a distinct one. The semantics of a normal 796 HTTP PUT are adhered to; it is a complete replacement update of the specified resource. From the 797 Consumer’s perspective, the partial update is interpreted and executed by the Cloud Service Provider, 798 and some part of the resource is changed. 799
The following sample request updates just the name and description attributes of a Machine: 800
PUT /machines/myMachine?$select=name,description HTTP/1.1 801 Host: <hostname> 802 Accept: application/xml 803 Content-Type: application/xml 804 Content-Length: <length> 805 CIMI-Specification-Version: 1.0 806 807 <Machine> 808 <name>My New Machine</name> 809 </Machine> 810
The "name" attribute is set to "My New Machine" and the "description" attribute is erased. 811
4.2.1.4 Deleting a resource 812
To delete a resource, an HTTP DELETE request is sent to a designated "deleteURI" for that resource 813 type. In many cases, this "deleteURI" will be the same as the URI of resource itself. Retrieving the 814 resource representation shall include a "delete" operation, which contains the "deleteURI" that is to be 815 used, if the requester is allowed to delete the resource. 816
The request shall be of the following form: 817
DELETE <deleteURI> HTTP/1.1 818 Host: <hostname> 819 CIMI-Specification-Version: 1.0 ? 820
During the process of deleting the resource, depending on the resource type, the Provider may set the 821 state of the resource to a value of "DELETING". 822
If the operation succeeds, the response shall be of the following form: 823
HTTP/1.1 200 OK 824 CIMI-Specification-Version: 1.0 825
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
22 DMTF Standard Version 1.0.0
4.2.1.5 Other operations 826
While some modifications to the resources in the model can be done via a simple update (PUT) operation 827 to the resource's "editURI", sometimes a more complex set of actions need to be taken. In these cases, 828 the operations will be modeled as HTTP POSTs to the operation specific URI of the resource. 829
For each of the resources that define additional operations, a description of the HTTP request and 830 response bodies will be provided. However, the general HTTP interaction will be as described below. 831
The request shall be of the following form: 832
POST <operationLinkURI> HTTP/1.1 833 Host: <hostname> 834 Accept: application/(json|xml) 835 Content-Type: application/(json|xml) 836 Content-Length: <length> 837 CIMI-Specification-Version: 1.0 838 839 <serialization of request to perform some action> 840
The form of the response will vary depending on the operation and will be defined by the operation itself. 841
Note that the definition of the "Create" operation (see clause 4.2.1.1) follows this same pattern. It is just 842 called out for ease of reference. 843
4.2.1.6 Synchronous operations 844
If a Provider supports the Job resource, each incoming PUT, DELETE, POST request shall result in a Job 845 resource being created and an absolute URI reference to that Job resource shall be returned back to the 846 client via the CIMI-Job-URI HTTP Header in the HTTP response message: 847
CIMI-Job-URI: <uri-to-Job> 848
In this case, the requested operation shall be complete and the Job URI shall point to a completed Job. If 849 the Job is not complete, the server shall return a 202 and follow the instructions for Asynchronous 850 operations. 851
4.2.1.7 Asynchronous operations 852
In some cases, an operation requested by the client may take an undetermined amount of time to 853 complete. For example, creating a new Machine or starting an existing Machine, may take a relatively 854 long time to complete. In these cases, it is not practical to complete these operations within a reasonable 855 HTTP request timeout interval, so the Provider shall return an HTTP "202 Accepted" response code. 856
As with synchronous operations, if a Provider supports the Job resource, it shall create a Job resource for 857 the incoming request and return a reference to that Job resource back to the client via the CIMI-Job-URI 858 HTTP Header in the HTTP response message. Additionally, in the case of a "202 Accepted" response 859 code, the Provider may also return any of the following in the HTTP response body: 860
a representation of the Job resource, if one was created. If the request did not include the Job 861 MIME type in the HTTP Accept header, the encoding style (json vs xml) of the response should 862 match the encoding style of the request message. 863
a partial representation of the response message as if the operation were a synchronous 864 operation. For example, when creating a new Machine the response message may include a 865 partial representation of the new Machine in the response message. The list of attributes of the 866 resource that are returned will be implementation specific and based upon how much information 867 is available at the time the response message is generate, but it shall be consistent with the 868 definition of the full resource representation. In the case of a create operation, the Provider may 869 also include an HTTP Location header referencing the "to be created" resource if it is known. 870
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 23
an empty response body. 871
Note that the decision as to whether any particular operation will be synchronous or asynchronous is at 872 the server's discretion. 873
4.3 OVF support 874
The Open Virtualization Format (OVF) Specification describes an open, secure, portable, efficient, and 875 extensible format for the packaging and distribution of software to be run in virtual machines. OVF 876 support in CIMI allows an OVF package to be used to create CIMI management resources by importing 877 the package. Additionally, CIMI management resources can be exported into an OVF package. The 878 actual support for the OVF package will typically be provided by a hypervisor being managed by the CIMI 879 provider. The import of an OVF package exposes CIMI specific constructs and parameters as a result of 880 the import without altering the original OVF package. Thus the CIMI resources that are created as a result 881 of the import form a “View” of what the hypervisor did; however, other (non-CIMI mapped) information 882 from the OVF package may have been used by the hypervisor in its import. This other information is 883 implementation dependent and is not further touched upon by this standard. 884
An OVF package can support single virtual machines (VMs) corresponding to a single CIMI Machine or 885 Machine Template (see clause 5.14.1) or may also support a complex hierarchy of VMs and their related 886 resources corresponding to a CIMI System or System Template (see clause 5.13.1) and related CIMI 887 management resources. 888
OVF Support is covered in more detail in ANNEX A. 889
5 Model 890
This model assumes that a business relationship has already been established between the Consumer 891 and the Provider. This relationship may include financial terms, creating separately administered clouds 892 that the consuming organization is paying for, and the establishment of authentication credentials to 893 access the administrative entry point for each cloud. The scope of this model is one separately 894 administered cloud. 895
The CIMI model is described here by using a tabular representation. It is inspired from Entity-Relationship 896 modeling, where each entity is modeling a significant cloud resource for which independent access and 897 manipulation is expected. Relationships between resources use a referential mechanism based on 898 unique identifiers that is expected to be already supported by the implementation environment and 899 protocol (e.g., URIs for HTTP). 900
The model is self-describing and allows for querying its own metadata, e.g., to discover which extensions 901 have been implemented. The model is also extensible in different ways (see clause 5.1). 902
Along with this model, a serialization of its entities is defined (both in XML and JSON). 903
An alternative UML diagram representation is provided for each major group of resources 904
5.1 Resource wrappers 905
The serialization of resource instances in the model will follow these conventions. Consider the 906 serialization of a resource named “MyResource”: 907
JSON serialization: 908
The resource is serialized as an object wrapping all its attributes, but without a wrapper name. The 909 resource includes an "resourceURI" with a URI for the type of resource being serialized. For example: 910
{ "resourceURI": "http://example.com/MyResource", 911 "attribute": "value" 912
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
24 DMTF Standard Version 1.0.0
} 913
XML serialization: 914
The resource is serialized as an element with name equal to the Resource name; for example: 915
<MyResource xmlns="http://example.com"> 916 <attribute> value </attribute> 917 </MyResource> 918
5.2 Extensibility 919
There are two types of extensibility mechanisms defined by the CIMI model; one is intended for use by 920 Consumers whilst the other is to be used by Providers. 921
The first allows for a CIMI Consumer to add additional data to a resource. Each resource in the CIMI 922 model has an attribute called "properties." Consumers, when creating or updating a resource, may store 923 any name/value pair in the "properties" attribute. CIMI Providers shall store and return these values to the 924 Consumer. There is no obligation for the Provider to understand or take any action based on these 925 values; they are there for the Consumer's convenience. Providers shall not add elements to this 926 "properties" attribute. 927
The second type of extensibility mechanism allows for Provider defined extensions and this specification 928 includes the ResourceMetadata resource for this purpose. ResourceMetadata may be used to: 929
Express constraints on the existing CIMI defined resource attributes (e.g., express a maximum for 930 the 'cpu' attribute of the MachineConfiguration resource) 931
Introduce new attributes for CIMI defined resources together with any constraints governing these 932 (e.g., a new 'location' attribute for the Volume resource that takes values from a defined set of 933 strings) 934
Introduce new operations for any of the CIMI defined resources (e.g., define a new 'compress' 935 operation for the Volume resource) 936
Express any Provider specific capabilities or features (e.g., the length of time that a Job resource 937 will be retained after Job completion and before this is deleted). 938
It is recommended that Providers use the ResourceMetadata resource to advertise these attributes, 939 operations, and capabilities along with any constraints that might need to be understood by Consumers. 940 The ResourceMetadata resource is defined in clause 5.11. 941
5.3 Identifiers 942
All identifiers (e.g., resource names, attributes, operations, parameter names) defined by this 943 specification, or defined via an extension, shall adhere to the following: 944
Identifier names shall be treated as case sensitive. 945
Identifier names shall only use the following set of characters: 946
o Uppercase ASCII (U+0041 through U+005A) 947
o Lowercase ASCII (U+061 through U+007A) 948
o Digits (U+0030 through U+0039) 949
o Underscore (U+005F) 950
Identifier names shall not start with a Digit (U+0030 through U+0039). 951
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 25
5.4 Attribute constraints 952
Each attribute of the resources in the CIMI model is augmented by a set of "Constraints" that further 953 qualify the attribute being defined. For each attribute there is a Provider and a Consumer set of 954 constraints because each might differ. The following describes the possible "Constraints." 955
support optional: 956
This constraint indicates that support for this attribute is optional. If supported, Providers should advertise 957 its support via ResourceMetadata. When a Provider receives a message containing an unknown or 958 unsupported attribute, it shall reject the request. When a Consumer receives a message containing an 959 unknown or unsupported attribute, it shall silently ignore the attribute. However, Consumers are required 960 to include those attributes in messages sent back to the Provider. Note in these cases the Consumer is 961 not required to understand or process the unsupported attribute, merely echo it back to the Provider. 962
Non-empty Consumer supported writeable (i.e., read-write and write-only) attributes shall always be 963 included as part of the resource representation sent from Consumers to Providers, including create 964 requests. 965
Non-empty Provider supported attributes shall always be included as part of the resource representation 966 sent from Providers to Consumers. 967
support mandatory: 968
This constraint indicates that support for this attribute is required by compliant implementations. When 969 present on a nested attribute, this attribute is required to be supported only if the parent attribute is 970 supported. 971
Non-empty mandatory writeable (i.e., read-write and write-only) attributes shall always be included as part 972 of the resource representation sent from Consumers to Providers - including create requests. 973
Non-empty Provider mandatory attributes shall always be included as part of the resource representation 974 sent from Providers to Consumers. 975
immutable: 976
This Provider constraint indicates that the attribute, once set, shall never change for the lifetime of the 977 resource. 978
mutable: 979
This Provider constraint indicates that the attribute may be modified. Providers shall always have the 980 ability to modify these attributes. Whether Consumers have the ability to modify these attributes will be 981 indicated by the read-only, read-write, and write-only constraints. 982
read-only: 983
This Consumer constraint indicates that the attribute may be retrieved but not updated by Consumers. 984 Read-only attributes are not required to appear in the serialization of resources in create or update 985 request messages. If present, they shall be silently ignored by the Provider. Read-only attributes shall 986 appear in the serialization of resources sent from Providers. 987
read-write: 988
This Consumer constraint indicates that the attribute may be retrieved and/or updated by Consumers. 989 Read-write attributes shall appear in the serialization of resources sent to and from Providers. Providers 990 may further constrain whether Consumers can update these attributes and should indicate this via 991 ResourceMetadata. 992
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
26 DMTF Standard Version 1.0.0
write-only: 993
This Consumer constraint indicates that the attribute may be updated by Consumers but are not 994 retrievable by Consumers, typically for security reasons. Write-only attributes shall appear in the 995 serialization of resources sent to Providers but shall never appear in the serialization of resources sent 996 from Providers. 997
5.5 Data types and their serialization 998
Unless specifically asked to not include certain attributes in the resource representation, the absence of 999 an attribute in the representation means that the attribute has no value (i.e., is undefined); meaning there 1000 is no notion of an attribute having an implied value. Note that a client cannot distinguish (from just looking 1001 at the returned representation) whether a particular attribute is not supported from one that does not exist. 1002 Likewise, an absent attribute from a resource representation as the input to an update operation means 1003 that the Consumer is requesting that the Provider remove that attribute. 1004
The following describes the data types and values that are used within the model definition tables. 1005
5.5.1 boolean 1006
A value as defined by xs:boolean per XML Schema – Part 2, with the exception that the only allowable 1007 values are either "true" or "false." The value is case sensitive. 1008
When serialized in JSON these values shall be of JSON type: boolean 1009
When serialized in XML these values shall be of XML Schema type: xs:boolean 1010
5.5.2 dateTime 1011
A value as defined by xs:dateTime per XML Schema – Part 2. Any constraints on the specific ranges 1012 allowed for any particular attribute will be specified by that attribute's definition or at runtime by the 1013 Provider via the metadata discovery mechanisms defined by this specification. 1014
When serialized in JSON these values shall be of JSON type: string 1015
When serialized in XML these values shall be of XML Schema type: xs:dateTime 1016
5.5.3 duration 1017
A value as defined by xs:duration per XML Schema – Part 2. Any constraints on the specific ranges 1018 allowed for any particular attribute will be specified by that attribute's definition or at runtime by the 1019 Provider via the metadata discovery mechanisms defined by this specification. 1020
When serialized in JSON these values shall be of JSON type: string 1021
When serialized in XML these values shall be of XML Schema type: xs:duration 1022
5.5.4 integer 1023
A value as defined by xs:integer per XML Schema – Part 2. Any constraints on the specific ranges 1024 allowed for any particular attribute will be specified by that attribute's definition or at runtime by the 1025 Provider via the metadata discovery mechanisms defined by this specification. 1026
When serialized in JSON these values shall be of JSON type: number 1027
When serialized in XML these values shall be of XML Schema type: xs:integer 1028
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 27
5.5.5 string 1029
A value as defined by xs:string per XML Schema – Part 2. Any constraints on this type for any particular 1030 attribute will be specified by that attribute's definition or at runtime by the Provider via the metadata 1031 discovery mechanisms defined by this specification. 1032
When serialized in JSON these values shall be of JSON type: string 1033
When serialized in XML these values shall be of XML Schema type: xs:string 1034
5.5.6 ref 1035
A reference to another resource. 1036
References allow for Consumers to navigate to resources. By starting at the Cloud Entry Point and 1037 following the references that appear in the retrieved resources, Consumers will be able to recursively 1038 discover and navigate to all other resources. 1039
As a general rule, when an attribute is of type "ref", its value will be held by an attribute named "href" 1040 (both in JSON and XML). 1041
JSON serialization: 1042
In the JSON serialization the "href" property appears as of type "string." When an attribute is of type "ref", 1043 the name of this attribute will appear as a key, with the "href" property as it a nested value. For example, 1044 a resource attribute "myvolume" of type "ref" is serialized as: 1045
"myvolume": { "href": string } 1046
XML serialization: 1047
In the XML serialization the "href" attribute appears as type "xs:anyURI." When an attribute is of type 1048 "ref," the name of this attribute will appear as name of an XML element with the "href" property as an 1049 (XML) attribute. For example, a resource attribute "myvolume" of type "ref" is serialized as: 1050
<myvolume href="xs:anyURI"/> 1051
1052
References in both JSON and XML have an extensibility point that allows for additional information (such 1053 as the target resource to be included "by value") if supported. For convenience the JSON and XML 1054 representations, as shown above, exclude the implicit extensibility points that would allow for the 1055 attributes of the target resource to be included if desired. So, more accurately the above representations 1056 might be written as follows: 1057
For JSON: 1058
"myvolume": { "href": string, ... } 1059
and in XML: 1060
<myvolume href="xs:anyURI"> xs:any* </myvolume> 1061
However, for brevity the extensibility points are excluded in the serialization of the resources. 1062
5.5.7 map 1063
A list of key/value pairs. The same "key" shall not be used more than once within an attribute. The "key" is 1064 case sensitive. 1065
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
28 DMTF Standard Version 1.0.0
5.5.8 structure 1066
Attributes of this type are complex attributes made up of a set of nested attributes. For each attribute of 1067 this type there will be an additional table defining those nested attributes. 1068
A nested structure can be considered a complex type definition. Structures may be named or unnamed. 1069 Here is an example of named structure: 1070
1071
Name summary
Attribute Type Description
low number Number of “low” occurrences
medium number Number of “medium” occurrences
high number Number of “high” occurrences
critical number Number of “critical” occurrences
JSON serialization: 1072
In JSON, the name of the structure (i.e., of the type it represents) never appears. In other words, whether 1073 the structure is named or not does not matter. An attribute named “systemIncidents” of type "summary" 1074 (as above) is serialized as follows: 1075
"systemIncidents": { 1076 "low": number, 1077 "medium": number, 1078 "high": number, 1079 "critical": number 1080 } 1081
XML serialization: 1082
In XML, the name of the structure (i.e., of the type it represents) never appears. In other words, whether 1083 the structure is named or not does not matter. The same previous "systemIncidents" example will be 1084 serialized so that the structure sub-attributes become XML attributes of a <systemIncidents> XML 1085 element wrapper: 1086
<systemIncidents low="xs:integer" medium="xs:integer" high="xs:integer" 1087 critical="xs:integer"/> 1088
NOTE: A large number of sub-attributes of atomic type in a structure may be represented alternatively as XML child 1089 elements for better readability. Both options are available; however, the same structure shall be serialized the same 1090 way across resources. 1091
5.5.9 byte[] 1092
An arbitrary set of bytes meant to represent a block of binary data. Any constraints on this type for any 1093 particular attribute will be specified by that attribute's definition or at runtime by the Provider via the 1094 metadata discovery mechanisms defined by this specification. 1095
When serialized in JSON these values shall be of JSON type: string 1096
When serialized in XML these values shall be of XML Schema type: xs:hexBinary 1097
5.5.10 URI 1098
The format and syntax of the attributes of type "URI" is defined by RFC3986. 1099
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 29
Unless otherwise noted, this specification does not mandate whether Providers use relative or absolute 1100 URI in the HTTP response bodies. 1101
When URIs are specified as relative URIs, they shall be relative to the parent of the CloudEntryPoint 1102 unless otherwise noted; in other words, the "baseURI" is the parent of the CloudEntryPoint with a trailing 1103 slash. 1104
The algorithm used for converting a relative URI to an absolute URI shall be as described in section 5.2 of 1105 RFC3986. The table below illustrated how relative URIs are resolved against base URIs: 1106
Base URI Relative URI Absolute URI
http://example.com/ p1/file http://example.com/p1/file
http://example.com/c1/ p1/file http://example.com/c1/p1/file
http://example.com/c1/c2/ p1/file http://example.com/c1/c2/p1/file
If relative URIs are used, the "baseURI" shall end with a trailing slash and relative URIs shall not begin 1107 with a leading slash. This format will be consistent with most URI resolve utilities and will produce the 1108 same results as a simple string concatenation algorithm. 1109
When serialized in JSON these values shall be of JSON type: string 1110
When serialized in XML these values shall be of XML Schema type: xs:anyURI 1111
5.5.11 Arrays 1112
An array represents an ordered list of items of the same type. An array shall always appear as an 1113 attribute of a resource, and is only accessible as such (it is not a separately addressable resource). When 1114 a resource is deleted, the items in its arrays shall also be deleted. However, in case these items were just 1115 references to other resources, these referred resources are not affected (see the semantics of references 1116 in 5.7) 1117
Attributes that are arrays are defined by using the notation "itemType[]," where itemType is the type name 1118 for each item of the array. When the type is a structure, not a simple data type, it is recommended as a 1119 convention in the model that the name of an array be the plural of a name that characterizes each item. 1120 For example, an array of volume items or of references to these may be named "volumes." 1121
When an attribute is of type of references ("ref[]") – and more generally array of an atomic type - the 1122 definition in the model will include an "Array item name", that may be used in its serialization. 1123
JSON serialization: 1124
Within this specification, arrays in JSON are serialized with a wrapper property. The wrapper name shall 1125 be same as the attribute name for the array. For example, a "things" attribute of type "thing[]" is serialized 1126 as: 1127
"things" : [ 1128 { ... }, + 1129 ] ? 1130
When the items in the array are structures then the structure name shall not be present in the JSON 1131 serialization. 1132
In the case of an array of references, i.e., where the "ref" type applies to each element of the array, each 1133 element will simply be serialized as an "href" property within a JSON array. For example, an array "things" 1134 of type "ref[]" is serialized as: 1135
"things": [ 1136 { "href": string }, + 1137 ] ? 1138
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
30 DMTF Standard Version 1.0.0
1139
NOTE When serializing arrays, conformant implementations shall not include empty arrays (i.e., arrays that contain 1140 no child properties) in the JSON serialization. Notice that the child of the "things" property is defined with a "+", 1141 meaning at least one child is required. This requirement ensures that the JSON serialization is minimized and only 1142 includes the wrapping "things" element if, and only if, there is at least one "thing" in the array. 1143
XML serialization: 1144
The XML serialization of arrays requires each item of the array to be represented as an element. These 1145 elements shall be consecutive and contiguous in the serialization and the name of each element (tag 1146 name) shall be the name of the element type (the name that appears before "[]" in the array type). For 1147 example, a "things" attribute will be serialized as a list of items named "thing", where "thing" is the name 1148 of a structure: 1149
<thing> 1150 ... 1151 </thing> * 1152
There is no wrapper element for an array in XML. 1153
In the case of an array of references, i.e., where the "ref" type applies to each element of the array, the 1154 array is serialized as a list of XML elements without wrapper. Each element is named per the "Array item 1155 name" value specified in the attribute's definition. For example, an array "things" of type "ref[]" where the 1156 "Array item name" is "thing", is serialized as: 1157
<thing href="xs:anyURI"/> + 1158
5.5.12 Collections 1159
Like arrays, collections are groupings of resources of the same type. In contrast with arrays, collections 1160 are themselves resources that have their own URI and can be independently accessed. Collections also 1161 allow for an optimized and convenient interaction pattern by providing a specialized set of operations that 1162 avoid replacing a large number of items when updating the set. 1163
This specification uses collections when the set of items in the list will most likely be modified often and 1164 potentially by multiple Consumers. Conversely, arrays are used when it is expected that the list of items 1165 will not be modified often or can be easily modified by substitution of the entire list, and thus the overhead 1166 of managing these items as separate resources might be burdensome. 1167
Attributes that are collections are represented as type "collection[itemType]." The resource type of the 1168 collection items are specified inside the brackets; for example an attribute that is a collection of Machines 1169 is expressed as "collection[Machine]." These will be serialized as a reference to a collection resource. For 1170 brevity, while these attributes are "references" the word "ref" or "reference" does not appear in the model 1171 definition tables - simply the type "collection[itemType]" appears. 1172
To each one of these resource items, will correspond an entry in the collection. These resources items 1173 are assumed to be of a complex type and are separately addressable and manageable. While different 1174 collections will contain entries of different resource types, all collections follow the pattern described 1175 below: 1176
Collections shall contain an "id" attribute that acts as a "self pointer." Retrieving the data at this 1177 reference shall return the collection. In the XML representation, each collection shall be wrapped 1178
by a <Collection> element. 1179
Collections shall contain a "count" attribute which indicates the number of resources in the 1180 collection at the time the collection was queried. 1181
Collections shall contain a list of resources that make up the collection. As with all arrays, if there 1182 are no resources in the collection, the serialization of the list shall be omitted. 1183
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 31
As with all resources in the CIMI model, each resource in the collection shall have an "id" attribute 1184 that acts as a "self pointer." Retrieving the data at this reference shall return just that one 1185 resource and not any parent resource, such as the collection or array attribute. 1186
Adding new resources to the collection shall be done via the "add" operation defined within the 1187 collection. Note that lack of an "add" operation on the collection indicates that new resources are 1188 not permitted at that time. 1189
Deleting resources from the collection shall be done via a "delete" operation on the resource 1190 itself. 1191
Unless otherwise specified, deleting a collection shall also delete all of the resources that make 1192 up the collection, but shall not delete any tertiary resources referenced by the to-be deleted 1193 collection resources. 1194
Collections shall be deleted when their owning resource is deleted. 1195
The resources in a collection are of two kinds: 1196
either the resource is an infrastructure resource (such as those listed in the Cloud Entry Point, or 1197 those embedded in an entity such as the disks inside a Machine), 1198
or the resource is just an intermediary resource that holds a reference to an infrastructure 1199 resource, called the “target resource”. By convention, intermediary resources have a name that 1200 concatenates the name of the resource owning the collection, with the name of the target 1201 resource, e.g. “MachineVolume” is the name of the intermediary resource that is used to connect 1202 a Machine to a Volume. 1203
Collections of intermediary resources allow for decoupling the lifecycle of a collection (and of its owning 1204 entity) from the lifecycle of the actual target resources. For example, deleting a collection will delete its 1205 intermediary resources but not its target resources. 1206
The serialization of collections shall adhere to the following pattern: 1207
JSON serialization: 1208
{ "resourceURI": string, 1209 "id": string, 1210 "count": number, 1211 "resourceSpecificGroupingName": [ 1212 { "resourceURI": string, 1213 "id": string, 1214 "name": string, ? 1215 "description": string, ? 1216 "created": string, ? 1217 "updated": string, ? 1218 "properties": { "key": string, + }, ? 1219 ... entry specific data ... 1220 "operations": [ 1221 { "rel": "edit", "href": string }, ? 1222 { "rel": "delete", "href": string } ? 1223 ] ? 1224 ... 1225 } + 1226 ], ? 1227 "operations": [ { "rel": "add", "href": string } ? ] 1228 ... 1229 } 1230
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
32 DMTF Standard Version 1.0.0
XML serialization: 1231
<Collection resourceURI="xs:anyURI" xmlns="http://schemas.dmtf.org/cimi/1"> 1232 <id> xs:anyURI </id> 1233 <count> xs:integer </count> 1234 <ResourceSpecificElementName> 1235 <id> xs:anyURI </id> 1236 <name> xs:string </name> ? 1237 <description> xs:string </description> ? 1238 <created> xs:dateTime </created> ? 1239 <updated> xs:dateTime </updated> ? 1240 <property key="xs:string"> xs:string </property> * 1241 ... entry specific data ... 1242 <operation rel="edit" href="xs:anyURI"/> ? 1243 <operation rel="delete" href="xs:anyURI"/> ? 1244 <xs:any>* 1245 </ResourceSpecificElementName> * 1246 <operation rel="add" href="xs:anyURI"/> ? 1247 <xs:any>* 1248 </Collection> 1249
Where the "resourceURI" attributes shall contain the collection or resource specific URIs for that type of 1250 collection, and "resourceSpecificGroupingName" and "ResourceSpecificElementName" shall be replaced 1251 with the name of the collection-specific resource name, e.g. "machines" in JSON or "Machine" in XML. 1252
5.5.12.1 Adding items to collections 1253
Adding new resources to collections shall be done by invoking the "add" operation of the collection. The 1254 contents of the request body will be either a representation of the new resource being added to the 1255 collection, or a representation of the Template associated with the new resource being created. Each 1256 resource that requires the use of a Template indicates this in its definition. 1257
For example, to add a new Volume to a Machine's "volumes" collection, the "add" operation's request 1258 body will be serialized as follows: 1259
JSON serialization: 1260
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineVolume", 1261 "initialLocation": string, 1262 "volume": { "href": string } 1263 } 1264
XML serialization: 1265
<MachineVolume xmlns="http://schemas.dmtf.org/cimi/1"> 1266 <initialLocation> xs:string </initialLocation> 1267 <volume href="xs:string"/> 1268 </MachineVolume> 1269
Note that while deleting this type of resource from the collection will delete and remove the resource from 1270 the collection, it shall not delete the referenced target resource itself - in this case the Volume. 1271
When creating a new resource that requires the use of a Template, the "add" operation shall contain: 1272
The "common attributes" as defined by clause 5.10.1. 1273
The resource specific data needed to create it. This data will either be a reference to the 1274 resource-specific Template resource or the resource-specific Template resource itself inlined. 1275
In the XML case, a wrapper element (named <ResourceNameCreate>). 1276
For example, to create a new Machine (which requires the use of a Template) and add it to the 1277 MachineCollection, the "add" operation of the MachineCollection will be serialized as follows: 1278
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 33
JSON serialization: 1279
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineCreate", ? 1280 "name": string, ? 1281 "description": string, ? 1282 "properties": { "key": string, + }, ? 1283 "machineTemplate": { "href": string ?} 1284 ... 1285 } 1286
XML serialization: 1287
<MachineCreate xmlns="http://schemas.dmtf.org/cimi/1"> 1288 <name> xs:string </name> ? 1289 <description> xs:string </description> ? 1290 <property key="xs:string"> xs:string </property> * 1291 <machineTemplate href="xs:anyURI"? /> 1292 <xs:any>* 1293 </MachineCreate> 1294
The MachineCollection will have a new Machine: 1295
JSON serialization: 1296
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Machine", 1297 "id": string, 1298 "name": string, 1299 ... 1300 } 1301
XML serialization: 1302
<Machine xmlns="http://schemas.dmtf.org/cimi/1"> 1303 <id> xs:anyURI </id> 1304 <name> xs:string </name 1305 ... 1306 </Machine> 1307
The processing of the "add" operation shall adhere to the semantics defined in clause 4.2.1.1. 1308
Regardless of whether a Template is used, the "add" operation shall create the new resource and add it 1309 to the collection and a reference (URI) to the new entry shall be returned in the response message in the 1310 HTTP Location header. 1311
5.5.13 "Any" type 1312
Some attributes are polymorphic and can hold various data types, the list of which is indicated in their 1313 description. In such cases, the type of the attribute will be indicated as "any" in the model representation. 1314
5.6 Units 1315
Some of the resources defined by this specification have attributes that describe an amount of something 1316
that belongs to, or is associated with, that resource. For example, the Machine resource has a memory 1317
attribute that describes "the size of the memory allocated to this machine." The allowable units of these 1318 attributes are listed in the following table. Their meaning is defined in IEC 80000-13:2008. Their numerical 1319 equivalents are provided here for convenience: 1320
String Numerical Value String Numerical Value
kilobyte 10^3 kibibyte 2^10
megabyte 10^6 mebibyte 2^20
gigabyte 10^9 gibibyte 2^30
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
34 DMTF Standard Version 1.0.0
String Numerical Value String Numerical Value
terabyte 10^12 tebibyte 2^40
petabyte 10^15 pebibyte 2^50
exabyte 10^18 exbibyte 2^60
zettabyte 10^21 zebibyte 2^70
yottabye 10^24 yobibyte 2^80
5.7 Relationship semantics 1321
A reference between two resource instances has the semantics of a simple "association." In particular, 1322 unless specified otherwise, (a) the same referred instance can be referred by other resource instances, 1323 i.e., be "shared," and (b) the referred resource instance is not affected when deleting the referring 1324 resource instance (i.e., the Delete operation is a "shallow delete" by default). 1325
The embedding of a sub-resource inside another resource, has the semantics of a "composition" (or 1326 whole-part relationship in UML). In particular, unless specified otherwise, (a) an embedded sub-resource 1327 cannot be shared by several resource instances, and (b) when deleting an embedding resource instance, 1328 the embedded sub-resource instances are also deleted. 1329
5.8 Operations 1330
All resource operations defined by this specification are optional for Providers to support. Consumers, via 1331 examination of an resource's ResourceMetadata, will be able to determine which operations are 1332 supported. However, even for those operations that are supported Consumers will still need to examine 1333 each resource's representation to determine which operations are supported at that moment. Whether an 1334 operation is supported will be based on a number of factors, including state of the resource and access 1335 control rights of the Consumer. Also see clause 4.2. 1336
5.9 Alternative model formats 1337
Because it is expected that this specification will be implemented by using a variety of technologies, as a 1338 convenience, the definition of the model elements are provided in alternative formats that are easily 1339 consumable by technology-specific tooling. 1340
This model is also available in a CIM/MOF format [CIMI-CIM]. 1341
In the event of inconsistencies between the various formats, the normative text within this specification 1342 takes precedence over the XML Schemas and alternative formats, which in turn take precedence over 1343 examples. 1344
5.10 Resources 1345
The following clauses detail the attributes of the resources defined by the CIMI model. 1346
5.10.1 Common attributes 1347
Except for ResourceMetadata, the resources described by this document share the following common 1348 attributes. 1349
Attribute Type Description
id ref The unique self-reference to this resource; assigned upon resource creation. This attribute value shall be unique in the
Provider’s cloud.
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 35
Attribute Type Description
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
name string The human readable name of this resource; assigned by the creator as a part of the resource creation input.
Constraints: Provider: support mandatory; mutable Consumer: support optional; read-write
description string The human readable description of this resource; assigned by the creator as a part of the resource creation input.
Constraints: Provider: support mandatory; mutable Consumer: support optional; read-write
created dateTime The timestamp when this resource was created. The format should be unambiguous, and the value is immutable.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
updated dateTime The time at which the last explicit attribute update was made on the resource. Note, while operations such as "stop" do implicitly modify the 'state' attribute it does not change the 'updated_time'.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
properties map A list of key/value pairs, some of which may control one or more aspects this resource. Properties may also serve as an extension point, allowing Consumers to record additional information about the resource.
The same "key" shall not be used more than once within a "properties" attribute.
Constraints: Provider: support mandatory; mutable Consumer: support optional; read-write
The following describes the serialization of these attributes in both JSON and XML: 1350
JSON serialization: 1351
"id": string, 1352 "name": string, ? 1353 "description": string, ? 1354 "created": string, ? 1355 "updated": string, ? 1356 "properties": { "key": string, + }, ? 1357
XML serialization: 1358
<id> xs:anyURI </id> 1359 <name> xs:string </name> ? 1360 <description> xs:string </description> ? 1361 <created> xs:dateTime </created> ? 1362 <updated> xs:dateTime </updated> ? 1363 <property key="xs:string"> xs:string </property> * 1364
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
36 DMTF Standard Version 1.0.0
5.11 Resource Metadata 1365
Implementations of this specification should allow for Consumers to discover the metadata associated 1366 with each supported resource. Doing so allows for the discovery of Provider defined constraints on the 1367 CIMI defined attributes as well as discovery of any new extension attributes or operations that the 1368 Provider may have defined. ResourceMetadata can also be used to express any Provider specific 1369 capabilities or features. The mechanism by which this metadata is made available will be protocol 1370 specific. 1371
Note that while this specification does not restrict the editability of the ResourceMetadata attributes, it is 1372 expected that these types of features will be reserved for administrative type of Consumers, which means 1373 that these attributes will be read-only for most Consumers. 1374
Each resource's metadata will contain the following pieces of information: 1375
Name ResourceMetadata
Type URI http://schemas.dmtf.org/cimi/1/ResourceMetadata
Attribute Type Description
id ref The unique self-reference to this resource; assigned upon resource creation. This attribute value is immutable, and shall be unique in the Provider’s cloud.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
typeURI URI A unique URI associated with, and denoting, this resource type.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
name string The name of the resource type.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
attributes attribute[] A set of Provider defined metadata that can be used by clients to discover any metadata associated with each attribute, as well as the set of extension attributes.
Each attribute will contain the following nested data:
Name attribute
Data Type Description
name string The name of the attribute.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
namespace URI The namespace in which this attribute is defined. It is recommended that a dereference of this URI returns information about the attribute. This shall not be present when describing a CIMI defined attribute, but shall be present when describing a non-CIMI defined attribute.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 37
type string The data type of the attribute. This shall not be present when describing a CIMI defined attribute, but shall be present when describing a non-CIMI defined attribute.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
required boolean Indicates whether this resource requires this attribute to be present. When absent the implied value is "false."
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
constraints any Type specific data that describes the constraints of this attribute. When absent there are no constraints.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
capabilities capability[] A set of Provider defined metadata that can be used by Consumer to discover any capability or feature provided by this Provider.
Each capability will contain the following nested data:
Name capability
Data Type Description
name string The name of the capability.
Constraints: Provider: support mandatory; mutable Consumer: support optional; read-write
uri URI A URI that uniquely identifies the capability at a global level.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
description string The human readable description of the semantic of the capability.
Constraints: Provider: support mandatory; mutable Consumer: support optional; read-write
value any The value of the capability. The specific type will vary depending on the definition of the capability. When not present the capability defaults to a "boolean" type with a value of "true" indicating that the specific capability is supported by the Provider.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
Constraints: Provider: support optional; mutable
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
38 DMTF Standard Version 1.0.0
Consumer: support optional; read-write
actions action[] A set of Provider defined operations that can be used by clients to act on the resource. Note that this attribute is called "actions" so as not to conflict with the ResourceMetadata resource's operations.
Each operation will contain the following nested data:
Name action
Data Type Description
name string The name of the operation.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
uri URI A URI that uniquely identifies the operation at a global level.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
description string The human readable description of the semantic of the operation.
Constraints: Provider: support mandatory; mutable Consumer: support optional; read-write
method string The protocol dependent verb to use to perform the operation.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
inputMessage string The body mimeType of the request message; it may depend on the model format chosen by the Provider.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
outputMessage string The body mimeType of the response message; it may depend on the model format chosen by the Provider.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
The following describes the serialization of the resource in both JSON and XML: 1376
JSON media type: application/json 1377
JSON serialization: 1378
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/ResourceMetadata", 1379 "id": string, 1380 "typeURI": URI, 1381 "name": string, 1382
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 39
"attributes" : [ 1383 { "name": string, 1384 "namespace": string, ? 1385 "type": string, ? 1386 "required": boolean, ? 1387 ...constraints...? } * 1388 ], ? 1389 "capabilities": [ 1390 { "name": string, ? 1391 "uri": string, 1392 "description": string, ? 1393 "value": any } * 1394 ], ? 1395 "actions" : [ 1396 { "name": string, 1397 "uri": string, 1398 "description": string, ? 1399 "method": string, 1400 "inputMessage": string, ? 1401 "outputMessage": string ? }, * 1402 ], ? 1403 "operations": [ 1404 { "rel": "edit", "href": string } ? 1405 { "rel": "delete", "href": string }, ? 1406 ] ? 1407 ... 1408 } 1409
XML media type: application/xml 1410
XML serialization: 1411
<ResourceMetadata xmlns="http://schemas.dmtf.org/cimi/1"> 1412 <id> xs:anyURI </id> 1413 <name> xs:string </name> 1414 <typeURI> xs:anyURI </typeURI> 1415 <attribute name="xs:string" namespace="xs:anyURI"? type="xs:string" 1416 required="xs:boolean"? > 1417 ...constraints...? 1418 </attribute> * 1419 <capability name="xs:string"? uri="xs:anyURI" description="xs:string"?> 1420 xs:any* 1421 </capability> * 1422 <action name="xs:string" uri="xs:anyURI" description="xs:string"? 1423 method="xs:string" inputMessage="xs:string"? 1424 outputMessage="xs:string"? /> * 1425 <operation rel="edit" href="xs:anyURI"/> ? 1426 <operation rel="delete" href="xs:anyURI"/> ? 1427 <xs:any>* 1428 </ResourceMetadata> 1429
Additional metadata about the resource or attributes may be included by the Provider. 1430
5.11.1 Attribute types 1431
The following describes the values, syntax, and serialization of the "constraints" attribute (sub-attribute of 1432 "attributes"), which has a type of "any." 1433
type="string" 1434
The JSON shall be of the form: 1435
"values": [ string, + ] ? 1436
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
40 DMTF Standard Version 1.0.0
The XML shall be of the form: 1437
<value> xs:string </value> * 1438
type="integer" 1439
The JSON shall be of the form: 1440
"values": [ number, + ], ? 1441 "ranges": [ { "low": number, "high": number }, + ] ? 1442
The XML shall be of the form: 1443
<value> xs:integer </value> * 1444 <range low="xs:integer" high="xs:integer"/> * 1445
The total value space of an 'integer' attribute is the accumulation of all values and ranges. 1446
type="boolean" 1447
The JSON shall be of the form: 1448
"value": boolean ? 1449
The XML shall be of the form: 1450
<value> xs:boolean </value> ? 1451
Only one 'value' is permitted. It indicates whether the attribute is required to be either 'true' or 'false'. 1452
5.11.1.1 Examples 1453
The following shows a sample metadata document for a VolumeConfiguration resource in XML that lists 1454 the allowable values for the "format" attribute and has been extended with a "Location" string attribute: 1455
<ResourceMetadata xmlns="http://schemas.dmtf.org/cimi/1"> 1456 <id> http://example.org/types/VC </id> 1457 <typeURI> http://schemas.dmtf.org/cimi/1/VolumeConfiguration </typeURI> 1458 <name> VolumeConfiguration </name> 1459 <attribute name="format" type="string" required="false"> 1460 <value> ext4 </value> 1461 <value> ntfs </value> 1462 </attribute> 1463 <attribute name="Location" namespace="http://example.org/" type="string"/> 1464 </ResourceMetadata> 1465
The following shows the same VolumeConfiguration but the "Location" attribute is restricted to a set of 1466 values and is required: 1467
<ResourceMetadata xmlns="http://schemas.dmtf.org/cimi/1"> 1468 <id> http://example.org/types/VC </id> 1469 <typeURI> http://schemas.dmtf.org/cimi/1/VolumeConfiguration </typeURI> 1470 <name> VolumeConfiguration </name> 1471 <attribute name="format" type="string" required="false"> 1472 <value> ext4 </value> 1473 <value> ntfs </value> 1474 </attribute> 1475 <attribute name="Location" namespace="http://example.org/" type="string" 1476 required="true"> 1477 <value> NYC </value> 1478 <value> LAX </value> 1479 </attribute> 1480 </ResourceMetadata> 1481
The following shows the same VolumeConfiguration serialized in JSON: 1482
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 41
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeConfiguration", 1483 "id": "http://example.org/types/VC", 1484 "typeURI": "http://schemas.dmtf.org/cimi/1/VolumeConfiguration", 1485 "name": "VolumeConfiguration", 1486 "attributes": [ 1487 { "name": "format", 1488 "type": "string", 1489 "required": false, 1490 "values": [ "ext4", "ntfs" ] 1491 }, 1492 { "name": "Location", 1493 "namespace": "http://example.org", 1494 "type": "string", 1495 "required": true, 1496 "values": [ "NYC", "LAX" ] 1497 } 1498 ] 1499 } 1500
The following shows a Volume serialized in JSON which provides an action of data compression. In this 1501 specific example the method returned (POST) is for the CIMI HTTP protocol; should another protocol be 1502 implemented (e.g. SOAP) the "method" will be different: 1503
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeConfiguration", 1504 "id": "http://example.org/types/V", 1505 "typeURI": "http://schemas.dmtf.org/cimi/1/Volume", 1506 "name": "Volume", 1507 "actions": [ 1508 { 1509 "name": "compress", 1510 "uri": "http://example.org/cimi/action/compress" 1511 "description": "Compress the data stored in the volume", 1512 "method": "POST" 1513 } 1514 ] 1515 } 1516
5.11.2 Capabilities 1517
The following table describes the capability URIs defined by this specification. Providers may define new 1518 URIs and it is recommended that these URIs be dereferencable such that Consumers can discover the 1519 details of the new capability. The "Resource Name" column contains the name of the resource that may 1520 contain the specified capability within its ResourceMetadata. The "Capability Name" column contains the 1521 name of the specified capability and shall be unique within the scope of the corresponding resource. Each 1522 capability's URI shall be constructed by appending the "Resource Name", a slash(/), and the "Capability 1523 Name" to "http://schemas.dmtf.org/cimi/1/capability/". For example, the Machine's "InitialState" capability 1524 would have a URI of: 1525
http://schemas.dmtf.org/cimi/1/capability/Machine/InitialState 1526
Note that capabilities that apply to the Provider in general, and are not specific to any one resource, are 1527 associated with the Cloud Entry Point resource (in case a capability would apply only to the 1528 CloudEntryPoint resource itself, its definition would say so). 1529
Resource Name Capability Name Description
CloudEntryPoint ExpandParameter Indicated whether the $expand query parameter is supported by the Provider.
CloudEntryPoint FilterParameter Indicates whether the $filter query parameter is supported by the Provider.
CloudEntryPoint firstParameter Indicates whether the $first and $last query parameters are supported by the Provider. Note that either both
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
42 DMTF Standard Version 1.0.0
Resource Name Capability Name Description
shall be supported or neither shall be supported.
CloudEntryPoint SelectParameter Indicated whether the $select query parameter is supported by the Provider.
System SystemComponentTemplateByValue Indicates that the Provider supports specifying Component Templates by-value in SystemTemplates.
Machine DefaultInitialState Indicates what the default initial state of a new Machine will be unless explicitly set by the "initialState" attribute of the MachineTemplate.
Machine InitialStates Indicates the list of allowable initial states that Consumer may choose from when creating a new Machine.
Machine MachineConfigByValue Indicates that the Provider supports specifying Machine Configurations by-value in Machine create operations. If true the MachineTemplateByValue capability shall also be specified with a value of true.
Machine MachineCredentialByValue Indicates that the Provider supports specifying Credential by-value in Machine create operations. If true the MachineTemplateByValue capability shall also be specified with a value of true.
Machine MachineImageByValue Indicates that the Provider supports specifying Machine Images by-value in Machine create operations. If true the MachineTemplateByValue capability shall also be specified with a value of true.
Machine MachineVolumeTemplatesByValue Indicates that the Provider supports specifying VolumeTemplates by-value in Machine create operations. If true the MachineTemplateByValue capability shall also be specified with a value of true.
Machine MachineStopForce Indicates that the Provider supports specifying the "force" option on the stop and restart operations.
Machine MachineStopForceDefault Indicates the default way in which the Provider will stop/restart a Machine. When set to "true", the Provider will forcefully stop the Machine, as opposed to a value of "false," which indicates that the Provider will attempt to gracefully stop the Machine.
Machine RestoreFromImage Indicates that the Provider supports restoring Machines from Machine Images that are not SNAPSHOT Machine Images.
Machine UserData Indicates which userData injection method will be used. See 5.14.1 for more information.
Credential CredentialTemplateByValue Indicates that the Provider supports specifying Credential Templates by-value in Credential create operations.
Volume SharedVolumeSupport Indicates that the Provider supports the sharing of volume resources across Machines. The value specified is of type "boolean."
Volume VolumeConfigByValue Indicates that the Provider supports specifying Volume Configurations by-value in the Volume create operation. If true, the VolumeTemplateByValue capability shall also be specified with a value of true.
Volume VolumeImageByValue Indicates that the Provider supports specifying Volume
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 43
Resource Name Capability Name Description
Images by-value in the Volume create operation. If true the VolumeTemplateByValue capability shall also be specified with a value of true.
Volume VolumeSnapshot Indicates that the Provider supports creating a new VolumeImage by referencing an existing Volume.
Volume VolumeTemplateByValue Indicates that the Provider supports specifying Volume Templates by-value in Volume create operations.
Network NetworkConfigByValue Indicates that the Provider supports specifying Network Configurations by-value in the Network create operation.
Network NetworkTemplateByValue Indicates that the Provider supports specifying Network Templates by-value in the Network create operation.
NetworkPort NetworkPortConfigByValue Indicates that the Provider supports specifying NetworkPort Configurations by-value in the NetworkPort create operation.
NetworkPort NetworkPortTemplateByValue Indicates that the Provider supports specifying NetworkPort Templates by-value in the NetworkPort create operation.
ForwardingGroup MixedNetwork Indicates whether ForwardingGroups can support both private and public connection at the same time.
Job JobRetention If the Provider supports Job resources as specified in this document, this capability indicates in minutes how long a job will live in the system before its deleted. In this case, the value attribute provides the number of minutes (e.g., 30 min). The value specified is of type "integer."
Meter MeterConfigByValue Indicates that the Provider supports specifying MeterConfigurations by-value in the Meter create operation.
Meter MeterTemplateByValue Indicates that the Provider supports specifying Meter Templates by-value in the Meter create operation.
EventLog Linked Indicates that the Provider shall delete EventLogs that are associated with resources when the resource is deleted.
The following example shows the ResourceMetadata for a Machine that advertises some of its 1530 capabilities: 1531
JSON serialization: 1532
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/ResourceMetadata", 1533 "id": "http://example.com/types/Machine", 1534 "typeURI": "http://schemas.dmtf.org/cimi/1/Machine", 1535 "name": "Machine", 1536 "capabilities": [ 1537 { "uri": 1538 "http://schemas.dmtf.org/cimi/1/capability/Machine/MachineConfigByValue", 1539 "value": true }, 1540 { "uri": 1541 "http://schemas.dmtf.org/cimi/1/capability/Machine/MachineImageByValue", 1542 "value": true }, 1543 { "uri": 1544 "http://schemas.dmtf.org/cimi/1/capability/Machine/DefaultInitialState", 1545 "value": "STARTED" } 1546
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
44 DMTF Standard Version 1.0.0
} 1547 } 1548
XML serialization: 1549
<ResourceMetadata xmlns="http://schemas.dmtf.org/cimi/1"> 1550 <id> http://example.org/types/Machine </id> 1551 <typeURI> http://schemas.dmtf.org/cimi/1/Machine </typeURI> 1552 <name> Machine </name> 1553 <capability 1554 uri="http://schemas.dmtf.org/cimi/1/capability/Machine/MachineConfigByValue"> 1555 true 1556 </capability> 1557 <capability 1558 uri="http://schemas.dmtf.org/cimi/1/capability/Machine/MachineImageByValue"> 1559 true 1560 </capability> 1561 <capability 1562 uri="http://schemas.dmtf.org/cimi/1/capability/Machine/DefaultInitialState"> 1563 STARTED 1564 </capability> 1565 </ResourceMetadata> 1566
5.11.3 ResourceMetadata Collection 1567
A ResourceMetadata Collection resource represents the collection of ResourceMetadata resources within 1568 a Provider and follows the Collection pattern defined in clause 5.5.12. Note that modifications of the 1569 resources within this collection will typically be reserved for administrator type of CIMI Consumers. This 1570 resource shall be serialized as follows: 1571
JSON serialization: 1572
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/ResourceMetadataCollection", 1573 "id": string, 1574 "count": number, 1575 "resourceMetadatas": [ 1576 { "resourceURI": "http://schemas.dmtf.org/cimi/1/ResourceMetadata", 1577 "id": string, 1578 ... remaining ResourceMetadata attributes ... 1579 }, + 1580 ], ? 1581 "operations": [ { "rel": "add", "href": string } ? ] 1582 ... 1583 } 1584
XML serialization: 1585
<Collection 1586 resourceURI="http://schemas.dmtf.org/cimi/1/ResourceMetadataCollection" 1587 xmlns="http://schemas.dmtf.org/cimi/1"> 1588 <id> xs:anyURI </id> 1589 <count> xs:integer </count> 1590 <ResourceMetadata> 1591 <id> xs:anyURI </id> 1592 ... remaining ResourceMetadata attributes ... 1593 </ResourceMetadata> * 1594 <operation rel="add" href="xs:anyURI"/> ? 1595 <xs:any>* 1596 </Collection> 1597
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 45
5.12 Cloud Entry Point 1598
The Cloud Entry Point represents the entry point into the cloud defined by the CIMI Model. The Cloud 1599 Entry Point implements a catalog of resources, such as Systems, System Templates, Machines, Machine 1600 Templates, etc., that can be queried and browsed by the Consumer. 1601
Figure 1 illustrates the Cloud Entry Point and its relationship to other resources. Although this drawing is 1602 in the style of a Resource Relationship diagram, the use of UML is neither rigorous nor normative. 1603
1604
Figure 1 - Cloud Entry Point 1605
When a Consumer issues a read on the Cloud Entry Point resource, then the Provider shall return a 1606 Cloud Entry Point resource that only catalogs resources that this Consumer is allowed to perform 1607 operations on. 1608
Name CloudEntryPoint
Type URI http://www.dmf.org/cimi/CloudEntryPoint
Attribute Type Description
baseURI URI An absolute URI that references the "base URI" of the Provider. This URI shall be used to convert relative URIs to resources within this Provider to absolute URIs. See the "URIs" clause of 5.5.
Constraints:
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
46 DMTF Standard Version 1.0.0
Provider: support mandatory; immutable Consumer: support mandatory; read-only
resourceMetadata collection [ResourceMetadata]
A reference to ResourceMetadata Collection of this Cloud Entry Point. The collection contains the resources supported by the Provider. If an resource does not have any metadata, it will not appear in this list, e.g., it has no constraints beyond what the CIMI specification defines nor does it have any extension attributes.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
systems collection [System]
A reference to the System Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
systemTemplates collection [SystemTemplate]
A reference to the System Template Collection of this CloudEntry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
machines collection [Machine]
A reference to the Machine Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
machineTemplates collection [MachineTemplate]
A reference to the Machine Template Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
machineConfigs collection [MachineConfiguration]
A reference to the Machine Configuration Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
machineImages collection [MachineImage]
A reference to the Machine Image Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
credentials collection [Credential]
A reference to the Credential Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
credentialTemplates collection [CredentialTemplate]
A reference to the Credential Template Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
volumes collection [Volume]
A reference to the Volume Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 47
volumeTemplates collection [VolumeTemplate]
A reference to the Volume Template Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
volumeConfigs collection [VolumeConfiguration]
A reference to the Volume Configuration Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
volumeImages collection [VolumeImage]
A reference to the Volume Image Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
networks collection [Network]
A reference to the Network Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
networkTemplates collection [NetworkTemplate]
A reference to the Network Template Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
networkConfigs collection [NetworkConfiguration]
A reference to the Network Configuration Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
networkPorts collection [NetworkPort]
A reference to the Network Port Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
networkPortTemplates collection [NetworkPortTemplate]
A reference to the Network Port Template Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
networkPortConfigs collection [NetworkPortConfiguration]
A reference to the Network Port Configuration Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
addresses collection [Address]
A reference to the Address Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
addressTemplates collection [AddressTemplate]
A reference to the Address Template Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
48 DMTF Standard Version 1.0.0
forwardingGroups collection [ForwardingGroup]
A reference to the Forwarding Group Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
forwardingGroupTemplates collection [ForwardingGroupTemplate]
A reference to the Forwarding Group Template Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
jobs collection [Job]
A reference to the Jobs Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
meters collection [Meter]
A reference to the Meter Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
meterTemplates collection [MeterTemplate]
A reference to the Meter Template Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
meterConfigs collection [MeterConfiguration]
A reference to the Meter Configuration Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
eventLogs collection [EventLog]
A reference to the Event Log Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
eventLogTemplates collection [EventLogTemplate]
A reference to the Event Log Collection of this Cloud Entry Point.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
Each of the collections mentioned above will be defined within the related resource definition clauses. For 1609 example, the MachineCollection resource will be defined in clause 5.14.2 as part of the Machine related 1610 resources. 1611
The following describes the serialization of the resource in both JSON and XML: 1612
JSON media type: application/json 1613
JSON serialization: 1614
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/CloudEntryPoint", 1615 "id": string, 1616 "name": string, ? 1617 "description": string, ? 1618 "created": string, ? 1619 "updated": string, ? 1620 "properties": { "key": string, + }, ? 1621 "baseURI": string, 1622
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 49
"resourceMetadata": { "href": string }, ? 1623 "systems": { "href": string }, ? 1624 "systemTemplates": { "href": string }, ? 1625 "machines": { "href": string }, ? 1626 "machineTemplates": { "href": string }, ? 1627 "machineConfigs": { "href": string }, ? 1628 "machineImages": { "href": string }, ? 1629 "credentials": { "href" string }, ? 1630 "credentialTemplates": { "href" string }, ? 1631 "volumes": { "href": string }, ? 1632 "volumeTemplates": { "href": string }, ? 1633 "volumeConfigs": { "href": string }, ? 1634 "volumeImages": { "href": string }, ? 1635 "networks": { "href": string }, ? 1636 "networkTemplates": { "href": string }, ? 1637 "networkConfigs": { "href": string }, ? 1638 "networkPorts": { "href": string }, ? 1639 "networkPortTemplates": { "href": string }, ? 1640 "networkPortConfigs": { "href": string }, ? 1641 "addresses": { "href": string }, ? 1642 "addressTemplates": { "href": string }, ? 1643 "forwardingGroups" { "href": string }, ? 1644 "forwardingGroupTemplates" { "href": string }, ? 1645 "jobs": { "href": string }, ? 1646 "meters": { "href": string }, ? 1647 "meterTemplates": { "href": string }, ? 1648 "meterConfigs": { "href": string }, ? 1649 "eventLogs": { "href": string }, ? 1650 "eventLogTemplates": { "href": string }, ? 1651 "operations": [ 1652 { "rel": "edit", "href": string }, ? 1653 ] ? 1654 ... 1655 } 1656
XML media type: application/xml 1657
XML serialization: 1658
<CloudEntryPoint xmlns="http://schemas.dmtf.org/cimi/1"> 1659 <id> xs:anyURI </id> 1660 <name> xs:string </name> ? 1661 <description> xs:string </description> ? 1662 <created> xs:dateTime </created> ? 1663 <updated> xs:dateTime </updated> ? 1664 <property key="xs:string"> xs:string </property> * 1665 <baseURI> xs:anyURI </baseURI> 1666 <resourceMetadata href="xs:anyURI"/> ? 1667 <systems href="xs:anyURI"/> ? 1668 <systemTemplates href="xs:anyURI"/> ? 1669 <machines href="xs:anyURI"/> ? 1670 <machineTemplates href="xs:anyURI"/> ? 1671 <machineConfigs href="xs:anyURI"/> ? 1672 <machineImages href="xs:anyURI"/> ? 1673 <credentials href="xs:anyURI"/> ? 1674 <credentialTemplates href="xs:anyURI"/> ? 1675 <volumes href="xs:anyURI"/> ? 1676 <volumeTemplates href="xs:anyURI"/> ? 1677 <volumeConfigs href="xs:anyURI"/> ? 1678 <volumeImages href="xs:anyURI"/> ? 1679 <networks href="xs:anyURI"/> ? 1680 <networkTemplates href="xs:anyURI"/> ? 1681 <networkConfigs href="xs:anyURI"/> ? 1682 <networkPorts href="xs:anyURI"/> ? 1683
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
50 DMTF Standard Version 1.0.0
<networkPortTemplates href="xs:anyURI"/> ? 1684 <networkPortConfigs href="xs:anyURI"/> ? 1685 <addresses href="xs:anyURI"/> ? 1686 <addressTemplates href="xs:anyURI"/> ? 1687 <forwardingGroups href="xs:anyURI"/> ? 1688 <forwardingGroupTemplates href="xs:anyURI"/> ? 1689 <jobs href="xs:anyURI"/> ? 1690 <meters href="xs:anyURI"/> ? 1691 <meterTemplates href="xs:anyURI"/> ? 1692 <meterConfigs href="xs:anyURI"/> ? 1693 <eventLogs href="xs:anyURI"/> ? 1694 <eventLogTemplates href="xs:anyURI"/> ? 1695 <operation rel="edit" href="xs:anyURI"/> ? 1696 <xs:any>* 1697 </CloudEntryPoint> 1698
5.12.1 Operations 1699
This resource supports the Read and Update operations. 1700
5.13 System resources and relationships 1701
Figure 2 illustrates the resources involved in constructing a System and their relationships. Although this 1702 drawing is in the style of a Resource Relationship diagram, the use of UML is neither rigorous nor 1703 normative. 1704
Figure 2 - System resources 1705
5.13.1 System 1706
A System is a realized resource that consists of one or more Networks, Volumes, Machines, (and others) 1707 that could be connected and associated with each other. A System can be created from the interpretation 1708 of a SystemTemplate. A System can be operated and managed as a single resource and usually forms a 1709 stack of service. For example, a shopping cart system consists of machines for web servers and 1710 databases, network addresses for public access, and volumes for database files. A System may directly 1711 provide a user-facing component, or may provide an infrastructure component. 1712
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 51
A System has several "top-level" attributes that are collections of references to resources that are owned 1713 by the System. A resource that is owned by a System has its lifecycle directly tied to the lifecycle of the 1714 System. In particular, when a System is deleted, all of its owned resources shall also be deleted. 1715 Generally, operations on a System will translate into operations on its owned resources. 1716
However, a resource owned by a System may in turn refer to some other resources that are not owned by 1717 this System, e.g., a Machine in a System can refer to a Volume that is not owned by this System. More 1718 precisely, the following rules apply: 1719
By default, all resources that are created as the result of a System creation are also owned by 1720 the System. (This rule can be overridden by subsequent modifications to the top-level System 1721 collection attributes.) 1722
Ownership of a resource to a System is expressed by including the reference to the resource in 1723 the appropriate top-level System collection attribute, or by ownership to a sub-System of this 1724 System (i.e., ownership is transitive across hierarchies of Systems). 1725
When a resource other than a System is added to an existing System (i.e., becomes owned by 1726 the System by insertion of its reference to the appropriate top-level System collection attribute) 1727 other resources already referred by this added resource are by default not owned by the 1728 System. (This rule can be overridden by subsequent modifications to the top-level System 1729 collection attributes.) 1730
A resource shall not be owned by more than one System at any point in time (unless there is an 1731 ownership relationship between these Systems). Note that a resource does not need to owned by a 1732 System (i.e. part of any of its collection attributes) to be references/used by a resource in the System. By 1733 not including it in any of the collections, the resource will simply not be part of any actions performed on 1734 the System. 1735
Name System
Type URI http://schemas.dmtf.org/cimi/1/System
Attribute Type Description
state string The operational state of the System.
Allowable values include:
CREATING: The System is in the process of being created. Allowable action when in this state is: delete.
STARTING/STARTED/STOPPING/STOPPED/PAUSING/PAUSED/SUSPENDING/SUSPENDED: All of the Machines referenced by this System are one of
these states. See clause 5.14.1for the list of available actions based on the state of a Machine.
MIXED: This state indicates that either no Machines are referenced by this
System or the Machines referenced by this System are in varying states. Allowable action when in this state is: delete.
DELETING: The System is in the process of being deleted. Allowable action when in this state is: delete.
ERROR: The Provider has detected an error in the System. Allowable action when in this state is: delete.
Providers may define additional values.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
systems collection [SystemSystem]
A reference to the list of references to nested Systems owned by this System. Adding an item (of type System) to this list is logically equivalent to associating the referenced System to this System with a "containment relationship."
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
52 DMTF Standard Version 1.0.0
Removing an item from this list is logically equivalent to de-associating the referenced System from this System.
Note: the SystemSystem resource type is representing an association between the System and another System. It is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
machines collection [SystemMachine]
A reference to the list of references to Machines owned by this System. Adding an item (of type Machine) to this list is logically equivalent to associating the Machine to this System with a "containment relationship." Removing an item from this list is logically equivalent to de-associating the Machine from this System.
Note: the SystemMachine resource type is representing an association between the System and a Machine. It is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
credentials collection [SystemCredential]
A reference to the list of references to Credentials owned by this System. Adding an item (of type Credential) to this list is logically equivalent to associating the Credential to this System with a "containment relationship." Removing an item from this list is logically equivalent to de-associating the Credential from this System.
Note: the SystemCredential resource type is representing an association between the System and a Credential. It is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
volumes collection [SystemVolume]
A reference to the list of references Volumes owned by this System. Adding an item (of type Volume) to this list is logically equivalent to associating the Volume to this System with a "containment relationship." Removing an item from this list is logically equivalent to de-associating the Volume from this System.
Note: the SystemVolume resource type is representing an association between the System and a Volume. It is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
networks collection [SystemNetwork]
A reference to the list of references Networks owned by this System. Adding an item (of type Network) to this list is logically equivalent to associating the Network to this System with a "containment relationship." Removing an item from this list is logically equivalent to de-associating the Network from this System.
Note: the SystemNetwork resource type is representing an association between the System and a Network. It is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
networkPorts collection [SystemNetworkPort]
A reference to the list of references NetworkPorts owned by this System. Adding an item (of type NetworkPort) to this list is logically equivalent to associating the NetworkPort to this System with a "containment relationship." Removing an item from this list is logically equivalent to de-associating the NetworkPort from this System.
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 53
Note: the SystemNetworkPort resource type is representing an association between the System and a NetworkPort. It is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
addresses collection [SystemAddress]
A reference to the list of references Addresses owned by this System. Adding an item (of type Address) to this list is logically equivalent to associating the Address to this System with a "containment relationship." Removing an item from this list is logically equivalent to de-associating the Address from this System.
Note: the SystemAddress resource type is representing an association between the System and a Address. It is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
forwardingGroups collection [SystemForwardingGroup]
A reference to the list of references Forwarding Groups owned by this System. Adding an item (of type ForwardingGroup) to this list is logically equivalent to associating the Forwarding Group to this System with a "containment relationship." Removing an item from this list is logically equivalent to de-associating the Forwarding Group from this System.
Note: the SystemForwardingGroup resource type is representing an association between the System and a ForwardingGroup. It is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
meters collection [Meter]
A reference to the list of Meters monitored for this System.
Note that these Meters are for the System and not for any individual component in the System.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
eventLog ref A reference to the EventLog of this System.
Note that this EventLog is for the System and not for any individual component in the System.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
JSON media type: application/json 1736
JSON serialization: 1737
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/System", 1738 "id": string, 1739 "name": string, ? 1740 "description": string, ? 1741 "created": string, ? 1742 "updated": string, ? 1743 "properties": { "key": string, + }, ? 1744 "state": string, 1745 "systems": { "href": string }, ? 1746 "machines": { "href": string }, ? 1747 "credentials": { "href": string }, ? 1748
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
54 DMTF Standard Version 1.0.0
"volumes": { "href": string }, ? 1749 "networks": { "href": string }, ? 1750 "networkPorts": { "href": string }, ? 1751 "addresses": { "href": string }, ? 1752 "forwardingGroups": { "href": string }, ? 1753 "meters": { "href": string }, ? 1754 "eventLog": { "href": string }, ? 1755 "operations": [ 1756 { "rel": "edit", "href": string }, ? 1757 { "rel": "delete", "href": string }, ? 1758 { "rel": "http://schemas.dmtf.org/cimi/1/action/start", "href": string }, ? 1759 { "rel": "http://schemas.dmtf.org/cimi/1/action/stop", "href": string }, ? 1760 { "rel": "http://schemas.dmtf.org/cimi/1/action/restart", "href": string }, 1761 ? 1762 { "rel": "http://schemas.dmtf.org/cimi/1/action/pause", "href": string }, ? 1763 { "rel": "http://schemas.dmtf.org/cimi/1/action/suspend", "href": string }, 1764 ? 1765 { "rel": "http://schemas.dmtf.org/cimi/1/action/export", "href": string } ? 1766 ] ? 1767 ... 1768 } 1769
XML media type: application/xml 1770
XML serialization: 1771
<System xmlns="http://schemas.dmtf.org/cimi/1"> 1772 <id> xs:anyURI </id> 1773 <name> xs:string </name> ? 1774 <description> xs:string </description> ? 1775 <created> xs:dateTime </created> ? 1776 <updated> xs:dateTime </updated> ? 1777 <property key="xs:string"> xs:string </property> * 1778 <state> xs:string </state> 1779 <systems href="xs:anyURI"/> ? 1780 <machines href="xs:anyURI"/> ? 1781 <credentials href="xs:anyURI"/> ? 1782 <volumes href="xs:anyURI"/> ? 1783 <networks href="xs:anyURI"/> ? 1784 <networkPorts href="xs:anyURI"/> ? 1785 <addresses href="xs:anyURI"/> ? 1786 <forwardingGroups href="xs:anyURI"/> ? 1787 <meters href="xs:anyURI"/> ? 1788 <eventLog href="xs:anyURI"/> ? 1789 <operation rel="edit" href="xs:anyURI"/> ? 1790 <operation rel="delete" href="xs:anyURI"/> ? 1791 <operation rel="http://schemas.dmtf.org/cimi/1/action/start" 1792 href="xs:anyURI"/> ? 1793 <operation rel="http://schemas.dmtf.org/cimi/1/action/stop" 1794 href="xs:anyURI"/> ? 1795 <operation rel="http://schemas.dmtf.org/cimi/1/action/restart" 1796 href="xs:anyURI"/> ? 1797 <operation rel="http://schemas.dmtf.org/cimi/1/action/pause" 1798 href="xs:anyURI"/> ? 1799 <operation rel="http://schemas.dmtf.org/cimi/1/action/suspend" 1800 href="xs:anyURI"/> ? 1801 <operation rel="http://schemas.dmtf.org/cimi/1/action/export" 1802 href="xs:anyURI"/> ? 1803 <xs:any>* 1804 </System> 1805
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 55
5.13.1.1 Collections 1806
The following describes the collection resources owned by Systems. 1807
5.13.1.1.1 SystemSystem Collection 1808
The resource type for each item of this collection is “SystemSystem”, defined as follows: 1809
Name SystemSystem
Type URI http://schemas.dmtf.org/cimi/1/SystemSystem
Attribute Type Description
system ref Reference to a System resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
JSON serialization: 1810
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemSystemCollection", 1811 "id": string, 1812 "count": number, 1813 "systemSystems": [ 1814 { "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemSystem", 1815 "id": string, 1816 "name": string, ? 1817 "description": string, ? 1818 "created": string, ? 1819 "updated": string, ? 1820 "properties": { "key": string, + }, ? 1821 "system": { "href": string }, 1822 "operations": [ 1823 { "rel": "edit", "href": string }, ? 1824 { "rel": "delete", "href": string } ? 1825 ] ? 1826 ... 1827 }, + 1828 ], ? 1829 "operations": [ { "rel": "add", "href": string } ? ] 1830 ... 1831 } 1832
XML serialization: 1833
<Collection 1834 resourceURI="http://schemas.dmtf.org/cimi/1/SystemSystemCollection" 1835 xmlns="http://schemas.dmtf.org/cimi/1"> 1836 <id> xs:anyURI </id> 1837 <count> xs:integer </count> 1838 <SystemSystem> 1839 <id> xs:anyURI </id> 1840 <name> xs:string </name> ? 1841 <description> xs:string </description> ? 1842 <created> xs:dateTime </created> ? 1843 <updated> xs:dateTime </updated> ? 1844 <property key="xs:string"> xs:string </property> * 1845 <system href="xs:anyURI"/> 1846 <operation rel="edit" href="xs:anyURI"/> ? 1847 <operation rel="delete" href="xs:anyURI"/> ? 1848 <xs:any>* 1849 </SystemSystem> * 1850 <operation rel="add" href="xs:anyURI"/> ? 1851
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
56 DMTF Standard Version 1.0.0
<xs:any>* 1852 </Collection> 1853
5.13.1.1.2 SystemMachine Collection 1854
The resource type for each item of this collection is “SystemMachine”, defined as follows: 1855
Name SystemMachine
Type URI http://schemas.dmtf.org/cimi/1/SystemMachine
Attribute Type Description
machine ref Reference to a Machine resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
JSON serialization: 1856
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemMachineCollection", 1857 "id": string, 1858 "count": number, 1859 "systemMachines": [ 1860 { "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemMachine", 1861 "id": string, 1862 "name": string, ? 1863 "description": string, ? 1864 "created": string, ? 1865 "updated": string, ? 1866 "properties": { "key": string, + }, ? 1867 "machine": { "href": string }, 1868 "operations": [ 1869 { "rel": "edit", "href": string }, ? 1870 { "rel": "delete", "href": string } ? 1871 ] ? 1872 ... 1873 }, + 1874 ], ? 1875 "operations": [ { "rel": "add", "href": string } ? ] 1876 ... 1877 } 1878
XML serialization: 1879
<Collection 1880 resourceURI="http://schemas.dmtf.org/cimi/1/SystemMachineCollection" 1881 xmlns="http://schemas.dmtf.org/cimi/1"> 1882 <id> xs:anyURI </id> 1883 <count> xs:integer </count> 1884 <SystemMachine> 1885 <id> xs:anyURI </id> 1886 <name> xs:string </name> ? 1887 <description> xs:string </description> ? 1888 <created> xs:dateTime </created> ? 1889 <updated> xs:dateTime </updated> ? 1890 <property key="xs:string"> xs:string </property> * 1891 <machine href="xs:anyURI"/> 1892 <operation rel="edit" href="xs:anyURI"/> ? 1893 <operation rel="delete" href="xs:anyURI"/> ? 1894 <xs:any>* 1895 </SystemMachine> * 1896 <operation rel="add" href="xs:anyURI"/> ? 1897 <xs:any>* 1898
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 57
</Collection> 1899
5.13.1.1.3 SystemCredential Collection 1900
The resource type for each item of this collection is “SystemCredential”, defined as follows: 1901
Name SystemCredential
Type URI http://schemas.dmtf.org/cimi/1/SystemCredential
Attribute Type Description
credential ref Reference to a Credential resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
JSON serialization: 1902
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemCredentialCollection", 1903 "id": string, 1904 "count": number, 1905 "systemCredentials": [ 1906 { "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemCredential", 1907 "id": string, 1908 "name": string, ? 1909 "description": string, ? 1910 "created": string, ? 1911 "updated": string, ? 1912 "properties": { "key": string, + }, ? 1913 "credential": { "href": string }, 1914 "operations": [ 1915 { "rel": "edit", "href": string }, ? 1916 { "rel": "delete", "href": string } ? 1917 ] ? 1918 ... 1919 }, + 1920 ], ? 1921 "operations": [ { "rel": "add", "href": string } ? ] 1922 ... 1923 } 1924
XML serialization: 1925
<Collection 1926 resourceURI="http://schemas.dmtf.org/cimi/1/SystemCredentialCollection" 1927 xmlns="http://schemas.dmtf.org/cimi/1"> 1928 <id> xs:anyURI </id> 1929 <count> xs:integer </count> 1930 <SystemCredential> 1931 <id> xs:anyURI </id> 1932 <name> xs:string </name> ? 1933 <description> xs:string </description> ? 1934 <created> xs:dateTime </created> ? 1935 <updated> xs:dateTime </updated> ? 1936 <property key="xs:string"> xs:string </property> * 1937 <credential href="xs:anyURI"/> 1938 <operation rel="edit" href="xs:anyURI"/> ? 1939 <operation rel="delete" href="xs:anyURI"/> ? 1940 <xs:any>* 1941 </SystemCredential> * 1942 <operation rel="add" href="xs:anyURI"/> ? 1943 <xs:any>* 1944 </Collection> 1945
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
58 DMTF Standard Version 1.0.0
5.13.1.1.4 SystemVolume Collection 1946
The resource type for each item of this collection is “SystemVolume”, defined as follows: 1947
Name SystemVolume
Type URI http://schemas.dmtf.org/cimi/1/SystemVolume
Attribute Type Description
volume ref Reference to a Volume resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
JSON serialization: 1948
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemVolumeCollection", 1949 "id": string, 1950 "count": number, 1951 "systemVolumes": [ 1952 { "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemVolume", 1953 "id": string, 1954 "name": string, ? 1955 "description": string, ? 1956 "created": string, ? 1957 "updated": string, ? 1958 "properties": { "key": string, + }, ? 1959 "volume": { "href": string }, 1960 "operations": [ 1961 { "rel": "edit", "href": string }, ? 1962 { "rel": "delete", "href": string } ? 1963 ] ? 1964 ... 1965 }, + 1966 ], ? 1967 "operations": [ { "rel": "add", "href": string } ? ] 1968 ... 1969 } 1970
XML serialization: 1971
<Collection 1972 resourceURI="http://schemas.dmtf.org/cimi/1/SystemVolumeCollection" 1973 xmlns="http://schemas.dmtf.org/cimi/1"> 1974 <id> xs:anyURI </id> 1975 <count> xs:integer </count> 1976 <SystemVolume> 1977 <id> xs:anyURI </id> 1978 <name> xs:string </name> ? 1979 <description> xs:string </description> ? 1980 <created> xs:dateTime </created> ? 1981 <updated> xs:dateTime </updated> ? 1982 <property key="xs:string"> xs:string </property> * 1983 <volume href="xs:anyURI"/> 1984 <operation rel="edit" href="xs:anyURI"/> ? 1985 <operation rel="delete" href="xs:anyURI"/> ? 1986 <xs:any>* 1987 </SystemVolume> * 1988 <operation rel="add" href="xs:anyURI"/> ? 1989 <xs:any>* 1990 </Collection> 1991
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 59
5.13.1.1.5 SystemNetwork Collection 1992
The resource type for each item of this collection is “SystemNetwork”, defined as follows: 1993
Name SystemNetwork
Type URI http://schemas.dmtf.org/cimi/1/SystemNetwork
Attribute Type Description
network ref Reference to a Network resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
JSON serialization: 1994
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemNetworkCollection", 1995 "id": string, 1996 "count": number, 1997 "systemNetworks": [ 1998 { "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemNetwork", 1999 "id": string, 2000 "name": string, ? 2001 "description": string, ? 2002 "created": string, ? 2003 "updated": string, ? 2004 "properties": { "key": string, + }, ? 2005 "network": { "href": string }, 2006 "operations": [ 2007 { "rel": "edit", "href": string }, ? 2008 { "rel": "delete", "href": string } ? 2009 ] ? 2010 ... 2011 }, + 2012 ], ? 2013 "operations": [ { "rel": "add", "href": string } ? ] 2014 ... 2015 } 2016
XML serialization: 2017
<Collection 2018 resourceURI="http://schemas.dmtf.org/cimi/1/SystemNetworkCollection" 2019 xmlns="http://schemas.dmtf.org/cimi/1"> 2020 <id> xs:anyURI </id> 2021 <count> xs:integer </count> 2022 <SystemNetwork> 2023 <id> xs:anyURI </id> 2024 <name> xs:string </name> ? 2025 <description> xs:string </description> ? 2026 <created> xs:dateTime </created> ? 2027 <updated> xs:dateTime </updated> ? 2028 <property key="xs:string"> xs:string </property> * 2029 <network href="xs:anyURI"/> 2030 <operation rel="edit" href="xs:anyURI"/> ? 2031 <operation rel="delete" href="xs:anyURI"/> ? 2032 <xs:any>* 2033 </SystemNetwork> * 2034 <operation rel="add" href="xs:anyURI"/> ? 2035 <xs:any>* 2036 </Collection> 2037
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
60 DMTF Standard Version 1.0.0
5.13.1.1.6 SystemNetworkPort Collection 2038
The resource type for each item of this collection is “SystemNetwork”, defined as follows: 2039
Name SystemNetworkPort
Type URI http://schemas.dmtf.org/cimi/1/SystemNetworkPort
Attribute Type Description
networkPort ref Reference to a NetworkPort resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
JSON serialization: 2040
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemNetworkPortCollection", 2041 "id": string, 2042 "count": number, 2043 "systemNetworkPorts": [ 2044 { "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemNetworkPort", 2045 "id": string, 2046 "name": string, ? 2047 "description": string, ? 2048 "created": string, ? 2049 "updated": string, ? 2050 "properties": { "key": string, + }, ? 2051 "networkPort": { "href": string }, 2052 "operations": [ 2053 { "rel": "edit", "href": string }, ? 2054 { "rel": "delete", "href": string } ? 2055 ] ? 2056 ... 2057 }, + 2058 ], ? 2059 "operations": [ { "rel": "add", "href": string } ? ] 2060 ... 2061 } 2062
XML serialization: 2063
<Collection 2064 resourceURI="http://schemas.dmtf.org/cimi/1/SystemNetworkPortCollection" 2065 xmlns="http://schemas.dmtf.org/cimi/1"> 2066 <id> xs:anyURI </id> 2067 <count> xs:integer </count> 2068 <SystemNetworkPort> 2069 <id> xs:anyURI </id> 2070 <name> xs:string </name> ? 2071 <description> xs:string </description> ? 2072 <created> xs:dateTime </created> ? 2073 <updated> xs:dateTime </updated> ? 2074 <property key="xs:string"> xs:string </property> * 2075 <networkPort href="xs:anyURI"/> 2076 <operation rel="edit" href="xs:anyURI"/> ? 2077 <operation rel="delete" href="xs:anyURI"/> ? 2078 <xs:any>* 2079 </SystemNetworkPort> * 2080 <operation rel="add" href="xs:anyURI"/> ? 2081 <xs:any>* 2082 </Collection> 2083
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 61
5.13.1.1.7 SystemAddress Collection 2084
The resource type for each item of this collection is “SystemAddress”, defined as follows: 2085
Name SystemAddress
Type URI http://schemas.dmtf.org/cimi/1/SystemAddress
Attribute Type Description
address ref Reference to a Address resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
JSON serialization: 2086
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemAddressCollection", 2087 "id": string, 2088 "count": number, 2089 "systemAddresses": [ 2090 { "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemAddress", 2091 "id": string, 2092 "name": string, ? 2093 "description": string, ? 2094 "created": string, ? 2095 "updated": string, ? 2096 "properties": { "key": string, + }, ? 2097 "address": { "href": string }, 2098 "operations": [ 2099 { "rel": "edit", "href": string }, ? 2100 { "rel": "delete", "href": string } ? 2101 ] ? 2102 ... 2103 }, + 2104 ], ? 2105 "operations": [ { "rel": "add", "href": string } ? ] 2106 ... 2107 } 2108
XML serialization: 2109
<Collection 2110 resourceURI="http://schemas.dmtf.org/cimi/1/SystemAddressCollection" 2111 xmlns="http://schemas.dmtf.org/cimi/1"> 2112 <id> xs:anyURI </id> 2113 <count> xs:integer </count> 2114 <SystemAddress> 2115 <id> xs:anyURI </id> 2116 <name> xs:string </name> ? 2117 <description> xs:string </description> ? 2118 <created> xs:dateTime </created> ? 2119 <updated> xs:dateTime </updated> ? 2120 <property key="xs:string"> xs:string </property> * 2121 <address href="xs:anyURI"/> 2122 <operation rel="edit" href="xs:anyURI"/> ? 2123 <operation rel="delete" href="xs:anyURI"/> ? 2124 <xs:any>* 2125 </SystemAddress> * 2126 <operation rel="add" href="xs:anyURI"/> ? 2127 <xs:any>* 2128 </Collection> 2129
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
62 DMTF Standard Version 1.0.0
5.13.1.1.8 SystemForwardingGroup Collection 2130
The resource type for each item of this collection is “SystemForwardingGroup", defined as follows: 2131
Name SystemForwardingGroup
Type URI http://schemas.dmtf.org/cimi/1/SystemForwardingGroup
Attribute Type Description
forwardingGroup ref Reference to a ForwardingGroup resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
JSON serialization: 2132
{ "resourceURI": 2133 "http://schemas.dmtf.org/cimi/1/SystemForwardingGroupCollection", 2134 "id": string, 2135 "count", number, 2136 "systemForwardingGroups": [ 2137 { "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemForwardingGroup", 2138 "id": string, 2139 "name": string, ? 2140 "description": string, ? 2141 "created": string, ? 2142 "updated": string, ? 2143 "properties": { "key": string, + }, ? 2144 "forwardingGroup": { "href": string }, 2145 "operations": [ 2146 { "rel": "edit", "href": string }, ? 2147 { "rel": "delete", "href": string } ? 2148 ] ? 2149 ... 2150 }, + 2151 ], ? 2152 "operations": [ { "rel": "add", "href": string } ? ] 2153 ... 2154 } 2155
XML serialization: 2156
<Collection 2157 resourceURI="http://schemas.dmtf.org/cimi/1/SystemForwardingGroupCollection" 2158 xmlns="http://schemas.dmtf.org/cimi/1"> 2159 <id> xs:anyURI </id> 2160 <count> xs:integer </count> 2161 <SystemForwardingGroup> 2162 <id> xs:anyURI </id> 2163 <name> xs:string </name> ? 2164 <description> xs:string </description> ? 2165 <created> xs:dateTime </created> ? 2166 <updated> xs:dateTime </updated> ? 2167 <property key="xs:string"> xs:string </property> * 2168 <forwardingGroup href="xs:anyURI"/> 2169 <operation rel="edit" href="xs:anyURI"/> ? 2170 <operation rel="delete" href="xs:anyURI"/> ? 2171 <xs:any>* 2172 </SystemForwardingGroup> * 2173 <operation rel="add" href="xs:anyURI"/> ? 2174 <xs:any>* 2175 </Collection> 2176
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 63
5.13.1.1.9 SystemMeter Collection 2177
The resource type for each item of this collection is “Meter” as defined in clause 5.17.3. 2178
JSON serialization: 2179
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemMeterCollection", 2180 "id": string, 2181 "count": number, 2182 "meters": [ 2183 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Meter", 2184 "id": string, 2185 ... remaining Meter attributes ... 2186 }, + 2187 ], ? 2188 "operations": [ { "rel": "add", "href": string } ? ] 2189 ... 2190 } 2191
XML serialization: 2192
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/SystemMeterCollection" 2193 xmlns="http://schemas.dmtf.org/cimi/1"> 2194 <id> xs:anyURI </id> 2195 <count> xs:integer </count> 2196 <Meter> 2197 <id> xs:anyURI </id> 2198 ... remaining Meter attributes ... 2199 </Meter> * 2200 <operation rel="add" href="xs:anyURI"/> ? 2201 <xs:any>* 2202 </Collection> 2203
5.13.1.2 Operations 2204
This resource supports the Read, Update, and Delete operations. Create is supported via the System 2205 Collection resource. 2206
The following custom operations are also defined: 2207
Starting/Stopping/Restarting/Pausing/Suspending the Machines in a System 2208
/link@rel: http://schemas.dmtf.org/cimi/1/action/xxx 2209
Where "xxx" is either "start", "stop", "restart", "pause", or "suspend". 2210
This operation will recursively perform the requested operation on each component of the System 2211 (Machine or sub-System). Note that not all Machines need to be in the same state for this operation to be 2212 available and the impact that this operation will have will vary depending on the component's current 2213 state; see clause 5.14.1.2 for more details about performing operations on Machines. If a Machine is in a 2214 state that makes this operation invalid, that Machine will not be affected by the operation. 2215
To start, stop, restart, pause, or suspend the Machines in a System, a POST is sent to the appropriate 2216 URI of the System where the HTTP request body shall be as described in the "Operations" clause of the 2217 Machine resource; see clause 5.14.1.2. 2218
Exporting a System 2219
/link@rel: http://schemas.dmtf.org/cimi/1/action/export 2220
This operation is defined to export a System. If an export package exists at that URI, it is updated with the 2221 values of the System and any component management resources. Otherwise, a new export package is 2222
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
64 DMTF Standard Version 1.0.0
created at that URI with a Media Type as specified by the "format" parameter. Other formats may be used 2223 if supported, but are not specified by this standard. 2224
Input parameters: 2225
"format" - type: string - optional 2226 Indicates the Media Type of the exported data. If not present, the default value shall be 2227 "application/ovf." 2228 2229
"destination" - type: URI - optional 2230 The location to where the exported data is placed. If not present, the HTTP response Location 2231 header shall contain the URL to the exported data. Based on the specific protocol specified within 2232 the URI, the Consumer might need to provide additional information (such as credentials) in the 2233 "properties" field. In the case of HTTP, a PUT shall be used to place the data at the specified 2234 location. 2235
Output parameters: None. 2236
HTTP protocol 2237
To export a System, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/export" URI of the 2238 System where the HTTP request body shall be as described below. 2239
JSON media type: application/json 2240
JSON serialization: 2241
{ "action": "http://schemas.dmtf.org/cimi/1/action/export", 2242 "format": string, ? 2243 "destination": string, ? 2244 "properties": { "key": string, + } ? 2245 ... 2246 } 2247
XML media type: application/xml 2248
XML serialization 2249
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 2250 <action> http://schemas.dmtf.org/cimi/1/action/export </action> 2251 <format> xs:string </format> ? 2252 <destination> xs:anyURI </destination> ? 2253 <property key="xs:string"> xs:string </property> * 2254 <xs:any>* 2255 </Action> 2256
5.13.2 System Collection 2257
A System Collection resource represents the collection of System resources within a Provider and follows 2258 the Collection pattern defined in clause 5.5.12. This resource shall be serialized as follows: 2259
JSON serialization: 2260
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemCollection", 2261 "id": string, 2262 "count", number, 2263 "systems": [ 2264 { "resourceURI": "http://schemas.dmtf.org/cimi/1/System", 2265 "id": string, 2266 ... remaining System attributes ... 2267 }, + 2268
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 65
], ? 2269 "operations": [ 2270 { "rel": "add", "href": string }, ? 2271 { "rel": "http://schemas.dmtf.org/cimi/1/action/import", "href": string } ? 2272 ] 2273 ... 2274 } 2275
XML serialization: 2276
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/SystemCollection" 2277 xmlns="http://schemas.dmtf.org/cimi/1"> 2278 <id> xs:anyURI </id> 2279 <count> xs:integer </count> 2280 <System> 2281 <id> xs:anyURI </id> 2282 ... remaining System attributes ... 2283 </System> * 2284 <operation rel="add" href="xs:anyURI"/> ? 2285 <operation rel="http://schemas.dmtf.org/cimi/1/import" href="xs:anyURI"/> ? 2286 <xs:any>* 2287 </Collection> 2288
5.13.2.1 Operations 2289
NOTE: The "add" operation requires a SystemTemplate to be used. 2290
Resources created during the process of creating a System shall be "owned" by the System (see 5.13.1). 2291 For example, a "componentDescriptor" that references a MachineTemplate, and within that 2292 MachineTemplate is a reference to a VolumeTemplate, will result in a reference to the new Machine 2293 being added to the System.machines attribute and a reference to the new Volume being added to the 2294 System.volumes attribute. However, if this MachineTemplate refers to an existing Volume, this Volume 2295 will not be added to the top-level System attributes. 2296
The following custom operations are also defined: 2297
Importing a System 2298
/link@rel: http://schemas.dmtf.org/cimi/1/action/import 2299
This operation will import/deserialize a System. Not only will a System be created, but Machines, 2300 Volumes, and Networks and possibly recursive Systems and their components may also be created 2301 corresponding to imported descriptor entries. More detail about this process is in ANNEX A. 2302
Input parameters: 2303
"source" - type: URI - mandatory 2304 The location from which the imported data will be retrieved. Based on the specific protocol 2305 specified within the URI, the Consumer might need to provide additional information (such as 2306 credentials) in the "properties" field. 2307
Output parameters: None. 2308
HTTP protocol 2309
To import a SystemTemplate, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/import" URI of 2310 the System Collection where the HTTP request body shall be as described below. 2311
JSON media type: application/json 2312
JSON serialization: 2313
{ "action": "http://schemas.dmtf.org/cimi/1/action/import", 2314
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
66 DMTF Standard Version 1.0.0
"source": string, ? 2315 "properties": { "key": string, + } ? 2316 ... 2317 } 2318
XML media type: application/xml 2319
XML serialization 2320
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 2321 <action> http://schemas.dmtf.org/cimi/1/action/import </action> 2322 <source> xs:anyURI </source> ? 2323 <property key="xs:string"> xs:string </property> * 2324 <xs:any>* 2325 </Action> 2326
5.13.3 System Template 2327
The System Template contains the set of individual descriptors that are necessary to create the 2328 components of a System. Each component descriptor can be considered to be the persisted view of the 2329 create operation that instantiates the component. In practice, the Provider will interpret the set of 2330 component descriptors as a set of creation operations to be executed in an order compatible with the 2331 dependencies (e.g., attachments or references between components) that are manifest between these 2332 components. 2333
A System Template may include component references in the descriptors, used to express links between 2334 components of the resulting System. A component reference uses the "name" of the target (referred) 2335 component. For example, <volume href="#newVolume"/> would reference a Volume named 2336 "newVolume." 2337
Name SystemTemplate
Type URI http://schemas.dmtf.org/cimi/1/SystemTemplate
Attribute Type Description
componentDescriptors
componentDescriptor[]
The list of component descriptors describing the components of a System instance realized from this SystemTemplate. For each component descriptor, the corresponding component is created when a System instance is created. Each component descriptor refers to a template (either by reference or value), and may also provide additional metadata (name, description, properties). The creation order of components is not specified in SystemTemplate, in particular the order of the component descriptors in this array is not meaningful in terms of creation order.
Name componentDescriptor
Data Type Description
name string The value of the "name" attribute that will be associated with a System component created from this component descriptor. Note: This name is not to be confused with the name that may be present in the component template – e.g., a MachineTemplate – from which this component will be instantiated.
Constraints: Provider: support mandatory; mutable Consumer: support optional; read-write
description string The value of the "description" attribute that will be associated with a System component created from this component descriptor.
Constraints:
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 67
Provider: support mandatory; mutable Consumer: support optional; read-write
properties map The key/value pairs that will be associated with a System component created from this component descriptor.
Constraints: Provider: support mandatory; mutable Consumer: support optional; read-write
type URI The TypeURI of the component to be created from this component descriptor, e.g., for a machine:
http://schemas.dmtf.org/cimi/1/Machine
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
componentTemplate
any Reference either to a component Template or to the Template data itself inlined (i.e., the Template "value").
Note that the exact name of this attribute will vary depending on the type of resource being created, e.g., MachineTemplate for a Machine.
Note: Component references (expressing links between components of a resulting System) are to be found, if any, in Templates that are provided inline, because such references contain names that are only relevant to the SystemTemplate where these template values are embedded.
Note that the attributes of theTemplate may be specified rather than a reference to an existing Template resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
quantity integer Number of component instances to be created from this component descriptor. By default, this number is equal to 1. When the value is 2 or more, the actual name assigned to each instance will be the "name" value concatenated with a sequential number (e.g., if name="mymachine", and quantity=3, the names will be: mymachine1, mymachine2, mymachine3.)
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
meterTemplates
meterTemplates[]
A list of references to Meter Templates that shall be used to create and connect a set of new Meters to the new System.
Note that the attributes of the MeterTemplate may be specified rather than a reference
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
68 DMTF Standard Version 1.0.0
to an existing MeterTemplate resource.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
eventLogTemplate
ref A reference to an EventLogTemplate that shall be used to create and connect a new EventLog to the new System.
Note that the attributes of the EventLogTemplate may be specified rather than a reference to an existing EventLogTemplate resource.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
JSON media type: application/json 2338
JSON serialization: 2339
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemTemplate", 2340 "id": string, 2341 "name": string, ? 2342 "description": string, ? 2343 "created": string, ? 2344 "updated": string, ? 2345 "properties": { "key": string, + }, ? 2346 "componentDescriptors": [ 2347 { "name": string, ? 2348 "description": string, ? 2349 "properties": { "name": string, + }, ? 2350 "type": string, 2351 "componentTemplate": { 2352 "href": string, ? 2353 ... ComponentTemplate attributes ... ? 2354 } 2355 }, + 2356 ], ? 2357 "meterTemplates": [ 2358 { "href": string, ? 2359 ... MeterTemplate attributes ... ? 2360 }, * 2361 ], ? 2362 "eventLogTemplate": { 2363 "href": string, ? 2364 ... EventLogTemplate attributes ... ? 2365 }, ? 2366 "operations": [ 2367 { "rel": "edit", "href": string }, ? 2368 { "rel": "delete", "href": string }, ? 2369 { "rel": "http://schemas.dmtf.org/cimi/1/action/export", "href": string } ? 2370 ] ? 2371 ... 2372 } 2373
XML media type: application/xml 2374
XML serialization: 2375
<SystemTemplate xmlns="http://schemas.dmtf.org/cimi/1"> 2376 <id> xs:anyURI </id> 2377 <name> xs:string </name> ? 2378 <description> xs:string </description> ? 2379 <created> xs:dateTime </created> ? 2380 <updated> xs:dateTime </updated> ? 2381
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 69
<property key="xs:string"> xs:string </property> * 2382 <componentDescriptor> 2383 <name> xs:string </name> ? 2384 <description> xs:string </description> ? 2385 <property name="xs:string"> xs:string </property> * 2386 <type> xs:anyURI </type> 2387 <componentTemplate href="xs:anyURI"? > 2388 ... ComponentTemplate attributes ... ? 2389 </componentTemplate> * 2390 </componentDescriptor> * 2391 <meterTemplate href="xs:anyURI"? > 2392 ... MeterTemplate attributes ... ? 2393 </meterTemplate> * 2394 <eventLogTemplate href="xs:anyURI"? > 2395 ... EventLogTemplate attributes ... ? 2396 </eventLogTemplate> ? 2397 <operation rel="edit" href="xs:anyURI"/> ? 2398 <operation rel="delete" href="xs:anyURI"/> ? 2399 <operation rel="http://schemas.dmtf.org/cimi/1/action/export" 2400 href="xs:anyURI"/> ? 2401 <xs:any>* 2402 </SystemTemplate> 2403
5.13.3.1 Operations 2404
This resource supports the Read, Update, and Delete operations. Create is supported via the System 2405 Template Collection resource. 2406
The following custom operations are also defined: 2407
Exporting a SystemTemplate 2408
/link@rel: http://schemas.dmtf.org/cimi/1/action/export 2409
This operation is defined to export a System Template. If an export package exists at that URI, it is 2410 updated with the values of the System Template and any component management resources. Otherwise 2411 a new export package is created at that URI with a Media Type as specified by the "format" parameter. 2412 Other formats may be used if supported, but are not specified by this standard. 2413
Input parameters: 2414
"format" - type: string - optional 2415 Indicates the Media Type of the exported data. If not present, the default value shall be 2416 "application/ovf." 2417 2418
"destination" - type: URI - optional 2419 The location to where the exported data is placed. If not present, the HTTP response Location 2420 header shall contain the URL to the exported data. Based on the specific protocol specified within 2421 the URI, the Consumer might need to provide additional information (such as credentials) in the 2422 "properties" field. In the case of HTTP, a PUT shall be used to place the data at the specified 2423 location. 2424
Output parameters: None. 2425
HTTP protocol 2426
To export a SystemTemplate, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/export" URI of 2427 the System Template where the HTTP request body shall be as described below. 2428
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
70 DMTF Standard Version 1.0.0
JSON media type: application/json 2429
JSON serialization: 2430
{ "action": "http://schemas.dmtf.org/cimi/1/action/export", 2431 "format": string, ? 2432 "destination": string, ? 2433 "properties": { "key": string, + } ? 2434 ... 2435 } 2436
XML media type: application/xml 2437
XML serialization 2438
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 2439 <action> http://schemas.dmtf.org/cimi/1/action/export </action> 2440 <format> xs:string </format> ? 2441 <destination> xs:anyURI </destination> ? 2442 <property key="xs:string"> xs:string </property> * 2443 <xs:any>* 2444 </Action> 2445
5.13.4 System Template Collection 2446
A System Template Collection resource represents the collection of System Template resources within a 2447 Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as 2448 follows: 2449
JSON serialization: 2450
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemTemplateCollection", 2451 "id": string, 2452 "count": number, 2453 "systemTemplates": [ 2454 { "resourceURI": "http://schemas.dmtf.org/cimi/1/SystemTemplate", 2455 "id": string, 2456 ... remaining SystemTemplate attributes ... 2457 }, + 2458 ], ? 2459 "operations": [ 2460 { "rel": "add", "href": string }, ? 2461 { "rel": "http://schemas.dmtf.org/cimi/1/action/import", "href": string } ? 2462 ] 2463 ... 2464 } 2465
XML serialization: 2466
<Collection 2467 resourceURI="http://schemas.dmtf.org/cimi/1/SystemTemplateCollection" 2468 xmlns="http://schemas.dmtf.org/cimi/1"> 2469 <id> xs:anyURI </id> 2470 <count> xs:integer </count> 2471 <SystemTemplate> 2472 <id> xs:anyURI </id> 2473 ... remaining SystemTemplate attributes ... 2474 </SystemTemplate> * 2475 <operation rel="add" href="xs:anyURI"/> ? 2476 <operation rel="http://schemas.dmtf.org/cimi/1/import" href="xs:anyURI"/> ? 2477 <xs:any>* 2478 </Collection> 2479
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 71
5.13.4.1 Operations 2480
The following custom operations are defined: 2481
Importing a SystemTemplate 2482
/link@rel: http://schemas.dmtf.org/cimi/1/action/import 2483
This operation will import/deserialize a SystemTemplate. Not only will a System Template be created, but 2484 Machine Templates, Volume Templates, and Network Templates and possibly recursive System 2485 Templates and their components may also be created, corresponding to imported descriptor entries. 2486 More detail about this process is in ANNEX A. 2487
Input parameters: 2488
"source" - type: URI - mandatory 2489 The location from which the imported data will be retrieved. Based on the specific protocol 2490 specified within the URI, the Consumer might need to provide additional information (such as 2491 credentials) in the "properties" field. 2492
Output parameters: None. 2493
HTTP protocol 2494
To import a SystemTemplate, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/import" URI of 2495 the System Template Collection where the HTTP request body shall be as described below. 2496
JSON media type: application/json 2497
JSON serialization: 2498
{ "action": "http://schemas.dmtf.org/cimi/1/action/import", 2499 "source": string, ? 2500 "properties": { "key": string, + } ? 2501 ... 2502 } 2503
XML media type: application/xml 2504
XML serialization 2505
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 2506 <action> http://schemas.dmtf.org/cimi/1/action/import </action> 2507 <source> xs:anyURI </source> ? 2508 <property key="xs:string"> xs:string </property> * 2509 <xs:any>* 2510 </Action> 2511
5.14 Machine resources and relationships 2512
Figure 3 illustrates the resources involved in constructing a Machine and their relationships. Although this 2513 drawing is in the style of a Resource Relationship diagram, the use of UML is neither rigorous nor 2514 normative. 2515
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
72 DMTF Standard Version 1.0.0
Figure 3 - Machine resources 2516
5.14.1 Machine 2517
An instantiated compute resource that encapsulates both CPU and Memory. 2518
Name Machine
Type URI http://schemas.dmtf.org/cimi/1/Machine
Attribute Type Description
state string The operational state of the Machine.
Allowable values include:
CREATING: The Machine is in the process of being created. Allowable action when in this state is: delete.
STARTING: The Machine is in the process of being started. Allowable actions when in this state are: start, restart, stop, and delete.
STARTED: The Machine is available and ready for use. Allowable actions when in this state are: stop, restart, pause, suspend, capture, and delete.
STOPPING: The Machine is in the process of being stopped. Allowable actions when in this state are: start, restart, stop, and delete.
STOPPED: This value is the virtual equivalent of powering off a physical Machine.
There is no saved CPU or memory state. Allowable actions when in this state are: start, restart, capture, and delete.
PAUSING: The Machine in the process of being PAUSED. Allowable actions when in this state are: start, restart, and delete.
PAUSED: In this state the Machine and its virtual resources remain instantiated and
resources remain allocated, similar to the "STARTED" state, but the Machine and its virtual resources are not enabled to perform tasks. Allowable actions when in this state are: start, restart, capture, and delete.
SUSPENDING: The Machine is in the process of being suspended. Allowable actions when in this state are: start, restart, and delete.
SUSPENDED: In this state the Machine and its virtual resources are stored on non-
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 73
volatile storage. The Machine and its resources are not enabled to perform tasks. Allowable actions when in this state are: start, restart, capture, and delete.
DELETING: The Machine is in the process of being deleted. Allowable action when in this state is: delete.
ERROR: The Provider has detected an error in the Machine. Allowable actions when in this state are: start, restart, stop, and delete.
PAUSED and SUSPENDED states are optional and Providers may choose to support
them or not.
Providers may define additional values.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
cpu integer The amount of CPU that this Machine has.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
memory integer The size of the memory (RAM) in kibibytes allocated to this Machine.
When this value is increased, it implies that the Machine is allocated more RAM, and vice versa when the value is decreased.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
disks collection [Disk]
A reference to the list of disks (local storage) that are part of the Machine. Adding an element to this list creates a disk.
Note: the Disk resource type is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
cpuArch string The CPU architecture that will be supported by Machines created by using this configuration.
Allowable values include: 68000, Alpha, ARM, Itanium, MIPS, PA_RISC, POWER, PowerPC, x86, x86_64, z/Architecture, SPARC. Providers may define additional
values.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
volumes collection [MachineVolume]
A reference to the list of references to Volumes that are connected to this Machine.
Adding a Volume to this list means that the Machine has some access to the data on the Volume. Removing a Volume from this list means that the Machine no longer has access to the data on the Volume.
Note: the MachineVolume resource type is representing an association between the Machine and a Volume. It is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
networkInterfaces collection [MachineNetwork
A reference to the list of MachineNetworkInterfaces on this Machine.
Note: the MachineNetworkInterface resource type is representing an association
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
74 DMTF Standard Version 1.0.0
Interface] between the Machine and a NetworkInterface. It is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
latestSnapshot ref A reference to the SNAPSHOT representing the latest state captured for this Machine (either most recent Snapshot or the last Snapshot reverted to).
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
snapshots collection [MachineSnapshot]
A reference to the list of references to the SNAPSHOT Machine Images taken of this Machine.
Note: the MachineSnapshot resource type is representing an association between the Machine and a Snapshot. It is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
meters collection [Meter]
A reference to the list of Meters monitored for this Machine.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
eventLog ref A reference to the EventLog of this Machine.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
The following describes the serialization of the resource in both JSON and XML: 2519
JSON media type: application/json 2520
JSON serialization: 2521
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Machine", 2522 "id": string, 2523 "name": string, ? 2524 "description": string, ? 2525 "created": string, ? 2526 "updated": string, ? 2527 "properties": { "key": string, + }, ? 2528 "state": string, 2529 "cpu": number, 2530 "memory": number, 2531 "disks" : { "href": string }, ? 2532 "cpuArch": string, ? 2533 "volumes": { "href": string }, ? 2534 "networkInterfaces": { "href": string }, ? 2535 "latestSnapshot": string, ? 2536 "snapshots": { "href": string }, ? 2537 "meters": { "href": string }, ? 2538 "eventLog": { "href": string }, ? 2539 "operations": [ 2540 { "rel": "edit", "href": string }, ? 2541 { "rel": "delete", "href": string }, ? 2542 { "rel": "http://schemas.dmtf.org/cimi/1/action/start", "href": string }, ? 2543 { "rel": "http://schemas.dmtf.org/cimi/1/action/stop", "href": string }, ? 2544 { "rel": "http://schemas.dmtf.org/cimi/1/action/restart", "href": string }, 2545 ? 2546
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 75
{ "rel": "http://schemas.dmtf.org/cimi/1/action/pause", "href": string }, ? 2547 { "rel": "http://schemas.dmtf.org/cimi/1/action/suspend", "href": string } 2548 ? 2549 { "rel": "http://schemas.dmtf.org/cimi/1/action/snapshot", "href": string } 2550 ? 2551 { "rel": "http://schemas.dmtf.org/cimi/1/action/restore", "href": string } 2552 ? 2553 ] 2554 ... 2555 } 2556
XML media type: application/xml 2557
XML serialization: 2558
<Machine xmlns="http://schemas.dmtf.org/cimi/1"> 2559 <id> xs:anyURI </id> 2560 <name> xs:string </name> ? 2561 <description> xs:string </description> ? 2562 <created> xs:dateTime </created> ? 2563 <updated> xs:dateTime </updated> ? 2564 <property key="xs:string"> xs:string </property> * 2565 <state> xs:string </state> 2566 <cpu> xs:integer </cpu> 2567 <memory> xs:integer </memory> 2568 <disks href="xs:anyURI"/> ? 2569 <cpuArch> xs:string </cpuArch> ? 2570 <volumes href="xs:anyURI"/> ? 2571 <networkInterfaces href="xs:anyURI"/> ? 2572 <latestSnapshot> xs:anyURI </latestSnapshot> ? 2573 <snapshots href="xs:anyURI"/> ? 2574 <meters href="xs:anyURI"/> ? 2575 <eventLog href="xs:anyURI"/> ? 2576 <operation rel="edit" href="xs:anyURI"/> ? 2577 <operation rel="delete" href="xs:anyURI"/> ? 2578 <operation rel="http://schemas.dmtf.org/cimi/1/action/start" 2579 href="xs:anyURI"/> ? 2580 <operation rel="http://schemas.dmtf.org/cimi/1/action/stop" 2581 href="xs:anyURI"/> ? 2582 <operation rel="http://schemas.dmtf.org/cimi/1/action/restart" 2583 href="xs:anyURI"/> ? 2584 <operation rel="http://schemas.dmtf.org/cimi/1/action/pause" 2585 href="xs:anyURI"/> ? 2586 <operation rel="http://schemas.dmtf.org/cimi/1/action/suspend" 2587 href="xs:anyURI"/> ? 2588 <operation rel="http://schemas.dmtf.org/cimi/1/action/capture" 2589 href="xs:anyURI"/> ? 2590 <operation rel="http://schemas.dmtf.org/cimi/1/action/snapshot" 2591 href="xs:anyURI"/> ? 2592 <operation rel="http://schemas.dmtf.org/cimi/1/action/restore" 2593 href="xs:anyURI"/> ? 2594 <xs:any>* 2595 </Machine> 2596
5.14.1.1 Collections 2597
The following describes the collection resources owned by Machines. 2598
5.14.1.1.1 Disk Collection 2599
The resource type for each item of this collection is "Disk", as defined as follows: 2600
Name Disk
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
76 DMTF Standard Version 1.0.0
Type URI http://schemas.dmtf.org/cimi/1/Disk
Attribute Type Description
capacity integer The initial capacity, in kilobytes, of the disk.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
initialLocation string Operating System specific location(path) in its namespace where this disk will first appear. Note, once deployed Consumers might move where this Disk is located.
Support of this attribute indicates that the Provider can report this information back to the Consumer.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
JSON serialization: 2601
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/DiskCollection", 2602 "id": string, 2603 "count": number, 2604 "disks": [ 2605 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Disk", 2606 "id": string, 2607 "name": string, ? 2608 "description": string, ? 2609 "created": string, ? 2610 "updated": string, ? 2611 "properties": { "key": string, + }, ? 2612 "capacity": number, 2613 "initialLocation": string, ? 2614 "operations": [ 2615 { "rel": "edit", "href": string }, ? 2616 { "rel": "delete", "href": string } ? 2617 ] ? 2618 ... 2619 }, + 2620 ], ? 2621 "operations": [ { "rel": "add", "href": string } ? ] 2622 ... 2623 } 2624
XML serialization: 2625
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/DiskCollection" 2626 xmlns="http://schemas.dmtf.org/cimi/1"> 2627 <id> xs:anyURI </id> 2628 <count> xs:integer </count> 2629 <Disk> 2630 <id> xs:anyURI </id> 2631 <name> xs:string </name> ? 2632 <description> xs:string </description> ? 2633 <created> xs:dateTime </created> ? 2634 <updated> xs:dateTime </updated> ? 2635 <property key="xs:string"> xs:string </property> * 2636 <capacity> xs:integer </capacity> 2637 <initialLocation> xs:string </initialLocation> ? 2638 <operation rel="edit" href="xs:anyURI"/> ? 2639 <operation rel="delete" href="xs:anyURI"/> ? 2640 <xs:any>* 2641 </Disk> * 2642
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 77
<operation rel="add" href="xs:anyURI"/> ? 2643 <xs:any>* 2644 </Collection> 2645
5.14.1.1.2 MachineVolume Collection 2646
The resource type for each item of this collection is “MachineVolume”, defined as follows: 2647
Name MachineVolume
Type URI http://schemas.dmtf.org/cimi/1/MachineVolume
Attribute Type Description
initialLocation string Operating System specific location(path) in its namespace where this Volume will first appear. Note, once deployed Consumers might move where this Volume is located.
Support of this attribute indicates that the Provider can report this information back to the Consumer.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
volume ref A reference to the Volume that will be connected.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
JSON serialization: 2648
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineVolumeCollection", 2649 "id": string, 2650 "count": number, 2651 "machineVolumes": [ 2652 { "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineVolume", 2653 "id": string, 2654 "name": string, ? 2655 "description": string, ? 2656 "created": string, ? 2657 "updated": string, ? 2658 "properties": { "key": string, + }, ? 2659 "initialLocation": string, ? 2660 "volume": { "href": string }, 2661 "operations": [ 2662 { "rel": "edit", "href": string }, ? 2663 { "rel": "delete", "href": string } ? 2664 ] ? 2665 ... 2666 }, + 2667 ], ? 2668 "operations": [ { "rel": "add", "href": string } ? ] 2669 ... 2670 } 2671
XML serialization: 2672
<Collection 2673 resourceURI="http://schemas.dmtf.org/cimi/1/MachineVolumeCollection" 2674 xmlns="http://schemas.dmtf.org/cimi/1"> 2675 <id> xs:anyURI </id> 2676 <count> xs:integer </count> 2677 <MachineVolume> 2678 <id> xs:anyURI </id> 2679 <name> xs:string </name> ? 2680 <description> xs:string </description> ? 2681
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
78 DMTF Standard Version 1.0.0
<created> xs:dateTime </created> ? 2682 <updated> xs:dateTime </updated> ? 2683 <property key="xs:string"> xs:string </property> * 2684 <initialLocation> xs:string </initialLocation> ? 2685 <volume href="xs:anyURI"/> 2686 <operation rel="edit" href="xs:anyURI"/> ? 2687 <operation rel="delete" href="xs:anyURI"/> ? 2688 <xs:any>* 2689 </MachineVolume> * 2690 <operation rel="add" href="xs:anyURI"/> ? 2691 <xs:any>* 2692 </Collection> 2693
5.14.1.1.3 MachineNetworkInterface Collection 2694
The resource type for each item of this collection is “MachineNetworkInterface”, defined as follows: 2695
Name MachineNetworkInterface
Type URI http://schemas.dmtf.org/cimi/1/MachineNetworkInterface
Attribute Type Description
addresses collection [MachineNetworkInterfaceAddress]
A reference to the list of references to the Addresses for this network interface.
Note: the MachineNetworkInterfaceAddress resource type is representing an association between the MachineNetworkInterface and an Address. It is defined following this resource's definition.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
network ref A reference to a Network for this network interface.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
networkPort ref A reference to the NetworkPort for this network interface.
If this attribute is provided, the "network" attribute in the referenced NetworkPort shall have the same value as the "network" attribute in this networkInterface.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
state string The state of an interface configurable to be "Active" or "Passive."
A passive interface is in a standby mode ready to forward traffic if the primary interface fails.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
macAddress string Address assigned by the hypervisor when a machine is created or a unique address can be manually assigned.
While this attribute can be specified, in most cases it is expected to be supplied by the Provider. Specifying this value is typically only done when the Template is only used for one particular Machine.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
mtu integer To set the largest supported maximum transmission unit packet size.
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 79
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
JSON serialization: 2696
{ "resourceURI": 2697 "http://schemas.dmtf.org/cimi/1/MachineNetworkInterfaceCollection", 2698 "id": string, 2699 "count": number, 2700 "machineNetworkInterfaces": [ 2701 { "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineNetworkInterface", 2702 "id": string, 2703 "name": string, ? 2704 "description": string, ? 2705 "created": string, ? 2706 "updated": string, ? 2707 "properties": { "key": string, + }, ? 2708 "addresses": { "href": string }, 2709 "network": { "href": string }, 2710 "networkPort": { "href": string }, ? 2711 "state": string, ? 2712 "macAddress": string, ? 2713 "mtu": number, ? 2714 "operations": [ 2715 { "rel": "edit", "href": string }, ? 2716 { "rel": "delete", "href": string } ? 2717 ] ? 2718 ... 2719 }, + 2720 ], ? 2721 "operations": [ { "rel": "add", "href": string } ? ] 2722 ... 2723 } 2724
XML serialization: 2725
<Collection 2726 resourceURI="http://schemas.dmtf.org/cimi/1/MachineNetworkInterfaceCollection" 2727 xmlns="http://schemas.dmtf.org/cimi/1"> 2728 <id> xs:anyURI </id> 2729 <count> xs:integer </count> 2730 <MachineNetworkInterface> 2731 <id> xs:anyURI </id> 2732 <name> xs:string </name> ? 2733 <description> xs:string </description> ? 2734 <created> xs:dateTime </created> ? 2735 <updated> xs:dateTime </updated> ? 2736 <property key="xs:string"> xs:string </property> * 2737 <addresses href="xs:anyURI"/> 2738 <network href="xs:anyURI"/> 2739 <networkPort href="xs:anyURI"/> ? 2740 <state> xs:string </state> ? 2741 <macAddress> xs:string </macAddress> ? 2742 <mtu> xs:integer </mtu> ? 2743 <operation rel="edit" href="xs:anyURI"/> ? 2744 <operation rel="delete" href="xs:anyURI"/> ? 2745 <xs:any>* 2746 </MachineNetworkInterface> * 2747 <operation rel="add" href="xs:anyURI"/> ? 2748 <xs:any>* 2749 </Collection> 2750
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
80 DMTF Standard Version 1.0.0
5.14.1.1.4 MachineNetworkInterfaceAddress Collection 2751
The resource type for each item of this collection is “MachineNetworkInterfaceAddress”, defined as 2752 follows: 2753
Name MachineNetworkInterfaceAddress
Type URI http://schemas.dmtf.org/cimi/1/MachineNetworkInterfaceAddress
Attribute Type Description
address ref Reference to an Address resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
JSON serialization: 2754
{ "resourceURI": 2755 "http://schemas.dmtf.org/cimi/1/MachineNetworkInterfaceAddressCollection", 2756 "id": string, 2757 "count": number, 2758 "machineNetworkInterfaceAddresses": [ 2759 { "resourceURI": 2760 "http://schemas.dmtf.org/cimi/1/MachineNetworkInterfaceAddress", 2761 "id": string, 2762 "name": string, ? 2763 "description": string, ? 2764 "created": string, ? 2765 "updated": string, ? 2766 "properties": { "key": string, + }, ? 2767 "address": { "href": string }, 2768 "operations": [ 2769 { "rel": "edit", "href": string }, ? 2770 { "rel": "delete", "href": string } ? 2771 ] ? 2772 ... 2773 }, + 2774 ], ? 2775 "operations": [ { "rel": "add", "href": string } ? ] 2776 ... 2777 } 2778
XML serialization: 2779
<Collection 2780 resourceURI="http://schemas.dmtf.org/cimi/1/MachineNetworkInterfaceAddressColle2781 ction" 2782 xmlns="http://schemas.dmtf.org/cimi/1"> 2783 <id> xs:anyURI </id> 2784 <count> xs:integer </count> 2785 <MachineNetworkInterfaceAddress> 2786 <id> xs:anyURI </id> 2787 <name> xs:string </name> ? 2788 <description> xs:string </description> ? 2789 <created> xs:dateTime </created> ? 2790 <updated> xs:dateTime </updated> ? 2791 <property key="xs:string"> xs:string </property> * 2792 <address href="xs:anyURI"/> 2793 <operation rel="edit" href="xs:anyURI"/> ? 2794 <operation rel="delete" href="xs:anyURI"/> ? 2795 <xs:any>* 2796 </MachineNetworkInterfaceAddress> * 2797 <operation rel="add" href="xs:anyURI"/> ? 2798
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 81
<xs:any>* 2799 </Collection> 2800
5.14.1.1.5 MachineSnapshot Collection 2801
The resource type for each item of this collection is “MachineSnapshot”, defined as follows: 2802
Name MachineSnapshot
Type URI http://schemas.dmtf.org/cimi/1/MachineSnapshot
Attribute Type Description
snapshot ref Reference to a Snapshot resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
JSON serialization: 2803
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineSnapshotCollection", 2804 "id": string, 2805 "count": number, 2806 "machineSnapshots": [ 2807 { "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineSnapshot", 2808 "id": string, 2809 "name": string, ? 2810 "description": string, ? 2811 "created": string, ? 2812 "updated": string, ? 2813 "properties": { "key": string, + }, ? 2814 "snapshot": { "href": string }, 2815 "operations": [ 2816 { "rel": "edit", "href": string }, ? 2817 { "rel": "delete", "href": string } ? 2818 ] ? 2819 ... 2820 }, + 2821 ], ? 2822 "operations": [ { "rel": "add", "href": string } ? ] 2823 ... 2824 } 2825
XML serialization: 2826
<Collection 2827 resourceURI="http://schemas.dmtf.org/cimi/1/MachineSnapshotCollection" 2828 xmlns="http://schemas.dmtf.org/cimi/1"> 2829 <id> xs:anyURI </id> 2830 <count> xs:integer </count> 2831 <MachineSnapshot> 2832 <id> xs:anyURI </id> 2833 <name> xs:string </name> ? 2834 <description> xs:string </description> ? 2835 <created> xs:dateTime </created> ? 2836 <updated> xs:dateTime </updated> ? 2837 <property key="xs:string"> xs:string </property> * 2838 <snapshot href="xs:anyURI"/> 2839 <operation rel="edit" href="xs:anyURI"/> ? 2840 <operation rel="delete" href="xs:anyURI"/> ? 2841 <xs:any>* 2842 </MachineSnapshot> * 2843 <operation rel="add" href="xs:anyURI"/> ? 2844 <xs:any>* 2845 </Collection> 2846
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
82 DMTF Standard Version 1.0.0
5.14.1.1.6 MachineMeter Collection 2847
The resource type for each item of this collection is “Meter” as defined in clause 5.17.3. 2848
JSON serialization: 2849
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineMeterCollection", 2850 "id": string, 2851 "count": number, 2852 "meters": [ 2853 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Meter", 2854 "id": string, 2855 ... remaining Meter attributes ... 2856 }, + 2857 ], ? 2858 "operations": [ { "rel": "add", "href": string } ? ] 2859 ... 2860 } 2861
XML serialization: 2862
<Collection 2863 resourceURI="http://schemas.dmtf.org/cimi/1/MachineMeterCollection" 2864 xmlns="http://schemas.dmtf.org/cimi/1"> 2865 <id> xs:anyURI </id> 2866 <count> xs:integer </count> 2867 <Meter> 2868 <id> xs:anyURI </id> 2869 ... remaining Meter attributes ... 2870 </Meter> * 2871 <operation rel="add" href="xs:anyURI"/> ? 2872 <xs:any>* 2873 </Collection> 2874
5.14.1.2 Operations 2875
This resource supports the Read, Update, and Delete operations. Create is supported via the Machine 2876 Collection resource. 2877
The following custom operations are also defined: 2878
Starting a Machine 2879
/link@rel: http://schemas.dmtf.org/cimi/1/action/start 2880
This operation will start a Machine. 2881
Input parameters: None. 2882
Output parameters: None. 2883
During the processing of this operation, the Machine shall be in the “STARTING” state. 2884
Upon successful completion of this operation, the Machine shall be in the "STARTED" state. 2885
When a Machine is in the "STOPPED" state, starting it is the virtual equivalent of powering on a physical 2886 machine. There is no restored CPU or Memory state, so the guest OS will typically perform boot or 2887 installation tasks. 2888
If the Machine was in the "SUSPENDED" or "PAUSED" state, starting it has the effect of resuming it. 2889
HTTP protocol 2890
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 83
To start a Machine, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/start" URI of the Machine 2891 where the HTTP request body shall be as described below. 2892
JSON media type: application/json 2893
JSON serialization: 2894
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 2895 "action": "http://schemas.dmtf.org/cimi/1/action/start", 2896 "properties": { "key": string, + } ? 2897 ... 2898 } 2899
XML media type: application/xml 2900
XML serialization 2901
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 2902 <action> http://schemas.dmtf.org/cimi/1/action/start </action> 2903 <property key="xs:string"> xs:string </property> * 2904 <xs:any>* 2905 </Action> 2906
Upon successful processing of the request, the HTTP response body will be empty. 2907
Stopping a Machine 2908
/link@rel: http://schemas.dmtf.org/cimi/1/action/stop 2909
This operation will stop, or shutdown, a Machine. 2910
Input parameters: 2911
"force" - type: boolean - optional 2912 A flag to indicate whether the Provider shall simulate a power off condition (force=true) or shall 2913 simulate a shutdown operation that allows applications to save their state and the file system to 2914 be made consistent (force=false). Inclusion of this parameter by Consumers is optional and when 2915 not specified, the Provider may choose either mechanism. Providers are encouraged to advertise 2916 this choice via the MachineStopForceDefault capability. 2917
Output parameters: None. 2918
During the processing of this operation, the Machine shall be in the "STOPPING" state. 2919
Upon successful completion of this operation, the Machine will be in the "STOPPED" state. Stopping a 2920 Machine with force=true is the virtual equivalent of powering off a physical machine. There is no saved 2921 CPU or Memory state. Stopping a Machine with force=false results in a machine with consistent file 2922 systems. 2923
A Consumer may reissue a stop operation when the state is STOPPING, perhaps with force=true, but 2924 Providers shall not issue a force=true stop operation on their own. 2925
HTTP protocol 2926
To stop a Machine, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/stop" URI of the Machine 2927 where the HTTP request body shall be as described below. 2928
JSON media type: application/json 2929
JSON serialization: 2930
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 2931 "action": "http://schemas.dmtf.org/cimi/1/action/stop", 2932
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
84 DMTF Standard Version 1.0.0
"force": boolean, ? 2933 "properties": { "key": string, + } ? 2934 ... 2935 } 2936
XML media type: application/xml 2937
XML serialization 2938
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 2939 <action> http://schemas.dmtf.org/cimi/1/action/stop </action> 2940 <force> xs:boolean </force> ? 2941 <property key="xs:string"> xs:string </property> * 2942 <xs:any>* 2943 </Action> 2944
Upon successful processing of the request, the HTTP response body will be empty. 2945
Restarting a Machine 2946
/link@rel: http://schemas.dmtf.org/cimi/1/action/restart 2947
This operation will restart a Machine. If the Machine is in the "STARTED" state, this operation will have 2948 the semantic effect of executing the "stop" and then "start" operations. If the Machine is in the 2949 "STOPPED" state, this operation will have the semantic effect of executing the "start" operation. 2950
Input parameters: 2951
"force" - type: boolean - optional 2952 A flag to indicate whether the Provider shall simulate a power off condition (force=true) or shall 2953 simulate a shutdown operation that allows applications to save their state and the file system to 2954 be made consistent (force=false). Inclusion of this parameter by Consumers is optional and when 2955 not specified, the Provider may choose either mechanism. Providers are encouraged to advertise 2956 this choice via the MachineStopForceDefault capability. 2957
Output parameters: None. 2958
During the processing of this operation, the Machine shall be in the “STOPPING” and/or “STARTING” 2959 states, as appropriate depending on its initial state. 2960
Upon successful completion of this operation, the Machine will be in the "STARTED" state. Restarting a 2961 Machine is the virtual equivalent of powering off, and then powering on a physical machine. There is no 2962 restored CPU or Memory state, so the guest OS will typically perform boot or installation tasks. 2963
HTTP protocol 2964
To restart a Machine, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/restart" URI of the 2965 Machine where the HTTP request body shall be as described below. 2966
JSON media type: application/json 2967
JSON serialization: 2968
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 2969 "action": "http://schemas.dmtf.org/cimi/1/action/restart", 2970 "force": boolean, ? 2971 "properties": { "key": string, + } ? 2972 ... 2973 } 2974
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 85
XML media type: application/xml 2975
XML serialization 2976
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 2977 <action> http://schemas.dmtf.org/cimi/1/action/restart </action> 2978 <force> xs:boolean </force> ? 2979 <property key="xs:string"> xs:string </property> * 2980 <xs:any>* 2981 </Action> 2982
Upon successful processing of the request, the HTTP response body will be empty. 2983
Pausing a Machine 2984
/link@rel: http://schemas.dmtf.org/cimi/1/action/pause 2985
This operation will pause a Machine. 2986
Input parameters: None. 2987
Output parameters: None. 2988
During the processing of this operation, the Machine shall be in the "PAUSING" state. 2989
Upon successful completion of this operation, the Machine will be in the "PAUSED" state. Pausing a 2990 Machine will keep the Machine and its resources instantiated, but the Machine will not be available to 2991 perform any tasks. The current state of the CPU and Memory will be retained in volatile memory. 2992
HTTP protocol 2993
To pause a Machine, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action.pause" URI of the 2994 Machine where the HTTP request body shall be as described below. 2995
JSON media type: application/json 2996
JSON serialization: 2997
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 2998 "action": "http://schemas.dmtf.org/cimi/1/action/pause", 2999 "properties": { "name": string, + } ? 3000 ... 3001 } 3002
XML media type: application/xml 3003
XML serialization 3004
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 3005 <action> http://schemas.dmtf.org/cimi/1/action/pause </action> 3006 <property name="xs:string"> xs:string </property> * 3007 <xs:any>* 3008 </Action> 3009
Upon successful processing of the request, the HTTP response body will be empty. 3010
Suspending a Machine 3011
/link@rel: http://schemas.dmtf.org/cimi/1/action/suspend 3012
This operation will suspend a Machine. 3013
Input parameters: None. 3014
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
86 DMTF Standard Version 1.0.0
Output parameters: None. 3015
During the processing of this operation, the Machine shall be in the "SUSPENDING" state. 3016
Upon successful completion of this operation, the Machine will be in the "SUSPENDED" state. 3017 Suspending a Machine will keep the Machine and its resources instantiated, but the Machine will not be 3018 available to perform any tasks. The current state of the CPU and Memory will be retained in non-volatile 3019 memory. 3020
HTTP protocol 3021
To suspend a Machine, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/suspend" URI of the 3022 Machine where the HTTP request body shall be as described below. 3023
JSON media type: application/json 3024
JSON serialization: 3025
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 3026 "action": "http://schemas.dmtf.org/cimi/1/action/suspend", 3027 "properties": { "name": string, + } ? 3028 ... 3029 } 3030
XML media type: application/xml 3031
XML serialization 3032
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 3033 <action> http://schemas.dmtf.org/cimi/1/action/suspend </action> 3034 <property name="xs:string"> xs:string </property> * 3035 <xs:any>* 3036 </Action> 3037
Upon successful processing of the request, the HTTP response body will be empty. 3038
Capturing a Machine 3039
/link@rel: http://schemas.dmtf.org/cimi/1/action/capture 3040
This operation will create a new Machine Image from an existing Machine. This operation is defined 3041 within the Machine Image resource; see 5.14.7.1 for more details. Note that while this operation is 3042 performed against a Machine Image, its presence in the Machine serialization is used to advertise 3043 support for the operation. 3044
Snapshotting a Machine 3045
/link@rel: http://schemas.dmtf.org/cimi/1/action/snapshot 3046
This operation will create a new SNAPSHOT Machine Image from an existing Machine. This operation is 3047 defined within the Machine Image resource; see 5.14.7.1 for more details. Note that while this operation 3048 is performed against a Machine Image, its presence in the Machine serialization is used to advertise 3049 support for the operation. 3050
Restoring a Machine 3051
/link@rel: http://schemas.dmtf.org/cimi/1/action/restore 3052
This operation will restore a Machine from a previously created Machine Image. 3053
Input parameters: 3054
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 87
"image" - type: URI - mandatory 3055 A reference to the Machine Image. 3056
Output parameters: None. 3057
During the processing of this operation, the Machine shall be in the "RESTORING" state. 3058
Upon successful completion of this operation, the Machine will be in the same state as the specified in the 3059 Machine Image, if specified. 3060
Note that Providers can indicate support for restoring from non-SNAPSHOT Machine Images via the 3061 Machine "RestoreFromImage" capability. When this capability is not supported, but the restore operation 3062 is supported, then that indicates it only supports restoring from SNAPSHOT Machine Images. 3063
HTTP protocol 3064
To restore a Machine, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/restore" URI of the 3065 Machine where the HTTP request body shall be as described below. 3066
JSON media type: application/json 3067
JSON serialization: 3068
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 3069 "action": "http://schemas.dmtf.org/cimi/1/action/restore", 3070 "image": string, 3071 "properties": { "name": string, + } ? 3072 ... 3073 } 3074
XML media type: application/xml 3075
XML serialization 3076
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 3077 <action> http://schemas.dmtf.org/cimi/1/action/restore </action> 3078 <image href="xs:anyURI"/> 3079 <property name="xs:string"> xs:string </property> * 3080 <xs:any>* 3081 </Action> 3082
Where the "image" URI is a reference to the Machine Image to be used. 3083
Upon successful processing of the request, the HTTP response body will be empty. 3084
5.14.2 Machine Collection 3085
A Machine Collection resource represents the collection of Machine resources within a Provider and 3086 follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as follows: 3087
3088
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
88 DMTF Standard Version 1.0.0
JSON serialization: 3089
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineCollection", 3090 "id": string, 3091 "count": number, 3092 "machines": [ 3093 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Machine", 3094 "id": string, 3095 ... remaining Machine attributes ... 3096 }, + 3097 ], ? 3098 "operations": [ { "rel": "add", "href": string } ? ] 3099 ... 3100 } 3101
XML serialization: 3102
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/MachineCollection" 3103 xmlns="http://schemas.dmtf.org/cimi/1"> 3104 <id> xs:anyURI </id> 3105 <count> xs:integer </count> 3106 <Machine> 3107 <id> xs:anyURI </id> 3108 ... remaining Machine attributes ... 3109 </Machine> * 3110 <operation rel="add" href="xs:anyURI"/> ? 3111 <xs:any>* 3112 </Collection> 3113
5.14.2.1 Operations 3114
NOTE: The "add" operation requires a MachineTemplate be used. 3115
Within the NetworkInterface portion of the MachineTemplate, there may be a reference to an Address 3116 resource. If one is not provided, the Provider shall create one on the Consumer's behalf. In these cases, 3117 and unless some action is taken to change this behavior, the Address will be bound to the new Machine 3118 that is created and shall be deleted by the Provider when the Machine is deleted. Additionally, if these 3119 Provider-created Address resources are disassociated from the Machine, the Provider shall delete them. 3120 If the Consumer does provide an Address resource, the Address shall not be deleted when the Machine 3121 is deleted and it is then up to the Consumer to delete the Address through some other mechanism. 3122
Upon successful processing of the "add" operation, unless otherwise specified via the MachineTemplate 3123 "initialState" attribute, or unless determined by the MachineImage, the state of the new Machine shall be 3124 the value of the DefaultInitialState capability. If no DefaultInitialState capability is defined and the 3125 MachineImage doesn't imply any particular state, the default value is "STOPPED." 3126
5.14.3 Machine Template 3127
A Machine Template represents the set of metadata and instructions used in the creation of a Machine. 3128
Name MachineTemplate
Type URI http://schemas.dmtf.org/cimi/1/MachineTemplate
Attribute Type Description
initialState string The initial state of the new Machine, unless determined by the MachineImage used when instantiating the Machine.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 89
machineConfig ref A reference to the Machine Configuration that will be used to create a Machine from this Machine Template.
Note that the attributes of the MachineConfiguration may be specified rather than a reference to an existing MachineConfiguration resource.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
machineImage ref A reference to the Machine Image that will be used to create a Machine from this Machine Template.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
credential ref A reference to the Credential that will be used to create the initial login credentials for the new Machine.
Note that the attributes of the Credential may be specified rather than a reference to an existing Credential resource.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
volumes volume[] A list of references to existing Volumes that will be connected to the Machine during its creation.
Each volume has the following attributes, which describe aspects of the way in which the Machine will be connected to the Volume:
Name volume
Attribute Type Description
initialLocation string An Operating System specific location(path) in its namespace where the Volume will appear.
Support of this attribute indicates that the Provider allows for Consumers to choose where the Volume will appear.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
volume ref Reference to the Volume that will be connected.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-
write
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
volumeTemplates volumeTemplate[] A list of references to Volume Templates that will be used to create a set of new Volumes that will to be connected to the Machine during its creation.
If the Machine is created as part of a System creation, the Volumes created from these templates will be considered as part of that System without the need for these Volume Templates to also be listed in the volumeTemplates attribute of the relevant System Template. If the same
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
90 DMTF Standard Version 1.0.0
Volume Template reference is listed in both the volumeTemplates attribute of a System Template and in the volumeTemplates attribute
of a Machine Template contained by that System Template, this means that multiple, distinct Volume instances will be created as part of the overall System creation.
Each volumeTemplate has the following attributes, which describe aspects of the way in which the Machine will be connected to the Volume instance that will be created from the template:
Name volumeTemplate
Attribute Type Description
initialLocation string An Operating System specific location(path) in its namespace where the Volume will appear.
Support of this attribute indicates that the Provider allows for Consumers to choose where the Volume will appear.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
volumeTemplate ref Reference to the Volume Template that will be used to create a new Volume.
Note that the attributes of the VolumeTemplate may be specified rather than a reference to an existing VolumeTemplate resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-
write
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
networkInterfaces networkInterface[] A list of resources that define the network interfaces that will be created on Machines instantiated from this template.
Name networkInterface
Attribute Type Description
addresses ref[] A list of references to the Addresses for this network interface.
Array item name: address
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
network ref A reference to the Network for this network interface.
It is expected that NetworkPorts and Networks will be defined separately and prior to the Machines that connect to them.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 91
networkPort ref A reference to the NetworkPort for this network interface.
Note this is a reference to a NetworkPort and not a NetworkPortTemplate. It is expected that NetworkPorts and Networks will be defined separately and prior to the Machines that connect to them.
If this attribute is provided, the "network" attribute in the referenced NetworkPort shall have the same value as the "network" attribute in this networkInterface.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
state string The state of an interface configurable to be "Active" or "Passive."
A passive interface is in a standby mode ready to forward traffic if the primary interface fails.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
mtu integer To set the largest supported packet size.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
userData string A Base64 encoded string whose decoded version is to be injected into Machines created by using this template. See the discussion of injection of user-defined data below.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
meterTemplates meterTemplates[] A list of references to Meter Templates that shall be used to create and connect a set of new Meters to the new Machine.
Note that the attributes of the MeterTemplate may be specified rather than a reference to an existing MeterTemplate resource.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
eventLogTemplate ref A reference to an EventLogTemplate that shall be used to create and connect a new EventLog to the new Machine.
Note that the attributes of the EventLogTemplate may be specified rather than a reference to an existing EventLogTemplate resource.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
The following describes the serialization of the resource in both JSON and XML: 3129
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
92 DMTF Standard Version 1.0.0
JSON media type: application/json 3130
JSON serialization: 3131
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineTemplate", 3132 "id": string, 3133 "name": string, ? 3134 "description": string, ? 3135 "created": string, ? 3136 "updated": string, ? 3137 "properties": { "key": string, + }, ? 3138 "initialState": string, ? 3139 "machineConfig": { 3140 "href": string | ... MachineConfiguration attributes ... 3141 }, ? 3142 "machineImage": { 3143 "href": string | ... MachineImage attributes ... 3144 }, ? 3145 "credential": { 3146 "href": string | ... CredentialTemplate attributes ... 3147 }, ? 3148 "volumes": [ 3149 { "initialLocation": string?, "href": string }, + 3150 ], ? 3151 "volumeTemplates": [ 3152 { "initialLocation": string?, 3153 "href": string, ? 3154 ... VolumeTemplate attributes ... ? 3155 }, + 3156 ], ? 3157 "networkInterfaces": [ 3158 { "addresses": [ 3159 {"href": string}, + 3160 ], 3161 "network": {"href": string}, 3162 "networkPort": {"href": string}, ? 3163 "state": string, 3164 "mtu": number ? 3165 }, + 3166 ], ? 3167 "userData": string, ? 3168 "meterTemplates": [ 3169 { "href": string, ? 3170 ... MeterTemplate attributes ... ? 3171 }, * 3172 ], ? 3173 "eventLogTemplate": { 3174 "href": string, ? 3175 ... EventLogTemplate attributes ... ? 3176 }, ? 3177 "operations": [ 3178 { "rel": "edit", "href": string }, ? 3179 { "rel": "delete", "href": string } ? 3180 ] ? 3181 ... 3182 } 3183
XML media type: application/xml 3184
XML serialization: 3185
<MachineTemplate xmlns="http://schemas.dmtf.org/cimi/1"> 3186 <id> xs:anyURI </id> 3187 <name> xs:string </name> ? 3188
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 93
<description> xs:string </description> ? 3189 <created> xs:dateTime </created> ? 3190 <updated> xs:dateTime </updated> ? 3191 <property key="xs:string"> xs:string </property> * 3192 <initialState> xs:string </initialState> ? 3193 <machineConfig href="xs:anyURI"?> 3194 ... MachineConfiguration attributes ... ? 3195 </machineConfig> ? 3196 <machineImage href="xs:anyURI"?> 3197 ... MachineImage attributes ... ? 3198 </machineImage> ? 3199 <credential href="xs:anyURI"?> 3200 ... CredentialTemplate attributes ... ? 3201 </credential> ? 3202 <volume initialLocation="xs:string"? href="xs:anyURI" /> * 3203 <volumeTemplate initialLocation="xs:string"? href="xs:anyURI"? > 3204 ... VolumeTemplate attributes ... ? 3205 </volumeTemplate> * 3206 <networkInterface> 3207 <address href="xs:anyURI"/> * 3208 <network href="xs:anyURI"/> 3209 <networkPort href="xs:anyURI"/> ? 3210 <state> xs:string </state> 3211 <mtu> xs:integer </mtu> ? 3212 </networkInterface> * 3213 <meterTemplate href="xs:anyURI"? > 3214 ... MeterTemplate attributes ... ? 3215 </meterTemplate> * 3216 <eventLogTemplate href="xs:anyURI"? > 3217 ... EventLogTemplate attributes ... ? 3218 </eventLogTemplate> ? 3219 <userData> xs:string </userData> ? 3220 <operation rel="edit" href="xs:anyURI"/> ? 3221 <operation rel="delete" href="xs:anyURI"/> ? 3222 <xs:any>* 3223 </MachineTemplate> 3224
Injection of user-defined data 3225
To simplify the customization of individual Machines, it is possible to pass arbitrary data into the new 3226 Machine by using the userData parameter. The value of this parameter shall be the Base64-encoded 3227 payload. The Provider shall arrange for this data to be available from inside the Machine by using one of 3228 the following three methods: 3229
1. Metadata server: The data can be retrieved from within the instance by using an HTTP GET 3230 request to http://169.254.169.254/cimi/latest/user-data. 3231
2. Disk: The Machine will have access to a Disk with an ISO 9660 file system on it. The data can be 3232 found in a file at <location>/cimi/user-data. 3233
3. Image modification: The Provider modifies the root file system of the machine image just before 3234 launching the machine. In UNIX-like operating systems, the data can be found in the file 3235 /var/lib/cimi/user-data. 3236
It is strongly recommended that Providers implement a metadata server, or, failing that, injection via Disk, 3237 as image modification is brittle and may not work for every operating system in use. The Provider shall 3238 indicate which of these three methods is supported with the Machine 'UserData' capability in the 3239 ResourceMetadata for Machines. The value for this feature shall be one of metadata, disk, or imgmod, 3240 corresponding to the three methods listed above. 3241
The Provider shall preserve this data across restarts of the machine. The data will be the Base64-3242 decoded version of the data that was passed into the MachineCreate request. 3243
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
94 DMTF Standard Version 1.0.0
5.14.3.1 Operations 3244
This resource supports the Read, Update, and Delete operations. Create is supported via the Machine 3245 Template Collection resource. 3246
5.14.4 Machine Template Collection 3247
A Machine Template Collection resource represents the collection of Machine Template resources within 3248 a Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as 3249 follows: 3250
JSON serialization: 3251
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineTemplateCollection", 3252 "id": string, 3253 "count": number, 3254 "machineTemplates": [ 3255 { "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineTemplate", 3256 "id": string, 3257 ... remaining MachineTemplate attributes ... 3258 }, + 3259 ], ? 3260 "operations": [ { "rel": "add", "href": string } ? ] 3261 ... 3262 } 3263
XML serialization: 3264
<Collection 3265 resourceURI="http://schemas.dmtf.org/cimi/1/MachineTemplateCollection" 3266 xmlns="http://schemas.dmtf.org/cimi/1"> 3267 <id> xs:anyURI </id> 3268 <count> xs:integer </count> 3269 <MachineTemplate> 3270 <id> xs:anyURI </id> 3271 ... remaining MachineTemplate attributes ... 3272 </MachineTemplate> * 3273 <operation rel="add" href="xs:anyURI"/> ? 3274 <xs:any>* 3275 </Collection> 3276
5.14.4.1 Operations 3277
This resource supports the Read and Update operations. Creation of new Machine Template resources 3278 are supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 3279
5.14.5 Machine Configuration 3280
The Machine Configuration resource represents the set of configuration values that define the (virtual) 3281 hardware resources of a to-be-realized Machine Instance. Machine Configurations are created by 3282 Providers and may, at the Providers discretion, be created by Consumers. 3283
Name MachineConfiguration
Type URI http://schemas.dmtf.org/cimi/1/MachineConfiguration
Attribute Type Description
cpu integer Indicates the amount of CPU that a Machine realized from this configuration will have.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 95
memory integer Indicates the amount of RAM, in kibibytes, that a Machine realized from this configuration will have.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
disks disk[] Contains the list of metadata of the disks that will be created upon the instantiation of a Machine from this configuration. The disks are local storage to the Machine.
Each disks attribute has the following sub-attributes:
Name disk
Attribute Type Description
capacity integer Indicates the initial capacity, in kilobytes, of the disk described by this attribute. Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
format string The format/type of this disk (e.g., ext4, NTFS).
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
initialLocation string An Operating System specific location(path) in its namespace where this disk will first appear. Note, once deployed Consumers might move where this Disk is located.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
cpuArch string This property indicates the CPU architecture that will be supported by Machines created by using this configuration.
Allowable values include: 68000, Alpha, ARM, Itanium, MIPS, PA_RISC, POWER, PowerPC, x86, x86_64, z/Architecture, SPARC. Providers may define additional
values.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
NOTE: The disk attributes "format" will not appear on Machine resources because after the Machine is created, the 3284 user of the Machine will be able to modify this attribute of a disk, possibly without the Provider's knowledge. Therefore 3285 these attributes might not be an aspect of the Machine that the Provider can reliably manage. 3286
JSON media type: application/json 3287
JSON serialization: 3288
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineConfiguration", 3289 "id": string, 3290 "name": string, ? 3291 "description": string, ? 3292 "created": string, ? 3293 "updated": string, ? 3294 "properties": { "key": string, + }, ? 3295 "cpu": number, 3296 "memory": number, 3297 "disks" : [ 3298
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
96 DMTF Standard Version 1.0.0
{ "capacity": number, 3299 "format": string, 3300 "initialLocation": string? 3301 }, + 3302 ], ? 3303 "cpuArch": string, ? 3304 "operations": [ 3305 { "rel": "edit", "href": string }, ? 3306 { "rel": "delete", "href": string } ? 3307 ] ? 3308 ... 3309 } 3310
XML media type: application/xml 3311
XML serialization: 3312
<MachineConfiguration xmlns="http://schemas.dmtf.org/cimi/1"> 3313 <id> xs:anyURI </id> 3314 <name> xs:string </name> ? 3315 <description> xs:string </description> ? 3316 <created> xs:dateTime </created> ? 3317 <updated> xs:dateTime </updated> ? 3318 <property key="xs:string"> xs:string </property> * 3319 <cpu> xs:integer </cpu> 3320 <memory> xs:integer </memory> 3321 <disk> 3322 <capacity> xs:integer </capacity> 3323 <format> xs:string </format> 3324 <initialLocation> xs:string </initialLocation> ? 3325 </disk> * 3326 <cpuArch> xs:string </cpuArch> ? 3327 <operation rel="edit" href="xs:anyURI"/> ? 3328 <operation rel="delete" href="xs:anyURI"/> ? 3329 <xs:any>* 3330 </MachineConfiguration> 3331
5.14.5.1 Operations 3332
This resource supports the Read, Update, and Delete operations. Create is supported via the Machine 3333 Configuration Collection resource. 3334
5.14.6 Machine Configuration Collection 3335
A Machine Configuration Collection resource represents the collection of Machine Configuration 3336 resources within a Provider and follows the Collection pattern defined in clause 5.5.12. This resource 3337 shall be serialized as follows: 3338
JSON serialization: 3339
{ "resourceURI": 3340 "http://schemas.dmtf.org/cimi/1/MachineConfigurationCollection", 3341 "id": string, 3342 "count": number, 3343 "machineConfigurations": [ 3344 { "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineConfiguration", 3345 "id": string, 3346 ... remaining MachineConfiguration attributes ... 3347 }, + 3348 ], ? 3349 "operations": [ { "rel": "add", "href": string } ? ] 3350 ... 3351 } 3352
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 97
XML serialization: 3353
<Collection 3354 resourceURI="http://schemas.dmtf.org/cimi/1/MachineConfigurationCollection" 3355 xmlns="http://schemas.dmtf.org/cimi/1"> 3356 <id> xs:anyURI </id> 3357 <count> xs:integer </count> 3358 <MachineConfiguration> 3359 <id> xs:anyURI </id> 3360 ... remaining MachineConfiguration attributes ... 3361 </MachineConfiguration> * 3362 <operation rel="add" href="xs:anyURI"/> ? 3363 <xs:any>* 3364 </Collection> 3365
5.14.6.1 Operations 3366
This resource supports the Read and Update operations. Creation of new Machine Configuration 3367 resources are supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 3368
5.14.7 Machine Image 3369
This resource represents the information necessary for hardware virtualized resources to create a 3370 Machine Instance; it contains configuration data such as startup instructions, including possible 3371 combinations of the following items, depending on the 'type' of Machine Image created: 3372
the software image (i.e., a copy of an installed Machine), which is to be instantiated on the disk 3373 and other virtual resources. The image can be a snapshot that consists of disk images plus 3374 memory and other resource state information. 3375
installation software, which, when executed on the hardware (virtual) resources, builds the 3376 machine instance 3377
both a disk image and a set of software and parameters in order to install new components not 3378 included in the original disk image 3379
3380
Name MachineImage
Type URI http://schemas.dmtf.org/cimi/1/MachineImage
Attribute Type Description
state string The operational state of the MachineImage.
Allowable values include:
CREATING: The MachineImage is in the process of being created. Allowable action when in this state is: delete.
AVAILABLE: The MachineImage is available and ready for use. Allowable action when in this state is: delete.
DELETING: The MachineImage is in the process of being deleted. Allowable action when in this state is: delete.
ERROR: The Provider has detected an error in the MachineImage. Allowable action when in this state is: delete.
Providers may define additional values.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
98 DMTF Standard Version 1.0.0
type string The type of Machine Image that is represented by this resource. This specification defines the following values:
IMAGE: This type represents the persisted data of a stopped Machine. Unlike
"snapshots", it does not contain any runtime information. When this value is used the "relatedImage" attribute shall not be present.
SNAPSHOT: This type represents the persisted data of a Machine. If the Machine was
not in a stopped state when this Image was created, it will also contain runtime information. When this value is used, the "relatedImage" attribute shall reference the most recently created (or reverted to) snapshot Image for that Machine, which allows for easy discovery of the "previous" snapshot. The "relatedImage" attribute shall not be set by Consumers.
PARTIAL_SNAPSHOT: This type follows the same semantics as the "SNAPSHOT"
Machine Image except that it will contain just the changes (deltas) made to the Machine based on the referenced "relatedImage" Machine Image rather than a complete representation of the Machine.
When a Machine Image is deleted, the following semantics shall apply:
Any "SNAPSHOT" Machine Images that have a "relatedImage" value that references the deleted Machine Image shall have that value changed to the "relatedImage" attribute of the delete Machine Image.
Any "PARTIAL_SNAPSHOT" Machine Images that have a "relatedImage" value that references the deleted Machine Image shall also be deleted. This detail applies recursively to any subsequent "PARTIAL_SNAPSHOT" Machine Images as well.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
imageLocation URI A reference to the location of the binary data that makes up this image.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
relatedImage ref A reference to another Machine Image resource that is related to this one. The specific meaning of this value will vary depending on the type of Machine Image.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
The following describes the serialization of the resource in both JSON and XML: 3381
JSON media type: application/json 3382 3383
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 99
JSON serialization: 3384
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineImage", 3385 "id": string, 3386 "name": string, ? 3387 "description": string, ? 3388 "created": string, ? 3389 "updated": string, ? 3390 "properties": { "key": string, + }, ? 3391 "state": string, 3392 "type": string, 3393 "imageLocation": string, 3394 "relatedImage": { "href": string }, ? 3395 "operations": [ 3396 { "rel": "edit", "href": string }, ? 3397 { "rel": "delete", "href": string } ? 3398 ] ? 3399 ... 3400 } 3401
XML media type: application/xml 3402
XML serialization: 3403
<MachineImage xmlns="http://schemas.dmtf.org/cimi/1"> 3404 <id> xs:anyURI </id> 3405 <name> xs:string </name> ? 3406 <description> xs:string </description> ? 3407 <created> xs:dateTime </created> ? 3408 <updated> xs:dateTime </updated> ? 3409 <property key="xs:string"> xs:string </property> * 3410 <state> xs:string </state> 3411 <type> xs:string </type> 3412 <imageLocation> xs:anyURI </imageLocation> 3413 <relatedImage href="xs:anyURI"/> ? 3414 <operation rel="edit" href="xs:anyURI"/> ? 3415 <operation rel="delete" href="xs:anyURI"/> ? 3416 <xs:any>* 3417 </MachineImage> 3418
5.14.7.1 Operations 3419
This resource supports the Read, Update, and Delete operations. Create is supported via the Machine 3420 Image Collection resource. 3421
When creating a new Machine Image the representation of the new Machine Image may include a 3422 reference in the "imageLocation" attribute. Providers shall inspect this reference (most likely via an HTTP 3423 HEAD) to determine if any special processing is required. This specification defines the following 3424 additional steps that Providers shall take depending on the type of resource being referenced: 3425
http://schemas.dmtf.org/cimi/1/Machine 3426
If the "imageLocation" is a reference to a Machine, the Provider shall create a new Machine Image based 3427 on the Machine being referenced. Upon completion of the create operation, the Machine Image's 3428 "imageLocation" attribute shall not reference the Machine (as the Machine might change over time), but 3429 instead it shall reference the (or contain the data of a) static representation of the Machine. 3430
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
100 DMTF Standard Version 1.0.0
5.14.8 Machine Image Collection 3431
A Machine Image Collection resource represents the collection of Machine Image resources within a 3432 Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as 3433 follows: 3434
JSON serialization: 3435
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineImageCollection", 3436 "id": string, 3437 "count": number, 3438 "machineImages": [ 3439 { "resourceURI": "http://schemas.dmtf.org/cimi/1/MachineImage", 3440 "id": string, 3441 ... remaining MachineImage attributes ... 3442 }, + 3443 ], ? 3444 "operations": [ { "rel": "add", "href": string } ? ] 3445 ... 3446 } 3447
XML serialization: 3448
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/MachineImageCollection" 3449 xmlns="http://schemas.dmtf.org/cimi/1"> 3450 <id> xs:anyURI </id> 3451 <count> xs:integer </count> 3452 <MachineImage> 3453 <id> xs:anyURI </id> 3454 ... remaining MachineImage attributes ... 3455 </MachineImage> * 3456 <operation rel="add" href="xs:anyURI"/> ? 3457 <xs:any>* 3458 </Collection> 3459
5.14.8.1 Operations 3460
This resource supports the Read and Update operations. Creation of new Machine Image resources are 3461 supported via a POST to the "add" operation's URI as described in clause 4.2.1.1, where the request 3462 body and the way it is processed is described in clause 5.14.7.1. 3463
5.14.9 Credential 3464
A Credential resource contains the information required to create the initial administrative superuser of a 3465 newly created Machine or to represent the credentials needed to perform some operation. Due to the 3466 variation between operating systems and Providers, this specification does not mandate one particular 3467 set of attributes that all implementations need to support. However, Providers are expected to extend this 3468 resource with additional attributes to meet their requirements. 3469
For example, a Provider might extend this resource with username and password attributes, which would 3470 then be the login information for new Machines. These extension attributes would appear as siblings to 3471 the common attributes like "name"' and "description." 3472
Name Credential
Type URI http://schemas.dmtf.org/cimi/1/Credential
Attribute Type Description
TBD The exact set of attributes will be determined by the Provider.
Some common extension attributes that Providers might use include: 3473
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 101
UserName/Password: 3474
Attribute Type Description
userName string The initial superuser's user name.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
password string Initial superuser's password.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; write-only
3475
Public key: 3476
Attribute Type Description
key byte[] The digit of the public key for the initial superuser.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
JSON media type: application/json 3477
JSON serialization: 3478
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Credential", 3479 "id": string, 3480 "name": string, ? 3481 "description": string, ? 3482 "created": string, ? 3483 "updated": string, ? 3484 "properties": { "key": string, + }, ? 3485 "operations": [ 3486 { "rel": "edit", "href": string } ? 3487 { "rel": "delete", "href": string } ? 3488 ] ? 3489 ... 3490 } 3491
XML media type: application/xml 3492
XML serialization: 3493
<Credential xmlns="http://schemas.dmtf.org/cimi/1"> 3494 <id> xs:anyURI </id> 3495 <name> xs:string </name> ? 3496 <description> xs:string </description> ? 3497 <created> xs:dateTime </created> ? 3498 <updated> xs:dateTime </updated> ? 3499 <property key="xs:string"> xs:string </property> * 3500 <operation rel="edit" href="xs:anyURI"/> ? 3501 <operation rel="delete" href="xs:anyURI"/> ? 3502 <xs:any>* 3503 </Credential> 3504
5.14.9.1 Operations 3505
This resource supports the Read, Update, and Delete operations. Create is supported via the Credential 3506 Collection resource. 3507
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
102 DMTF Standard Version 1.0.0
5.14.10 Credential Collection 3508
A Credential Collection resource represents the collection of Credential resources within a Provider and 3509 follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as follows: 3510
JSON serialization: 3511
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/CredentialCollection", 3512 "id": string, 3513 "count": number, 3514 "credential": [ 3515 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Credential", 3516 "id": string, 3517 ... remaining Credential attributes ... 3518 }, + 3519 ], ? 3520 "operations": [ { "rel": "add", "href": string } ? ] 3521 ... 3522 } 3523
XML serialization: 3524
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/CredentialCollection" 3525 xmlns="http://schemas.dmtf.org/cimi/1"> 3526 <id> xs:anyURI </id> 3527 <count> xs:integer </count> 3528 <Credential> 3529 <id> xs:anyURI </id> 3530 ... remaining Credential attributes ... 3531 </Credentials> * 3532 <operation rel="add" href="xs:anyURI"/> ? 3533 <xs:any>* 3534 </Collection> 3535
5.14.10.1 Operations 3536
NOTE: The "add" operation requires a CredentialTemplate be used. 3537
5.14.11 Credential Template 3538
This resource captures the configuration values for realizing a Credential resource. A Credential 3539 Template may be used to create multiple Credentials. 3540
Name CredentialTemplate
Type URI http://schemas.dmtf.org/cimi/1/CredentialTemplate
Attribute Type Description
TBD The exact set of attributes will be determined by the provider.
The following describes the serialization of the resource in both JSON and XML: 3541
JSON media type: application/json 3542
JSON serialization: 3543
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/CredentialTemplate", 3544 "id": string, 3545 "name": string, ? 3546 "description": string, ? 3547 "created": string, ? 3548 "updated": string, ? 3549 "properties": { "key": string, + }, ? 3550 "operations": [ 3551
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 103
{ "rel": "edit", "href": string }, ? 3552 { "rel": "delete", "href": string } ? 3553 ] ? 3554 ... 3555 } 3556
XML media type: application/xml 3557
XML serialization: 3558
<CredentialTemplate xmlns="http://schemas.dmtf.org/cimi/1"> 3559 <id> xs:anyURI </id> 3560 <name> xs:string </name> ? 3561 <description> xs:string </description> ? 3562 <created> xs:dateTime </created> ? 3563 <updated> xs:dateTime </updated> ? 3564 <property key="xs:string"> xs:string </property> * 3565 <operation rel="edit" href="xs:anyURI"/> ? 3566 <operation rel="delete" href="xs:anyURI"/> ? 3567 <xs:any>* 3568 </CredentialTemplate> 3569
5.14.11.1 Operations 3570
This resource supports the Read, Update, and Delete operations. Create is supported via the Credential 3571 Template Collection resource. 3572
5.14.12 Credential Template Collection 3573
A Credential Template Collection resource represents the collection of CredentialTemplate resources 3574 within a Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be 3575 serialized as follows: 3576
JSON serialization: 3577
{ "resourceURI": 3578 "http://schemas.dmtf.org/cimi/1/CredentialTemplateCollection", 3579 "id": string, 3580 "count": number, 3581 "credentialTemplates": [ 3582 { "resourceURI": "http://schemas.dmtf.org/cimi/1/CredentialTemplate", 3583 "id": string, 3584 ... remaining CredentialTemplate attributes ... 3585 }, + 3586 ], ? 3587 "operations": [ { "rel": "add", "href": string } ? ] 3588 ... 3589 } 3590
3591
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
104 DMTF Standard Version 1.0.0
XML serialization: 3592
<Collection 3593 resourceURI="http://schemas.dmtf.org/cimi/1/CredentialTemplateCollection" 3594 xmlns="http://schemas.dmtf.org/cimi/1"> 3595 <id> xs:anyURI </id> 3596 <count> xs:integer </count> 3597 <CredentialTemplate> 3598 <id> xs:anyURI </id> 3599 ... remaining CredentialTemplate attributes ... 3600 </CredentialTemplate> * 3601 <operation rel="add" href="xs:anyURI"/> ? 3602 <xs:any>* 3603 </Collection> 3604
5.14.12.1 Operations 3605
This resource supports the Read and Update operations. Creation of new Credential Template resources 3606 are supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 3607
5.15 Volume resources and relationships 3608
Figure 4 illustrates the resources involved in constructing a Volume and their relationships. Although this 3609 drawing is in the style of a Resource Relationship diagram, the use of UML is neither rigorous nor 3610 normative. 3611
Figure 4 - Volume resources 3612
5.15.1 Volume 3613
A Volume represents storage at either the block or the file-system level. Volumes can be connected to 3614 Machines. Once connected, Volumes can be accessed by processes on that Machine. 3615
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 105
Name Volume
Type URI http://schemas.dmtf.org/cimi/1/Volume
Attribute Type Description
state string Indicates the operational state of the Volume.
Allowable values include:
CREATING: The Volume is in the process of being created. Allowable action when in this state is: delete.
AVAILABLE: The Volume is available and ready for use. Allowable action when in this state is: delete.
CAPTURING: The Volume is in the process of being captured (snapshotted) into a new VolumeImage. Allowable action when in this state is: delete.
DELETING: The Volume is in the process of being deleted. Allowable action when in this state is: delete.
ERROR: The Provider has detected an error in the Volume. Allowable action when in this state is: delete.
Providers may define additional values.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
type URI A URI that indicates the type of Volume to be created. This specification defines the following URI:
http://schemas.dmtf.org/cimi/1/mapped: Indicates a Volume that shall be used for
shared storage that might be available to multiple Machines, but which does not require an explicit mount operation from within the guest operating system.
Additional values may be defined. If certain types of Volumes require additional data then it is expected that this resource will be extended. For example, a "sharedFileSystem" type might require additional networking information and credentials to be specified.
Constraints: Provider: support mandatory ; immutable Consumer: support mandatory ; read-only
capacity integer The maximum size, when limited, of the Volume in kilobytes.
When this value is increased, the Volume can contain more data. Decreasing this value may require evaluations.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
bootable boolean This property indicates whether this Volume is bootable.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
images collection [VolumeVolumeImage]
A reference to the list of references to Volume Images that represent snapshots taken from the Volume.
Note: the VolumeVolumeImage resource type is representing an association between the Volume and a VolumeImage. It is defined in the following clause.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
106 DMTF Standard Version 1.0.0
meters collection [Meter]
A reference to the list of Meters monitored for this Volume.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
eventLog ref A reference to the EventLog of this Volume.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
The following describes the serialization of the resource in both JSON and XML: 3616
JSON media type: application/json 3617
JSON serialization: 3618
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Volume", 3619 "id": string, 3620 "name": string, ? 3621 "description": string, ? 3622 "created": string, ? 3623 "updated": string, ? 3624 "properties": { "key": string, + }, ? 3625 "state": string, 3626 "type": string, 3627 "capacity": number, 3628 "bootable": boolean, 3629 "images": { "href": string }, ? 3630 "meters": { "href": string }, ? 3631 "eventLog": { "href": string }, ? 3632 "operations": [ 3633 { "rel": "edit", "href": string }, ? 3634 { "rel": "delete", "href": string } ? 3635 ] ? 3636 ... 3637 } 3638
XML media type: application/xml 3639
XML serialization: 3640
<Volume xmlns="http://schemas.dmtf.org/cimi/1"> 3641 <id> xs:anyURI </id> 3642 <name> xs:string </name> ? 3643 <description> xs:string </description> ? 3644 <created> xs:dateTime </created> ? 3645 <updated> xs:dateTime </updated> ? 3646 <property key="xs:string"> xs:string </property> * 3647 <state> xs:string </state> 3648 <type> xs:anyURI </type> 3649 <capacity> xs:integer </capacity> 3650 <bootable> xs:boolean </bootable> 3651 <images href="xs:anyURI"/> ? 3652 <meters href="xs:anyURI"/> ? 3653 <eventLog href="xs:anyURI"/> ? 3654 <operation rel="edit" href="xs:anyURI"/> ? 3655 <operation rel="delete" href="xs:anyURI"/> ? 3656 <xs:any>* 3657 </Volume> 3658
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 107
5.15.1.1 Collections 3659
The following describes the collection resources owned by Volumes. 3660
5.15.1.1.1 VolumeVolumeImage Collection 3661
The resource type for each item of this collection is “VolumeVolumeImage”, defined as follows: 3662
Name VolumeVolumeImage
Type URI http://schemas.dmtf.org/cimi/1/VolumeVolumeImage
Attribute Type Description
volumeImage ref Reference to a Volume Image resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
JSON serialization: 3663
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeVolumeImageCollection", 3664 "id": string, 3665 "count": number, 3666 "volumeVolumeImages": [ 3667 { "resourceURI": 3668 "http://schemas.dmtf.org/cimi/1/VolumeVolumeImage", 3669 "id": string, 3670 "name": string, ? 3671 "description": string, ? 3672 "created": string, ? 3673 "updated": string, ? 3674 "properties": { "key": string, + }, ? 3675 "volumeImage": { "href": string }, 3676 "operations": [ 3677 { "rel": "edit", "href": string }, ? 3678 { "rel": "delete", "href": string } ? 3679 ] ? 3680 ... 3681 }, + 3682 ], ? 3683 "operations": [ { "rel": "add", "href": string } ? ] 3684 ... 3685 } 3686
XML serialization: 3687
<Collection 3688 resourceURI="http://schemas.dmtf.org/cimi/1/VolumeVolumeImageCollection" 3689 xmlns="http://schemas.dmtf.org/cimi/1"> 3690 <id> xs:anyURI </id> 3691 <count> xs:integer </count> 3692 <VolumeVolumeImage> 3693 <id> xs:anyURI </id> 3694 <name> xs:string </name> ? 3695 <description> xs:string </description> ? 3696 <created> xs:dateTime </created> ? 3697 <updated> xs:dateTime </updated> ? 3698 <property key="xs:string"> xs:string </property> * 3699 <volumeImage href="xs:anyURI"/> 3700 <operation rel="edit" href="xs:anyURI"/> ? 3701 <operation rel="delete" href="xs:anyURI"/> ? 3702 <xs:any>* 3703 </VolumeVolumeImage> * 3704
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
108 DMTF Standard Version 1.0.0
<operation rel="add" href="xs:anyURI"/> ? 3705 <xs:any>* 3706 </Collection> 3707
5.15.1.1.2 VolumeMeter Collection 3708
The resource type for each item of this collection is “Meter” as defined in clause 5.17.3. 3709
JSON serialization: 3710
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeMeterCollection", 3711 "id": string, 3712 "count": number, 3713 "meters": [ 3714 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Meter", 3715 "id": string, 3716 ... remaining Meter attributes ... 3717 }, + 3718 ], ? 3719 "operations": [ { "rel": "add", "href": string } ? ] 3720 ... 3721 } 3722
XML serialization: 3723
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/VolumeMeterCollection" 3724 xmlns="http://schemas.dmtf.org/cimi/1"> 3725 <id> xs:anyURI </id> 3726 <count> xs:integer </count> 3727 <Meter> 3728 <id> xs:anyURI </id> 3729 ... remaining Meter attributes ... 3730 </Meter> * 3731 <operation rel="add" href="xs:anyURI"/> ? 3732 <xs:any>* 3733 </Collection> 3734
5.15.1.2 Operations 3735
This resource supports the Read, Update, and Delete operations. Create is supported via the Volume 3736 Collection resource. 3737
5.15.2 Volume Collection 3738
A Volume Collection resource represents the collection of Volumes within a Provider and follows the 3739 Collection pattern defined in clause 5.5.12. This resource shall be serialized as follows: 3740
JSON serialization: 3741
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeCollection", 3742 "id": string, 3743 "count": number, 3744 "volumes": [ 3745 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Volume", 3746 "id": string, 3747 ... remaining Volume attributes ... 3748 }, + 3749 ], ? 3750 "operations": [ { "rel": "add", "href": string } ? ] 3751 ... 3752 } 3753
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 109
XML serialization: 3754
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/VolumeCollection" 3755 xmlns="http://schemas.dmtf.org/cimi/1"> 3756 <id> xs:anyURI </id> 3757 <count> xs:integer </count> 3758 <Volume> 3759 <id> xs:anyURI </id> 3760 ... remaining Volume attributes ... 3761 </Volume> * 3762 <operation rel="add" href="xs:anyURI"/> ? 3763 <xs:any>* 3764 </Collection> 3765
5.15.2.1 Operations 3766
NOTE: The "add" operation requires a VolumeTemplate be used. 3767
5.15.3 Volume Template 3768
This resource captures the configuration values for realizing a Volume. A Volume Template may be used 3769 to create multiple Volumes. 3770
Name VolumeTemplate
Type URI http://schemas.dmtf.org/cimi/1/VolumeTemplate
Attribute Type Description
volumeConfig ref A reference to the Volume Configuration that will be used to create a Volume from this Volume Template.
Note that the attributes of the VolumeConfiguration may be specified rather than a reference to an existing VolumeConfiguration resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
volumeImage ref A reference to the Volume Image that will be used to create a Volume from this Volume Template.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
meterTemplates meterTemplates[]
A list of references to Meter Templates that shall be used to create and connect a set of new Meters to the new Volume.
Note that the attributes of the MeterTemplate may be specified rather than a reference to an existing MeterTemplate resource.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
eventLogTemplate
ref A reference to an EventLogTemplate that shall be used to create and connect a new EventLog to the new Volume.
Note that the attributes of the EventLogTemplate may be specified rather than a reference to an existing EventLogTemplate resource.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
The following describes the serialization of the resource in both JSON and XML: 3771
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
110 DMTF Standard Version 1.0.0
JSON media type: application/json 3772
JSON serialization: 3773
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeTemplate", 3774 "id": string, 3775 "name": string, ? 3776 "description": string, ? 3777 "created": string, ? 3778 "updated": string, ? 3779 "properties": { "key": string, + }, ? 3780 "volumeConfig": { 3781 "href": string | ... VolumeConfiguration attributes ... 3782 }, 3783 "volumeImage": { "href": string }, ? 3784 "meterTemplates": [ 3785 { "href": string, ? 3786 ... MeterTemplate attributes ... ? 3787 }, * 3788 ], ? 3789 "eventLogTemplate": { 3790 "href": string, ? 3791 ... EventLogTemplate attributes ... ? 3792 }, ? 3793 "operations": [ 3794 { "rel": "edit", "href": string }, ? 3795 { "rel": "delete", "href": string } ? 3796 ] ? 3797 ... 3798 } 3799
XML media type: application/xml 3800
XML serialization: 3801
<VolumeTemplate xmlns="http://schemas.dmtf.org/cimi/1"> 3802 <id> xs:anyURI </id> 3803 <name> xs:string </name> ? 3804 <description> xs:string </description> ? 3805 <created> xs:dateTime </created> ? 3806 <updated> xs:dateTime </updated> ? 3807 <property key="xs:string"> xs:string </property> * 3808 <volumeConfig href="xs:anyURI"?> 3809 ... VolumeConfiguration attributes ... ? 3810 </volumeConfig> 3811 <volumeImage href="xs:anyURI"/> ? 3812 <meterTemplate href="xs:anyURI"? > 3813 ... MeterTemplate attributes ... ? 3814 </meterTemplate> * 3815 <eventLogTemplate href="xs:anyURI"? > 3816 ... EventLogTemplate attributes ... ? 3817 </eventLogTemplate> ? 3818 <operation rel="edit" href="xs:anyURI"/> ? 3819 <operation rel="delete" href="xs:anyURI"/> ? 3820 <xs:any>* 3821 </VolumeTemplate> 3822
5.15.3.1 Operations 3823
This resource supports the Read, Update, and Delete operations. Create is supported via the Volume 3824 Template Collection resource. 3825
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 111
5.15.4 Volume Template Collection 3826
A Volume Template Collection resource represents the collection of VolumeTemplate resources within a 3827 Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as 3828 follows: 3829
3830
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
112 DMTF Standard Version 1.0.0
JSON serialization: 3831
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeTemplateCollection", 3832 "id": string, 3833 "count": number, 3834 "volumeTemplates": [ 3835 { "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeTemplate", 3836 "id": string, 3837 ... remaining volumeTemplate attributes ... 3838 }, + 3839 ], ? 3840 "operations": [ { "rel": "add", "href": string } ? ] 3841 ... 3842 } 3843
XML serialization: 3844
<Collection 3845 resourceURI="http://schemas.dmtf.org/cimi/1/VolumeTemplateCollection" 3846 xmlns="http://schemas.dmtf.org/cimi/1"> 3847 <id> xs:anyURI </id> 3848 <count> xs:integer </count> 3849 <VolumeTemplate> 3850 <id> xs:anyURI </id> 3851 ... remaining VolumeTemplates attributes ... 3852 </VolumeTemplate> * 3853 <operation rel="add" href="xs:anyURI"/> ? 3854 <xs:any>* 3855 </Collection> 3856
5.15.4.1 Operations 3857
This resource supports the Read and Update operations. Creation of new Volume Template resources 3858 are supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 3859
5.15.5 Volume Configuration 3860
The Volume Configuration resource represents the set of configuration values needed to create a Volume 3861 with certain characteristics. Volume Configurations are created by Providers and may, at the Providers 3862 discretion, be created by Consumers. 3863
Name VolumeConfiguration
Type URI http://schemas.dmtf.org/cimi/1/VolumeConfiguration
Attribute Type Description
type URI A URI that indicates the type of Volume to be created. This specification defines the following URI:
http://schemas.dmtf.org/cimi/1/mapped:Indicates a Volume that shall be used for shared
storage that might be available to multiple Machines, but which does not require an explicit mount operation from within the guest operating system.
Additional values may be defined. If certain types of Volumes require additional data then it is expected that this resource will be extended.
Constraints: Provider: support mandatory ; mutable Consumer: support mandatory ; read-write
format string The format of the file system that will be placed on Volumes created from this configuration. This attribute is only meaningful for Volume Configurations that describe block devices. This attribute is optional; the absence of this attribute indicates that Volumes created from this configuration will not be formatted with a file system. Example values:
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 113
"ext4," "ntfs."
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
capacity integer The default size in kilobytes, when limited, of the Volume created from this Volume Configuration.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
The following describes the serialization of the resource in both JSON and XML: 3864
JSON media type: application/json 3865
JSON serialization: 3866
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeConfiguration", 3867 "id": string, 3868 "name": string, ? 3869 "description": string, ? 3870 "created": string, ? 3871 "updated": string, ? 3872 "properties": { "key": string, + }, ? 3873 "type": string, 3874 "format": string, 3875 "capacity": number, 3876 "operations": [ 3877 { "rel": "edit", "href": string }, ? 3878 { "rel": "delete", "href": string } ? 3879 ] ? 3880 ... 3881 } 3882
XML media type: application/xml 3883
XML serialization: 3884
<VolumeConfiguration xmlns="http://schemas.dmtf.org/cimi/1"> 3885 <id> xs:anyURI </id> 3886 <name> xs:string </name> ? 3887 <description> xs:string </description> ? 3888 <created> xs:dateTime </created> ? 3889 <updated> xs:dateTime </updated> ? 3890 <property key="xs:string"> xs:string </property> * 3891 <type> xs:anyURI </type> 3892 <format> xs:string </format> 3893 <capacity> xs:integer </capacity> 3894 <operation rel="edit" href="xs:anyURI"/> ? 3895 <operation rel="delete" href="xs:anyURI"/> ? 3896 <xs:any>* 3897 </VolumeConfiguration> 3898
5.15.5.1 Operations 3899
This resource supports the Read, Update, and Delete operations. Create is supported via the Volume 3900 Configuration Collection resource. 3901
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
114 DMTF Standard Version 1.0.0
5.15.6 Volume Configuration Collection 3902
A Volume Configuration Collection resource represents the collection of Volume Configuration resources 3903 within a Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be 3904 serialized as follows: 3905
JSON serialization: 3906
{ "resourceURI": 3907 "http://schemas.dmtf.org/cimi/1/VolumeConfigurationCollection", 3908 "id": string, 3909 "count": number, 3910 "volumeConfigurations": [ 3911 { "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeConfiguration", 3912 "id": string, 3913 ... remaining VolumeConfiguration attributes ... 3914 }, + 3915 ], ? 3916 "operations": [ { "rel": "add", "href": string } ? ] 3917 ... 3918 } 3919
XML serialization: 3920
<Collection 3921 resourceURI="http://schemas.dmtf.org/cimi/1/VolumeConfigurationCollection" 3922 xmlns="http://schemas.dmtf.org/cimi/1"> 3923 <id> xs:anyURI </id> 3924 <count> xs:integer </count> 3925 <VolumeConfiguration> 3926 <id> xs:anyURI </id> 3927 ... remaining VolumeConfiguration attributes ... 3928 </VolumeConfiguration> * 3929 <operation rel="add" href="xs:anyURI"/> ? 3930 <xs:any>* 3931 </Collection> 3932
5.15.6.1 Operations 3933
This resource supports the Read and Update operations. Creation of new Volume Image resources are 3934 supported via a POST to the "add" operations' URI as described in clause 4.2.1.1. 3935
5.15.7 Volume Image 3936
This resource represents an image that could be placed on a pre-loaded volume. 3937
Name VolumeImage
Type URI http://schemas.dmtf.org/cimi/1/VolumeImage
Attribute Type Description
state string Indicates the operational state of the VolumeImage.
Allowable values include:
CREATING: The VolumeImage is in the process of being created. Allowable action when in this state is: delete.
AVAILABLE: The VolumeImage is available and ready for use. Allowable action when in this state is: delete.
DELETING: The VolumeImage is in the process of being deleted. Allowable action when in this state is: delete.
ERROR: The Provider has detected an error in the VolumeImage. Allowable action
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 115
when in this state is: delete.
Providers may define additional values.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
imageLocation ref A reference to the location of the binary data that makes up this image.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
bootable boolean This property indicates whether Volumes created from this Volume Image will be bootable.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
The following describes the serialization of the resource in both JSON and XML: 3938
JSON media type: application/json 3939
JSON serialization: 3940
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeImage", 3941 "id": string, 3942 "name": string, ? 3943 "description": string, ? 3944 "created": string, ? 3945 "updated": string, ? 3946 "properties": { "key": string, + }, ? 3947 "state": string, 3948 "imageLocation": { "href": string }, 3949 "bootable": boolean, 3950 "operations": [ 3951 { "rel": "edit", "href": string }, ? 3952 { "rel": "delete", "href": string } ? 3953 ] ? 3954 ... 3955 } 3956
XML media type: application/xml 3957
XML serialization: 3958
<VolumeImage xmlns="http://schemas.dmtf.org/cimi/1"> 3959 <id> xs:anyURI </id> 3960 <name> xs:string </name> ? 3961 <description> xs:string </description> ? 3962 <created> xs:dateTime </created> ? 3963 <updated> xs:dateTime </updated> ? 3964 <property key="xs:string"> xs:string </property> * 3965 <state> xs:string </state> 3966 <imageLocation href="xs:anyURI"/> 3967 <bootable> xs:boolean </bootable> 3968 <operation rel="edit" href="xs:anyURI"/> ? 3969 <operation rel="delete" href="xs:anyURI"/> ? 3970 <xs:any>* 3971 </VolumeImage> 3972
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
116 DMTF Standard Version 1.0.0
5.15.7.1 Operations 3973
This resource supports the Read, Update, and Delete operations. Create is supported via the Volume 3974 Image Collection resource. 3975
5.15.8 Volume Image Collection 3976
A Volume Image Collection resource represents the collection of Volume Image resources within a 3977 Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as 3978 follows: 3979
JSON serialization: 3980
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeImageCollection", 3981 "id": string, 3982 "count": number, 3983 "volumeImages": [ 3984 { "resourceURI": "http://schemas.dmtf.org/cimi/1/VolumeImage", 3985 "id": string, 3986 ... remaining VolumeImage attributes ... 3987 }, + 3988 ], ? 3989 "operations": [ { "rel": "add", "href": string } ? ] 3990 ... 3991 } 3992
XML serialization: 3993
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/VolumeImageCollection" 3994 xmlns="http://schemas.dmtf.org/cimi/1"> 3995 <id> xs:anyURI </id> 3996 <count> xs:integer </count> 3997 <VolumeImage> 3998 <id> xs:anyURI </id> 3999 ... remaining VolumeImage attributes ... 4000 </VolumeImage> * 4001 <operation rel="add" href="xs:anyURI"/> ? 4002 <xs:any>* 4003 </Collection> 4004
5.15.8.1 Operations 4005
This resource supports the Read and Update operations. Creation of new Volume Image resources are 4006 supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 4007
During the creation of a new Volume Image resource, if the "imageLocation" attribute refers to an existing 4008 Volume, this shall be interpreted as a request to create a snapshot of the Volume. Once completed, the 4009 "imageLocation" attribute of the new Volume Image resource shall not refer to the original Volume, 4010 instead it shall refer to a static copy of the Volume. Additionally, the "image" attribute of the referenced 4011 Volume resource shall be updated to include a reference to this new Volume Image resource. During this 4012 process, the Provider may put the Volume into a "CAPTURING" state if necessary. 4013
5.16 Network resources and relationships 4014
Figure 5 illustrates the resources involved in constructing Networks and their Network Ports and their 4015 relationships. Although this drawing is in the style of a Resource Relationship diagram, the use of UML is 4016 neither rigorous nor normative. 4017
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 117
Figure 5 - Network resources 4018
5.16.1 Network 4019
A network is a collection of interconnected logical services with the purpose of forwarding data traffic 4020 between end points. 4021
Networks in a ForwardingGroup should all have the same "networkType" attributes, which prevents a 4022 Network with a "private" access attribute from being publicly forwarded because it is a member of a 4023 ForwardingGroup that also contains Networks with a "public" access attribute. 4024
Name Network
Type URI http://schemas.dmtf.org/cimi/1/Network
Attribute Type Description
state string The operational state of the System.
Allowable values include:
CREATING: The Network is in the process of being created. Allowable action when in this state is: delete.
STARTING: The Network is in the process of being started. Allowable actions when in this state are: stop and delete.
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
118 DMTF Standard Version 1.0.0
STARTED: The Network is available and ready for use. Allowable actions when in this state are: stop, and delete.
STOPPING: The Network is in the process of being stopped. Allowable actions when in this state are: stop and delete.
STOPPED: The Network is stopped and not available for use. Allowable actions when in this state are: start and delete.
DELETING: The Network is in the process of being deleted. Allowable action when in this state is: delete.
ERROR: The Provider has detected an error in the Network. Allowable action when in this state is: delete.
Providers may define additional values.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
networkType string An indicator of whether the Machine resource has access to a Public or Private network.
Allowable values include:
PUBLIC: represents an open and Internet routable network.
PRIVATE: identifies a local non-routed network.
Constraints: Provider: support mandatory; mutable Consumer: support optional; read-write
mtu integer Maximum Transmission Unit. Indicates The largest Packet size supported on this network.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
classOfService string Indicates the Provider's supported category, associated with a collection of attributes characterizing a level of a quality experience
Example values:
GOLD: High bandwidth, low latency, low jitter
SILVER: An improved service experience over bronze for voice or video traffic
BRONZE: Best effort
The list of possible values, and their implied quality of service, is out of scope of this specifications.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
networkPorts collection [NetworkPort]
A reference to the list of NetworkPorts that are associated with this Network.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
forwardingGroup ref A reference to a ForwardingGroup of which this Network is a part.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 119
meters collection[Meter]
A reference to the list of Meters monitored for this Network.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
eventLog ref A reference to the EventLog of this Network.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
The following describes the serialization of the resource in both JSON and XML: 4025
JSON media type: application/json 4026
JSON serialization: 4027
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Network", 4028 "id": string, 4029 "name": string, ? 4030 "description": string, ? 4031 "created": string, ? 4032 "updated": string, ? 4033 "properties": { "key": string, + }, ? 4034 "state": string, 4035 "networkType": string, ? 4036 "mtu": number, ? 4037 "classOfService": string, ? 4038 "networkPorts": { "href": string }, ? 4039 "forwardingGroup": { "href": string }, ? 4040 "meters": { "href": string }, ? 4041 "eventLog": { "href": string }, ? 4042 "operations": [ 4043 { "rel": "edit", "href": string }, ? 4044 { "rel": "delete", "href": string }, ? 4045 { "rel": "http://schemas.dmtf.org/cimi/1/action/start", "href": string }, ? 4046 { "rel": "http://schemas.dmtf.org/cimi/1/action/stop", "href": string } ? 4047 ] ? 4048 ... 4049 } 4050
XML media type: application/xml 4051
XML serialization: 4052
<Network xmlns="http://schemas.dmtf.org/cimi/1"> 4053 <id> xs:anyURI </id> 4054 <name> xs:string </name> ? 4055 <description> xs:string </description> ? 4056 <created> xs:dateTime </created> ? 4057 <updated> xs:dateTime </updated> ? 4058 <property key="xs:string"> xs:string </property> * 4059 <state> xs:string </state> 4060 <networkType> xs:string </networkType> ? 4061 <mtu> xs:integer </mtu> ? 4062 <classOfService> xs:string </classOfService> ? 4063 <networkPorts href="xs:anyURI"/> ? 4064 <forwardingGroup href="xs:anyURI"/> ? 4065 <meters href="xs:anyURI"/> ? 4066 <eventLog" href="xs:anyURI"/> ? 4067 <operation rel="edit" href="xs:anyURI"/> ? 4068 <operation rel="delete" href="xs:anyURI"/> ? 4069 <operation rel="http://schemas.dmtf.org/cimi/1/action/start" 4070
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
120 DMTF Standard Version 1.0.0
href="xs:anyURI"/> ? 4071 <operation rel="http://schemas.dmtf.org/cimi/1/action/stop" 4072 href="xs:anyURI"/> ? 4073 <xs:any>* 4074 </Network> 4075
5.16.1.1 Collections 4076
The following describes the collection resources owned by Networks. 4077
5.16.1.1.1 NetworkPort Collection 4078
When NetworkPorts are created via a Network's NetworkPortCollection's "add" operation, they shall 4079 added to the global (Cloud Entry Point) NetworkPortCollection as well. 4080
As specified in clause 5.5.12, when a Network is deleted all of its collections, and resources in those 4081 collections, shall also be deleted. This means that all of the NetworkPorts related to that Network shall 4082 also be deleted. 4083
The resource type for each item of this collection is “NetworkPort” as defined in clause 5.16.7. 4084
JSON serialization: 4085
{ "resourceURI": 4086 "http://schemas.dmtf.org/cimi/1/NetworkPortCollection", 4087 "id": string, 4088 "count": number, 4089 "networkports": [ 4090 { "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkPort", 4091 "id": string, 4092 ... remaining NetworkPort attributes ... 4093 }, + 4094 ] ? 4095 ... 4096 } 4097
XML serialization: 4098
<Collection 4099 resourceURI="http://schemas.dmtf.org/cimi/1/NetworkNetworkPortCollection" 4100 xmlns="http://schemas.dmtf.org/cimi/1"> 4101 <id> xs:anyURI </id> 4102 <count> xs:integer </count> 4103 <NetworkPort> 4104 <id> xs:anyURI </id> 4105 ... remaining NetworkPort attributes ... 4106 </NetworkPort> * 4107 <xs:any>* 4108 </Collection> 4109
5.16.1.1.2 NetworkMeter Collection 4110
The resource type for each item of this collection is “Meter” as defined in clause 5.17.3. 4111
JSON serialization: 4112
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkMeterCollection", 4113 "id": string, 4114 "count": number, 4115 "meters": [ 4116 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Meter", 4117 "id": string, 4118 ... remaining Meter attributes ... 4119
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 121
}, + 4120 ], ? 4121 "operations": [ { "rel": "add", "href": string } ? ] 4122 ... 4123 } 4124
XML serialization: 4125
<Collection 4126 resourceURI="http://schemas.dmtf.org/cimi/1/NetworkMeterCollection" 4127 xmlns="http://schemas.dmtf.org/cimi/1"> 4128 <id> xs:anyURI </id> 4129 <count> xs:integer </count> 4130 <Meter> 4131 <id> xs:anyURI </id> 4132 ... remaining Meter attributes ... 4133 </Meter> * 4134 <operation rel="add" href="xs:anyURI"/> ? 4135 <xs:any>* 4136 </Collection> 4137
5.16.1.2 Operations 4138
This resource supports the Read, Update, and Delete operations. Create is supported via the Network 4139 Collection resource. 4140
The following custom operations are also defined: 4141
Starting a Network 4142
/link@rel: http://schemas.dmtf.org/cimi/1/action/start 4143
This operation will start a Network. 4144
Input parameters: None. 4145
Output parameters: None. 4146
During the processing of this operation, the Network shall be in the "STARTING" state. 4147
Upon successful completion of this operation, the Network shall be in the "STARTED" state. 4148
HTTP protocol 4149
To start a Network, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/start" URI of the Network 4150 where the HTTP request body shall be as described below. 4151
JSON media type: application/json 4152
JSON serialization: 4153
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 4154 "action": "http://schemas.dmtf.org/cimi/1/action/start", 4155 "properties": { "key": string, + } ? 4156 ... 4157 } 4158
XML media type: application/xml 4159
XML serialization 4160
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 4161 <action> http://schemas.dmtf.org/cimi/1/action/start </action> 4162 <property key="xs:string"> xs:string </property> * 4163
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
122 DMTF Standard Version 1.0.0
<xs:any>* 4164 </Action> 4165
Upon successful processing of the request, the HTTP response body will be empty. 4166
Stopping a Network 4167
/link@rel: http://schemas.dmtf.org/cimi/1/action/stop 4168
This operation will stop a Network. When stopped, a Network shall not allow data to flow through it. 4169
Input parameters: None. 4170
Output parameters: None. 4171
During the processing of this operation, the Network shall be in the "STOPPING" state. 4172
Upon successful completion of this operation, the Network shall be in the "STOPPED" state. 4173
HTTP Protocol 4174
To stop a Network, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/stop" URI of the Network 4175 where the HTTP request body shall be as described below. 4176
JSON media type: application/json 4177
JSON serialization: 4178
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 4179 "action": "http://schemas.dmtf.org/cimi/1/action/stop", 4180 "properties": { "key": string, + } ? 4181 ... 4182 } 4183
XML media type: application/xml 4184
XML serialization 4185
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 4186 <action> http://schemas.dmtf.org/cimi/1/action/stop </action> 4187 <property key="xs:string"> xs:string </property> * 4188 <xs:any>* 4189 </Action> 4190
Upon successful processing of the request, the HTTP response body will be empty. 4191
5.16.2 Network Collection 4192
A Network Collection resource represents the collection of Networks within a Provider and follows the 4193 Collection pattern that is defined in clause 5.5.12. This resource shall be serialized as follows: 4194
JSON serialization: 4195
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkCollection", 4196 "id": string, 4197 "count": number, 4198 "networks": [ 4199 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Network", 4200 "id": string, 4201 ... remaining Network attributes ... 4202 }, + 4203 ], ? 4204 "operations": [ { "rel": "add", "href": string } ? ] 4205 ... 4206
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 123
} 4207
XML serialization: 4208
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/NetworkCollection" 4209 xmlns="http://schemas.dmtf.org/cimi/1"> 4210 <id> xs:anyURI </id> 4211 <count> xs:integer </count> 4212 <Network> 4213 <id> xs:anyURI </id> 4214 ... remaining Network attributes ... 4215 </Network> * 4216 <operation rel="add" href="xs:anyURI"/> ? 4217 <xs:any>* 4218 </Collection> 4219
5.16.2.1 Operations 4220
NOTE: The "add" operation requires a NetworkTemplate be used. 4221
5.16.3 Network Template 4222
The Network Template is a set of configuration values for realizing a Network. An instance of Network 4223 Template may be used to create multiple Networks. 4224
Name NetworkTemplate
Type URI http://schemas.dmtf.org/cimi/1/NetworkTemplate
Attribute Type Description
networkConfig ref A reference to the Network Configuration that will be used to create a Network from this Network Template.
Note that the attributes of the NetworkConfiguration may be specified rather than a reference to an existing NetworkConfiguration resource.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
forwardingGroup ref A reference to a ForwardingGroup of which this Network will be a part.
Note that Networks forward to themselves; therefore, this attribute will only appear in cases where the Network that will be created from this template forwards to one or more additional Networks.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
meterTemplates meterTemplates[]
A list of references to Meter Templates that shall be used to create and connect a set of new Meters to the new Network.
Note that the attributes of the MeterTemplate may be specified rather than a reference to an existing MeterTemplate resource.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
eventLogTemplate ref A reference to an EventLogTemplate that shall be used to create and connect a new EventLog to the new Network.
Note that the attributes of the EventLogTemplate may be specified rather than a reference to an existing EventLogTemplate resource.
Constraints:
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
124 DMTF Standard Version 1.0.0
Provider: support optional; mutable Consumer: support optional; read-write
The following describes the serialization of the resource in both JSON and XML: 4225
JSON media type: application/json 4226
JSON serialization: 4227
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkTemplate", 4228 "id": string, 4229 "name": string, ? 4230 "description": string, ? 4231 "created": string, ? 4232 "updated": string, ? 4233 "properties": { "key": string, + }, ? 4234 "networkConfig": { 4235 "href": string |... NetworkingConfiguration attributes ... 4236 }, ? 4237 "forwardingGroup": { "href": string }, ? 4238 "meterTemplates": [ 4239 { "href": string, ? 4240 ... MeterTemplate attributes ... ? 4241 }, * 4242 ], ? 4243 "eventLogTemplate": { 4244 "href": string, ? 4245 ... EventLogTemplate attributes ... ? 4246 }, ? 4247 "operations": [ 4248 { "rel": "edit", "href": string }, ? 4249 { "rel": "delete", "href": string } ? 4250 ] ? 4251 ... 4252 } 4253
XML media type: application/xml 4254
XML serialization: 4255
<NetworkTemplate xmlns="http://schemas.dmtf.org/cimi/1"> 4256 <id> xs:anyURI </id> 4257 <name> xs:string </name> ? 4258 <description> xs:string </description> ? 4259 <created> xs:dateTime </created> ? 4260 <updated> xs:dateTime </updated> ? 4261 <property key="xs:string"> xs:string </property> * 4262 <networkConfig href="xs:anyURI"?> 4263 ... NetworkConfiguration attributes ... ? 4264 </networkConfig> ? 4265 <forwardingGroup href="xs:anyURI"/> ? 4266 <meterTemplate href="xs:anyURI"? > 4267 ... MeterTemplate attributes ... ? 4268 </meterTemplate> * 4269 <eventLogTemplate href="xs:anyURI"? > 4270 ... EventLogTemplate attributes ... ? 4271 </eventLogTemplate> ? 4272 <operation rel="edit" href="xs:anyURI"/> ? 4273 <operation rel="delete" href="xs:anyURI"/> ? 4274 <xs:any>* 4275 </NetworkTemplate> 4276
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 125
5.16.3.1 Operations 4277
This resource supports the Read, Update and Delete operations. Create is supported via the Network 4278 Template Collection resource. 4279
5.16.4 Network Template Collection 4280
A Network Template Collection resource represents the collection of NetworkTemplates within a Provider 4281 and follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as follows: 4282
JSON serialization: 4283
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkTemplateCollection", 4284 "id": string, 4285 "count": number, 4286 "networkTemplates": [ 4287 { "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkTemplate", 4288 "id": string, 4289 ... remaining NetworkTemplate attributes ... 4290 }, + 4291 ], ? 4292 "operations": [ { "rel": "add", "href": string } ? ] 4293 ... 4294 } 4295
XML serialization: 4296
<Collection 4297 resourceURI="http://schemas.dmtf.org/cimi/1/NetworkTemplateCollection" 4298 xmlns="http://schemas.dmtf.org/cimi/1"> 4299 <id> xs:anyURI </id> 4300 <count> xs:integer </count> 4301 <NetworkTemplate> 4302 <id> xs:anyURI </id> 4303 ... remaining NetworkTemplate attributes ... 4304 </NetworkTemplate> * 4305 <operation rel="add" href="xs:anyURI"/> ? 4306 <xs:any>* 4307 </Collection> 4308
5.16.4.1 Operations 4309
This resource supports the Read and Update operations. Creation of new Network Template resources 4310 are supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 4311
5.16.5 Network Configuration 4312
The following set of configuration values represent the information needed to create a Network with 4313 certain characteristics. 4314
Name NetworkConfiguration
Type URI http://schemas.dmtf.org/cimi/1/NetworkConfiguration
Attribute Type Description
networkType string An indicator of whether or not the Network will be a Public or Private network.
Allowable values include:
PUBLIC: represents an open and Internet routable network.
PRIVATE: identifies a local non-Internet network.
Constraints:
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
126 DMTF Standard Version 1.0.0
Provider: support optional; mutable Consumer: support optional; read-write
mtu integer Maximum Transmission Unit. Size Indicates the largest supported packet size.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
classOfService string Indicates the Provider's supported category, associated with a collection of attributes characterizing a level of a quality experience
Example values:
GOLD: High bandwidth, low latency, low jitter
SILVER: An improved service experience over bronze for voice or video traffic
BRONZE: Best effort
The list of possible values, and their implied quality of service, is out of scope of this specifications.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
The following describes the serialization of the resource in both JSON and XML: 4315
JSON media type: application/json 4316
JSON serialization: 4317
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkConfiguration", 4318 "id": string, 4319 "name": string, ? 4320 "description": string, ? 4321 "created": string, ? 4322 "updated": string, ? 4323 "properties": { "key": string, + }, ? 4324 "networkType": string, ? 4325 "mtu": number, ? 4326 "classOfService": string, ? 4327 "operations": [ 4328 { "rel": "edit", "href": string }, ? 4329 { "rel": "delete", "href": string } ? 4330 ] ? 4331 ... 4332 } 4333
XML media type: application/xml 4334
XML serialization: 4335
<NetworkConfiguration xmlns="http://schemas.dmtf.org/cimi/1"> 4336 <id> xs:anyURI </id> 4337 <name> xs:string </name> ? 4338 <description> xs:string </description> ? 4339 <created> xs:dateTime </created> ? 4340 <updated> xs:dateTime </updated> ? 4341 <property key="xs:string"> xs:string </property> * 4342 <networkType> xs:string </networkType> ? 4343 <mtu> xs:integer <mtu> ? 4344 <classOfService> xs:string </classOfService> ? 4345 <operation rel="edit" href="xs:anyURI"/> ? 4346 <operation rel="delete" href="xs:anyURI"/> ? 4347 <xs:any>* 4348
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 127
</NetworkConfiguration> 4349
5.16.5.1 Operations 4350
This resource supports the Read, Update, and Delete operations. Create is supported via the Network 4351 Configuration Collection resource. 4352
5.16.6 Network Configuration Collection 4353
A Network Configuration Collection resource represents the collection of Network Configurations within a 4354 Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as 4355 follows: 4356
JSON serialization: 4357
{ "resourceURI": 4358 "http://schemas.dmtf.org/cimi/1/NetworkConfigurationCollection", 4359 "id": string, 4360 "count": number, 4361 "networkConfigurations": [ 4362 { "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkConfiguration", 4363 "id": string, 4364 ... remaining NetworkConfiguration attributes ... 4365 }, + 4366 ], ? 4367 "operations": [ { "rel": "add", "href": string } ? ] 4368 ... 4369 } 4370
XML serialization: 4371
<Collection 4372 resourceURI="http://schemas.dmtf.org/cimi/1/NetworkConfigurationCollection" 4373 xmlns="http://schemas.dmtf.org/cimi/1"> 4374 <id> xs:anyURI </id> 4375 <count> xs:integer </count> 4376 <NetworkConfiguration> 4377 <id> xs:anyURI </id> 4378 ... remaining NetworkConfiguration attributes ... 4379 </NetworkConfiguration> * 4380 <operation rel="add" href="xs:anyURI"/> ? 4381 <xs:any>* 4382 </Collection> 4383
5.16.6.1 Operations 4384
This resource supports the Read and Update operations. Creation of new Network Configuration 4385 resources are supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 4386
4387
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
128 DMTF Standard Version 1.0.0
5.16.7 Network Port 4388
A NetworkPort is a realized connection point between a Network and a resource - such as a Machine. 4389
Name NetworkPort
Type URI http://schemas.dmtf.org/cimi/1/NetworkPort
Attribute Type Description
state string The operational state of the NetworkPort.
Allowable values include:
CREATING: The NetworkPort is in the process of being created. Allowable action when in this state is: delete.
STARTED: The NetworkPort is available (enabled) and ready for use. Allowable actions when in this state are: stop and delete.
STOPPED: The NetworkPort is stopped(disabled) and not available for use. Allowable actions when in this state are: start and delete.
DELETING: The NetworkPort is in the process of being deleted. Allowable action when in this state is: delete.
ERROR: The Provider has detected an error in the NetworkPort. Allowable action when in this state is: delete.
Providers may define additional values.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
network ref A reference to the network associated with this NetworkPort.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
portType string Indicates that a port will be used as an Access port (a member of the network) or a Trunk port that becomes a transport for multiple networks.
Allowable values include:
ACCESS: a member of a network.
TRUNK: transport more than one network.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
classOfService string Indicates the Provider supported category, associated with a collection of attributes characterizing a level of a quality experience
Example values:
GOLD: High bandwidth, low latency, low jitter
SILVER: An improved service experience over bronze for voice or video traffic
BRONZE: Best effort
The list of possible values, and their implied quality of service, is out of scope of this specifications.
Constraints: Provider: support mandatory; mutable
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 129
Consumer: support mandatory; read-write
meters collection [Meter]
A reference to the list of Meters monitored for this NetworkPort.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
eventLog ref A reference to the EventLog of this NetworkPort.
Constraints: Provider: support optional; mutable Consumer: support optional; read-only
The following describes the serialization of the resource in both JSON and XML: 4390
JSON media type: application/json 4391
JSON serialization: 4392
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkPort", 4393 "id": string, 4394 "name": string, ? 4395 "description": string, ? 4396 "created": string, ? 4397 "updated": string, ? 4398 "properties": { "key": string, + }, ? 4399 "state": string, 4400 "network": { "href": string }, 4401 "portType": string, ? 4402 "classOfService": string, ? 4403 "meters": { "href": string }, ? 4404 "eventLog": { "href": string }, ? 4405 "operations": [ 4406 { "rel": "edit", "href": string }, ? 4407 { "rel": "delete", "href": string }, ? 4408 { "rel": "http://schemas.dmtf.org/cimi/1/action/start", "href": string }, ? 4409 { "rel": "http://schemas.dmtf.org/cimi/1/action/stop", "href": string } ? 4410 ] ? 4411 ... 4412 } 4413
XML media type: application/xml 4414
XML serialization: 4415
<NetworkPort xmlns="http://schemas.dmtf.org/cimi/1"> 4416 <id> xs:anyURI </id> 4417 <name> xs:string </name> ? 4418 <description> xs:string </description> ? 4419 <created> xs:dateTime </created> ? 4420 <updated> xs:dateTime </updated> ? 4421 <property key="xs:string"> xs:string </property> * 4422 <state> xs:string </state> 4423 <network href="xs:anyURI"/> 4424 <portType> xs:string </portType> ? 4425 <classOfService> xs:string </classOfService> ? 4426 <meters href="xs:anyURI"/> ? 4427 <eventLog" href="xs:anyURI"/> ? 4428 <operation rel="edit" href="xs:anyURI"/> ? 4429 <operation rel="delete" href="xs:anyURI"/> ? 4430 <operation rel="http://schemas.dmtf.org/cimi/1/action/start" 4431 href="xs:anyURI"/> ? 4432 <operation rel="http://schemas.dmtf.org/cimi/1/action/stop" 4433 href="xs:anyURI"/> ? 4434
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
130 DMTF Standard Version 1.0.0
<xs:any>* 4435 </NetworkPort> 4436
5.16.7.1 Collections 4437
The following describes the collection resources owned by NetworkPorts. 4438
5.16.7.1.1 NetworkPortMeter Collection 4439
The resource type for each item of this collection is “Meter” as defined in clause 5.17.3. 4440
JSON serialization: 4441
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkPortMeterCollection", 4442 "id": string, 4443 "count": number, 4444 "meters": [ 4445 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Meter", 4446 "id": string, 4447 ... remaining Meter attributes ... 4448 }, + 4449 ], ? 4450 "operations": [ { "rel": "add", "href": string } ? ] 4451 ... 4452 } 4453
XML serialization: 4454
<Collection 4455 resourceURI="http://schemas.dmtf.org/cimi/1/NetworkPortMeterCollection" 4456 xmlns="http://schemas.dmtf.org/cimi/1"> 4457 <id> xs:anyURI </id> 4458 <count> xs:integer </count> 4459 <Meter> 4460 <id> xs:anyURI </id> 4461 ... remaining Meter attributes ... 4462 </Meter> * 4463 <operation rel="add" href="xs:anyURI"/> ? 4464 <xs:any>* 4465 </Collection> 4466
5.16.7.2 Operations 4467
This resource supports the Read, Update, and Delete operations. Create is supported via the Network 4468 Port Collection resource. 4469
Deleting a NetworkPort shall remove that NetworkPort from the global (Cloud Entry Point) NetworkPort 4470 Collection as well as from its corresponding Network's NetworkPorts collection. 4471
The following custom operations are also defined: 4472
Starting a NetworkPort 4473
/link@rel: http://schemas.dmtf.org/cimi/1/action/start 4474
This operation will start a NetworkPort. 4475
Input parameters: None. 4476
Output parameters: None. 4477
Upon successful completion of this operation, the NetworkPort shall be in the "STARTED" state. 4478
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 131
HTTP Protocol 4479
To start a NetworkPort, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/start" URI of the 4480 NetworkPort where the HTTP request body shall be as described below. 4481
JSON media type: application/json 4482
JSON serialization: 4483
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 4484 "action": "http://schemas.dmtf.org/cimi/1/action/start", 4485 "properties": { "key": string, + } ? 4486 ... 4487 } 4488
XML media type: application/xml 4489
XML serialization 4490
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 4491 <action> http://schemas.dmtf.org/cimi/1/action/start </action> 4492 <property key="xs:string"> xs:string </property> * 4493 <xs:any>* 4494 </Action> 4495
Upon successful processing of the request, the HTTP response body will be empty. 4496
Stopping a NetworkPort 4497
/link@rel: http://schemas.dmtf.org/cimi/1/action/stop 4498
This operation will stop a NetworkPort. When stopped, the NetworkPort is not available for use and no 4499 network traffic shall flow through it. 4500
Input parameters: None. 4501
Output parameters: None. 4502
Upon successful completion of this operation, the NetworkPort shall be in the "STOPPED" state. 4503
HTTP Protocol 4504
To stop a NetworkPort, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/stop" URI of the 4505 NetworkPort where the HTTP request body shall be as described below. 4506
JSON media type: application/json 4507
JSON serialization: 4508
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 4509 "action": "http://schemas.dmtf.org/cimi/1/action/stop", 4510 "properties": { "key": string, + } ? 4511 ... 4512 } 4513
XML media type: application/xml 4514
XML serialization 4515
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 4516 <action> http://schemas.dmtf.org/cimi/1/action/stop </action> 4517 <property key="xs:string"> xs:string </property> * 4518 <xs:any>* 4519 </Action> 4520
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
132 DMTF Standard Version 1.0.0
Upon successful processing of the request, the HTTP response body will be empty. 4521
5.16.8 Network Port Collection 4522
A NetworkPortCollection resource represents the collection of NetworkPorts within a Provider and follows 4523 the Collection pattern defined in clause 5.5.12. This resource shall be serialized as follows: 4524
JSON serialization: 4525
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkPortCollection", 4526 "id": string, 4527 "count": number, 4528 "networkPorts": [ 4529 { "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkPort", 4530 "id": string, 4531 ... remaining NetworkPort attributes ... 4532 }, + 4533 ], ? 4534 "operations": [ { "rel": "add", "href": string } ? ] 4535 ... 4536 } 4537
XML serialization: 4538
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/NetworkPortCollection" 4539 xmlns="http://schemas.dmtf.org/cimi/1"> 4540 <id> xs:anyURI </id> 4541 <count> xs:integer </count> 4542 <NetworkPort> 4543 <id> xs:anyURI </id> 4544 ... remaining NetworkPort attributes ... 4545 </NetworkPort> * 4546 <operation rel="add" href="xs:anyURI"/> ? 4547 <xs:any>* 4548 </Collection> 4549
5.16.8.1 Operations 4550
NOTE: The "add" operation requires a NetworkPortTemplate be used. 4551
When NetworkPorts are created via the global (Cloud Entry Point) NetworkPortCollection's "add" 4552 operation, they are automatically added to the corresponding Network's "NetworkPort" collection resource 4553 as well. 4554
5.16.9 Network Port Template 4555
The Network Port Template is a set of Configuration values for realizing a NetworkPort. A NetworkPort 4556 Template may be used to create multiple NetworkPorts. 4557
Name NetworkPortTemplate
Type URI http://schemas.dmtf.org/cimi/1/NetworkPortTemplate
Attribute Type Description
network ref A reference to the network to be associated with this NetworkPort.
When this Template is used to create a new NetworkPort via the global (Cloud Entry Point) NetworkPort Collection, this attribute shall be present. When this Template is used to create a new NetworkPort via a Network's NetworkPorts Collection then this attribute shall either be absent or shall have the same value as the "id" of the Network to which this NetworkPort is being added.
Constraints:
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 133
Provider: support mandatory; mutable Consumer: support mandatory; read-write
networkPortConfig ref A reference to the NetworkPortConfiguration that will be used to create a NetworkPort from this NetworkPort Template.
Note that the attributes of the NetworkPortConfiguration may be specified rather than a reference to an existing NetworkPortConfiguration resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
meterTemplates meterTemplates[] A list of references to Meter Templates that shall be used to create and connect a set of new Meters to the new NetworkPort.
Note that the attributes of the MeterTemplate may be specified rather than a reference to an existing MeterTemplate resource.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
eventLogTemplate ref A reference to an EventLogTemplate that shall be used to create and connect a new EventLog to the new NetworkPort.
Note that the attributes of the EventLogTemplate may be specified rather than a reference to an existing EventLogTemplate resource.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
The following describes the serialization of the resource in both JSON and XML: 4558
JSON media type: application/json 4559
JSON serialization: 4560
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkPortTemplate", 4561 "id": string, 4562 "name": string, ? 4563 "description": string, ? 4564 "created": string, ? 4565 "updated": string, ? 4566 "properties": { "key": string, + }, ? 4567 "network": { "href": string }, ? 4568 "networkPortConfig": { 4569 "href": string | ... NetworkPortConfiguration attributes ... 4570 }, 4571 "meterTemplates": [ 4572 { "href": string, ? 4573 ... MeterTemplate attributes ... ? 4574 }, * 4575 ], ? 4576 "eventLogTemplate": { 4577 "href": string, ? 4578 ... EventLogTemplate attributes ... ? 4579 }, ? 4580 "operations": [ 4581 { "rel": "edit", "href": string }, ? 4582 { "rel": "delete", "href": string } ? 4583 ] ? 4584 ... 4585 } 4586
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
134 DMTF Standard Version 1.0.0
XML media type: application/xml 4587
XML serialization: 4588
<NetworkPortTemplate xmlns="http://schemas.dmtf.org/cimi/1"> 4589 <id> xs:anyURI </id> 4590 <name> xs:string </name> ? 4591 <description> xs:string </description> ? 4592 <created> xs:dateTime </created> ? 4593 <updated> xs:dateTime </updated> ? 4594 <property key="xs:string"> xs:string </property> * 4595 <network href="xs:anyURI"/> ? 4596 <networkPortConfig href="xs:anyURI"?> 4597 ... NetworkPortConfiguration attributes ... ? 4598 </networkPortConfig> 4599 <meterTemplate href="xs:anyURI"? > 4600 ... MeterTemplate attributes ... ? 4601 </meterTemplate> * 4602 <eventLogTemplate href="xs:anyURI"? > 4603 ... EventLogTemplate attributes ... ? 4604 </eventLogTemplate> ? 4605 <operation rel="edit" href="xs:anyURI"/> ? 4606 <operation rel="delete" href="xs:anyURI"/> ? 4607 <xs:any>* 4608 </NetworkPortTemplate> 4609
5.16.9.1 Operations 4610
This resource supports the Read, Update, and Delete operations. Create is supported via the Network 4611 Port Template Collection resource. 4612
5.16.10 Network Port Template Collection 4613
A Network Port Template Collection resource represents the collection of Network port Templates within a 4614 Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as 4615 follows: 4616
JSON serialization: 4617
{ "resourceURI": 4618 "http://schemas.dmtf.org/cimi/1/NetworkPortTemplateCollection", 4619 "id": string, 4620 "count": number, 4621 "networkPortTemplates": [ 4622 { "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkPortTemplate", 4623 "id": string, 4624 ... remaining NetworkPortTemplate attributes ... 4625 }, + 4626 ], ? 4627 "operations": [ { "rel": "add", "href": string } ? ] 4628 ... 4629 } 4630
XML serialization: 4631
<Collection 4632 resourceURI="http://schemas.dmtf.org/cimi/1/NetworkPortTemplateCollection" 4633 xmlns="http://schemas.dmtf.org/cimi/1"> 4634 <id> xs:anyURI </id> 4635 <count> xs:integer </count> 4636 <NetworkPortTemplate> 4637 <id> xs:anyURI </id> 4638 ... remaining NetworkPortTemplate attributes ... 4639
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 135
</NetworkPortTemplate> * 4640 <operation rel="add" href="xs:anyURI"/> ? 4641 <xs:any>* 4642 </Collection> 4643
5.16.10.1 Operations 4644
This resource supports the Read and Update operations. Creation of new Network Port Template 4645 resources are supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 4646
5.16.11 Network Port Configuration 4647
The set of configuration values representing the information needed to create a NetworkPort with certain 4648 characteristics. 4649
Name NetworkPortConfiguration
Type URI http://schemas.dmtf.org/cimi/1/NetworkPortConfiguration
Attribute Type Description
portType string Indicates that a port will be used as an Access port (a member of the network) or a Trunk port that becomes a transport for multiple networks.
Allowable values include:
ACCESS: a member of a network.
TRUNK: transport more than one network.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
classOfService string Indicates the Provider supported category, associated with a collection of attributes characterizing a level of a quality experience
Example values:
GOLD: High bandwidth, low latency, low jitter
SILVER: An improved service experience over bronze for voice or video traffic
BRONZE: Best effort
The list of possible values, and their implied quality of service, is out of scope of this specifications.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
The following describes the serialization of the resource in both JSON and XML: 4650
JSON media type: application/json 4651
JSON serialization: 4652
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkPortConfiguration", 4653 "id": string, 4654 "name": string, ? 4655 "description": string, ? 4656 "created": string, ? 4657 "updated": string, ? 4658 "properties": { "key": string, + }, ? 4659 "portType": string, ? 4660 "classOfService": string, ? 4661 "operations": [ 4662
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
136 DMTF Standard Version 1.0.0
{ "rel": "edit", "href": string }, ? 4663 { "rel": "delete", "href": string } ? 4664 ] ? 4665 ... 4666 } 4667
XML media type: application/xml 4668
XML serialization: 4669
<NetworkPortConfiguration xmlns="http://schemas.dmtf.org/cimi/1"> 4670 <id> xs:anyURI </id> 4671 <name> xs:string </name> ? 4672 <description> xs:string </description> ? 4673 <created> xs:dateTime </created> ? 4674 <updated> xs:dateTime </updated> ? 4675 <property key="xs:string"> xs:string </property> * 4676 <portType> xs:string </portType> ? 4677 <classOfService> xs:string </classOfService> ? 4678 <operation rel="edit" href="xs:anyURI"/> ? 4679 <operation rel="delete" href="xs:anyURI"/> ? 4680 <xs:any>* 4681 </NetworkPortConfiguration> 4682
5.16.11.1 Operations 4683
This resource supports the Read, Update, and Delete operations. Create is supported via the Network 4684 Port Configuration Collection resource. 4685
5.16.12 Network Port Configuration Collection 4686
A NetworkPort Configuration Collection resource represents the collection of NetworkPortConfigurations 4687 within a Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be 4688 serialized as follows: 4689
JSON serialization: 4690
{ "resourceURI": 4691 "http://schemas.dmtf.org/cimi/1/NetworkPortConfigurationCollection", 4692 "id": string, 4693 "count": number, 4694 "networkPortConfigurations": [ 4695 { "resourceURI": "http://schemas.dmtf.org/cimi/1/NetworkPortConfiguration", 4696 "id": string, 4697 ... remaining NetworkPortConfiguration attributes ... 4698 }, + 4699 ], ? 4700 "operations": [ { "rel": "add", "href": string } ? ] 4701 ... 4702 } 4703
XML serialization: 4704
<Collection 4705 resourceURI="http://schemas.dmtf.org/cimi/1/NetworkPortConfigurationCollection" 4706 xmlns="http://schemas.dmtf.org/cimi/1"> 4707 <id> xs:anyURI </id> 4708 <count> xs:integer </count> 4709 <NetworkPortConfiguration> 4710 <id> xs:anyURI </id> 4711 ... remaining NetworkPortConfiguration attributes ... 4712 </NetworkPortConfiguration> * 4713 <operation rel="add" href="xs:anyURI"/> ? 4714
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 137
<xs:any>* 4715 </Collection> 4716
5.16.12.1 Operations 4717
This resource supports the Read and Update operations. Creation of new NetworkPortConfiguration 4718 resources are supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 4719
5.16.13 Address 4720
An Address represents an IP address, and its associated metadata, for a particular Network. When a 4721 Consumer creates an Address resource it is the semantic equivalent of asking for a static IP address that 4722 can then be associated with resources at a later point in time. Addresses that are manually created by 4723 Consumers shall not be automatically deleted when the resource (e.g., a Machine) that is using that 4724 Address is deleted because these manually created Addresses are expected to have a lifetime that is 4725 different from the resources that use them. Addresses that are created by Providers on the Consumer's 4726 behalf shall be deleted at the Provider's discretion. In particular, the Provider shall delete Addresses that 4727 it created on behalf of the Consumer when the resource that is using that Address is deleted or when the 4728 Address becomes disassociated from the resource. 4729
Addresses that are created by Providers may be converted to ones that are under the Consumer's control 4730 (i.e., will not be deleted until explicitly requested by Consumers) by changing the "allocation" attribute 4731 from "dynamic" to "static," if this feature supported by Providers. 4732
Name Address
Type URI http://schemas.dmtf.org/cimi/1/Address
Attribute Type Description
ip string The IP address assigned to a virtual interface.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
hostname string The DNS resolvable name associated with this network interface.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
allocation string The value is either "dynamic" or "static". Expresses whether this address is controlled
by the Provider or Consumer.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
defaultGateway string An IP address of a router that serves other networks.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
dns string The IP address of the Domain Name Service from host name to IP resolution.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
protocol string The selected network protocol, such as IPv4 or IPv6.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
138 DMTF Standard Version 1.0.0
mask string The network mask associated with this Address.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
network ref A reference to the Network with which this Address will be associated.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
resource ref A reference to the resource that is using this Address.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
The following describes the serialization of the resource in both JSON and XML: 4733
JSON media type: application/json 4734
JSON serialization: 4735
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Address", 4736 "id": string, 4737 "name": string, ? 4738 "description": string, ? 4739 "created": string, ? 4740 "updated": string, ? 4741 "properties": { "key": string, + }, ? 4742 "ip": string, 4743 "hostname": string, ? 4744 "allocation": string, 4745 "defaultGateway": string, 4746 "dns": string, 4747 "protocol": string, 4748 "mask": string, 4749 "network": { "href": string }, 4750 "resource": { "href": string }, ? 4751 "operations": [ 4752 { "rel": "edit", "href": string }, ? 4753 { "rel": "delete", "href": string } ? 4754 ] ? 4755 ... 4756 } 4757
XML media type: application/xml 4758
XML serialization: 4759
<Address xmlns="http://schemas.dmtf.org/cimi/1"> 4760 <id> xs:anyURI </id> 4761 <name> xs:string </name> ? 4762 <description> xs:string </description> ? 4763 <created> xs:dateTime </created> ? 4764 <updated> xs:dateTime </updated> ? 4765 <property key="xs:string"> xs:string </property> * 4766 <ip> xs:string </ip> 4767 <hostname> xs:string </hostname> ? 4768 <allocation> xs:string </allocation> 4769 <defaultGateway> xs:string </defaultGateway> 4770 <dns> xs:string </dns> 4771 <protocol> xs:string </protocol> 4772 <mask> xs:string </mask> 4773
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 139
<network href="xs:anyURI"/> 4774 <resource href="xs:anyURI"/> ? 4775 <operation rel="edit" href="xs:anyURI"/> ? 4776 <operation rel="delete" href="xs:anyURI"/> ? 4777 <xs:any>* 4778 </Address> 4779
5.16.13.1 Operations 4780
This resource supports the Read, Update, and Delete operations. Create is supported via the Address 4781 Collection resource. 4782
5.16.14 Address Collection 4783
An Address Collection resource represents the collection of Addresses within a Provider that are 4784 owned/managed by the Consumer Provider and follows the Collection pattern defined in clause 5.5.12. 4785 This resource shall be serialized as follows: 4786
JSON serialization: 4787
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/AddressCollection", 4788 "id": string, 4789 "count": number, 4790 "addresses": [ 4791 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Address", 4792 "id": string, 4793 ... remaining Address attributes ... 4794 }, + 4795 ], ? 4796 "operations": [ { "rel": "add", "href": string } ? ] 4797 ... 4798 } 4799
XML serialization: 4800
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/AddressCollection" 4801 xmlns="http://schemas.dmtf.org/cimi/1"> 4802 <id> xs:anyURI </id> 4803 <count> xs:integer </count> 4804 <Address> 4805 <id> xs:anyURI </id> 4806 ... remaining Address attributes ... 4807 </Address> * 4808 <operation rel="add" href="xs:anyURI"/> ? 4809 <xs:any>* 4810 </Collection> 4811
5.16.14.1 Operations 4812
NOTE: The "add" operation requires an AddressTemplate be used. 4813
5.16.15 Address Template 4814
This resource captures the configuration values for realizing an Address. An Address Template may be 4815 used to create multiple Addresses. 4816
Name AddressTemplate
Type URI http://schemas.dmtf.org/cimi/1/AddressTemplate
Attribute Type Description
ip string The IP address assigned to a virtual interface.
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
140 DMTF Standard Version 1.0.0
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
hostname string The DNS resolvable name associated with this network interface.
Constraints: Provider: support optional; mutable Consumer: support optional; read-write
allocation string A value of either "dynamic" or "static". Expresses whether this address is controlled by
the Provider or Consumer.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
defaultGateway string An IP address of a router that serves other networks.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
dns string The IP address of the Domain Name Service from host name to IP resolution.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
protocol string The selected network protocol, such as IPv4 or IPv6.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
mask string The network mask associated with this Address.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
network ref A reference to the Network with which this Address will be associated.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
The following describes the serialization of the resource in both JSON and XML: 4817
JSON media type: application/json 4818
JSON serialization: 4819
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/AddressTemplate", 4820 "id": string, 4821 "name": string, ? 4822 "description": string, ? 4823 "created": string, ? 4824 "updated": string, ? 4825 "properties": { "key": string, + }, ? 4826 "ip": string, 4827 "hostname": string, ? 4828 "allocation": string, 4829 "defaultGateway": string, 4830 "dns": string, 4831 "protocol": string, 4832 "mask": string, 4833
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 141
"network": { "href": string }, 4834 "operations": [ 4835 { "rel": "edit", "href": string }, ? 4836 { "rel": "delete", "href": string } ? 4837 ] ? 4838 ... 4839 } 4840
XML media type: application/xml 4841
XML serialization: 4842
<AddressTemplate xmlns="http://schemas.dmtf.org/cimi/1"> 4843 <id> xs:anyURI </id> 4844 <name> xs:string </name> ? 4845 <description> xs:string </description> ? 4846 <created> xs:dateTime </created> ? 4847 <updated> xs:dateTime </updated> ? 4848 <property key="xs:string"> xs:string </property> * 4849 <ip> xs:string </ip> 4850 <hostname> xs:string </hostname> ? 4851 <allocation> xs:string </allocation> 4852 <defaultGateway> xs:string </defaultGateway> 4853 <dns> xs:string </dns> 4854 <protocol> xs:string </protocol> 4855 <mask> xs:string </mask> 4856 <network href="xs:anyURI"/> 4857 <operation rel="edit" href="xs:anyURI"/> ? 4858 <operation rel="delete" href="xs:anyURI"/> ? 4859 <xs:any>* 4860 </AddressTemplate> 4861
5.16.15.1 Operations 4862
This resource supports the Read, Update, and Delete operations. Create is supported via the Address 4863 Template Collection resource. 4864
5.16.16 Address Template Collection 4865
An Address Template Collection resource represents the collection of Address Template resources within 4866 a Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as 4867 follows: 4868
JSON serialization: 4869
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/AddressTemplateCollection", 4870 "id": string, 4871 "count": number, 4872 "addressTemplates": [ 4873 { "resourceURI": "http://schemas.dmtf.org/cimi/1/AddressTemplate", 4874 "id": string, 4875 ... remaining AddressTemplate attributes ... 4876 }, + 4877 ], ? 4878 "operations": [ { "rel": "add", "href": string } ? ] 4879 ... 4880 } 4881
XML serialization: 4882
<Collection 4883 resourceURI="http://schemas.dmtf.org/cimi/1/AddressTemplateCollection" 4884 xmlns="http://schemas.dmtf.org/cimi/1"> 4885
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
142 DMTF Standard Version 1.0.0
<id> xs:anyURI </id> 4886 <count> xs:integer </count> 4887 <AddressTemplate> 4888 <id> xs:anyURI </id> 4889 ... remaining AddressTemplate attributes ... 4890 </AddressTemplate> * 4891 <operation rel="add" href="xs:anyURI"/> ? 4892 <xs:any>* 4893 </Collection> 4894
5.16.16.1 Operations 4895
This resource supports the Read and Update operations. Creation of new Address Template resources 4896 are supported via a POST to the "addLink" URI as described in clause 4.2.1.1. 4897
5.16.17 Forwarding Group 4898
A Forwarding Group represents a collection of Networks that route to each other. 4899
Networks in a ForwardingGroup should all have the same "networkType" attributes, which prevents a 4900 Network with a "private" networkType attribute from being publicly forwarded because it is a member of a 4901 ForwardingGroup that also contains Networks with a "public" networkType attribute. 4902
Providers shall not allow two Networks to be forwardable to each other unless they are explicitly 4903 connected by being part of a common ForwardingGroup. 4904
Name ForwardingGroup
Type URI http://schemas.dmtf.org/cimi/1/ForwardingGroup
Attribute Type Description
networks collection [ForwardingGroupNetwork]
A reference to the list of references to the Networks in this Forwarding Group.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
The following describes the serialization of the resource in both JSON and XML: 4905
JSON media type: application/json 4906
JSON serialization: 4907
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/ForwrdingGroup", 4908 "id": string, 4909 "name": string, ? 4910 "description": string, ? 4911 "created": string, ? 4912 "updated": string, ? 4913 "properties": { "key": string, + }, ? 4914 "networks": [ 4915 { "href": string }, + 4916 ], ? 4917 "operations": [ 4918 { "rel": "edit", "href": string }, ? 4919 { "rel": "delete", "href": string } ? 4920 ] ? 4921 ... 4922 } 4923
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 143
XML media type: application/xml 4924
XML serialization: 4925
<ForwardingGroup xmlns="http://schemas.dmtf.org/cimi/1"> 4926 <id> xs:anyURI </id> 4927 <name> xs:string </name> ? 4928 <description> xs:string </description> ? 4929 <created> xs:dateTime </created> ? 4930 <updated> xs:dateTime </updated> ? 4931 <property key="xs:string"> xs:string </property> * 4932 <network href="xs:anyURI"> * 4933 <operation rel="edit" href="xs:anyURI"/> ? 4934 <operation rel="delete" href="xs:anyURI"/> ? 4935 <xs:any>* 4936 </ForwardingGroup> 4937
5.16.17.1 Collections 4938
The following describes the collection resources owned by ForwardingGroups. 4939
5.16.17.1.1 ForwardingGroupNetwork Collection 4940
The resource type for each item of this collection is "ForwardingGroupNetwork", as defined as follows: 4941
Name ForwardingGroupNetwork
Type URI http://schemas.dmtf.org/cimi/1/ForwardingGroupNetwork
Attribute Type Description
network ref A reference to a Network in the ForwardingGroup.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
JSON serialization: 4942
{ "resourceURI": 4943 "http://schemas.dmtf.org/cimi/1/ForwardingGroupNetworkCollection", 4944 "id": string, 4945 "count": number, 4946 "forwardingGroupNetworks": [ 4947 { "resourceURI": "http://schemas.dmtf.org/cimi/1/ForwardingGroupNetwork", 4948 "id": string, 4949 "name": string, ? 4950 "description": string, ? 4951 "created": string, ? 4952 "updated": string, ? 4953 "properties": { "key": string, + }, ? 4954 "network": { "href": string }, 4955 "operations": [ 4956 { "rel": "edit", "href": string }, ? 4957 { "rel": "delete", "href": string } ? 4958 ] ? 4959 ... 4960 }, + 4961 ], ? 4962 "operations": [ { "rel": "add", "href": string } ? ] 4963 ... 4964 } 4965
XML serialization: 4966
<Collection 4967
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
144 DMTF Standard Version 1.0.0
resourceURI="http://schemas.dmtf.org/cimi/1/ForwardingGroupNetworkCollection" 4968 xmlns="http://schemas.dmtf.org/cimi/1"> 4969 <id> xs:anyURI </id> 4970 <count> xs:integer </count> 4971 <ForwardingGroupNetwork> 4972 <id> xs:anyURI </id> 4973 <name> xs:string </name> ? 4974 <description> xs:string </description> ? 4975 <created> xs:dateTime </created> ? 4976 <updated> xs:dateTime </updated> ? 4977 <property key="xs:string"> xs:string </property> * 4978 <network href="xs:anyURI"/> 4979 <operation rel="edit" href="xs:anyURI"/> ? 4980 <operation rel="delete" href="xs:anyURI"/> ? 4981 <xs:any>* 4982 </ForwardingGroupNetwork> * 4983 <operation rel="add" href="xs:anyURI"/> ? 4984 <xs:any>* 4985 </Collection> 4986
5.16.17.2 Operations 4987
This resource supports the Read, Update, and Delete operations. Create is supported via the 4988 ForwardingGroup Collection resource. 4989
5.16.18 Forwarding Group Collection 4990
A Forwarding Group Collection resource represents the collection of Forwarding Groups within a Provider 4991 and follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as follows: 4992
JSON serialization: 4993
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/ForwardingGroupCollection", 4994 "id": string, 4995 "count": number, 4996 "forwardingGroups": [ 4997 { "resourceURI": "http://schemas.dmtf.org/cimi/1/ForwardingGroup", 4998 "id": string, 4999 ... remaining ForwardingGroup attributes ... 5000 }, + 5001 ], ? 5002 "operations": [ { "rel": "add", "href": string } ? ] 5003 ... 5004 } 5005
XML serialization: 5006
<Collection 5007 resourceURI="http://schemas.dmtf.org/cimi/1/ForwardingGroupCollection" 5008 xmlns="http://schemas.dmtf.org/cimi/1"> 5009 <id> xs:anyURI </id> 5010 <count> xs:integer </count> 5011 <ForwardingGroup> 5012 <id> xs:anyURI </id> 5013 ... remaining ForwardingGroup attributes ... 5014 </ForwardingGroup> * 5015 <operation rel="add" href="xs:anyURI"/> ? 5016 <xs:any>* 5017 </Collection> 5018
5.16.18.1 Operations 5019
NOTE: The "add" operation requires a ForwardingGroupTemplate be used. 5020
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 145
5.16.19 Forwarding Group Template 5021
This resource captures the configuration values for realizing a ForwardingGroup. A Forwarding Group 5022 Template may be used to create multiple ForwardingGroup. 5023
Name ForwardingGroupTemplate
Type URI http://schemas.dmtf.org/cimi/1/ForwardingGroupTemplate
Attribute Type Description
networks ref[] An array of references to the networks in this Forwarding Group.
Array item name: network
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
The following describes the serialization of the resource in both JSON and XML: 5024
JSON media type: application/json 5025
JSON serialization: 5026
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/ForwardingGroupTemplate", 5027 "id": string, 5028 "name": string, ? 5029 "description": string, ? 5030 "created": string, ? 5031 "updated": string, ? 5032 "properties": { "key": string, + }, ? 5033 "networks": [ 5034 { "href": string }, + 5035 ], ? 5036 "operations": [ 5037 { "rel": "edit", "href": string }, ? 5038 { "rel": "delete", "href": string } ? 5039 ] ? 5040 ... 5041 } 5042
XML media type: application/xml 5043
XML serialization: 5044
<ForwardingGroupTemplate xmlns="http://schemas.dmtf.org/cimi/1"> 5045 <id> xs:anyURI </id> 5046 <name> xs:string </name> ? 5047 <description> xs:string </description> ? 5048 <created> xs:dateTime </created> ? 5049 <updated> xs:dateTime </updated> ? 5050 <property key="xs:string"> xs:string </property> * 5051 <network href="xs:anyURI"> * 5052 <operation rel="edit" href="xs:anyURI"/> ? 5053 <operation rel="delete" href="xs:anyURI"/> ? 5054 <xs:any>* 5055 </ForwardingGroupTemplate> 5056
5.16.19.1 Operations 5057
This resource supports the Read, Update, and Delete operations. Create is supported via the Forwarding 5058 Group Template Collection resource. 5059
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
146 DMTF Standard Version 1.0.0
5.16.20 Forwarding Group Template Collection 5060
A Forwarding Group Template Collection resource represents the collection of Forwarding Group 5061 Template resources within a Provider and follows the Collection pattern defined in clause 5.5.12. This 5062 resource shall be serialized as follows: 5063
JSON serialization: 5064
{ "resourceURI": 5065 "http://schemas.dmtf.org/cimi/1/ForwardingGroupTemplateCollection", 5066 "id": string, 5067 "count": number, 5068 "forwardingGroupTemplates": [ 5069 { "resourceURI": "http://schemas.dmtf.org/cimi/1/ForwardingGroupTemplate", 5070 "id": string, 5071 ... remaining ForwardingGroupTemplate attributes ... 5072 }, + 5073 ], ? 5074 "operations": [ { "rel": "add", "href": string } ? ] 5075 ... 5076 } 5077
XML serialization: 5078
<Collection 5079 resourceURI="http://schemas.dmtf.org/cimi/1/ForwardingGroupTemplateCollection" 5080 xmlns="http://schemas.dmtf.org/cimi/1"> 5081 <id> xs:anyURI </id> 5082 <count> xs:integer </count> 5083 <ForwardingGroupTemplate> 5084 <id> xs:anyURI </id> 5085 ... remaining ForwardingGroupTemplate attributes ... 5086 </ForwardingGroupTemplate> * 5087 <operation rel="add" href="xs:anyURI"/> ? 5088 <xs:any>* 5089 </Collection> 5090
5.16.20.1 Operations 5091
This resource supports the Read and Update operations. Creation of new Forwarding Group Template 5092 resources are supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 5093
5.17 Monitoring resources and relationships 5094
Figure 6 illustrates the resources involved in tracking the progress of operations, as well as, metering and 5095 monitoring the status of other resources. Although this drawing is in the style of a Resource Relationship 5096 diagram, the use of UML is neither rigorous nor normative. 5097
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 147
Figure 6 - Monitoring resources 5098
5.17.1 Job 5099
This resource represents a process (i.e., a sequence of one or more operations directed to accomplish a 5100 specific goal) that is performed by the Provider. 5101
If a Provider supports exposing Job resources to Consumers, each request from a Consumer that would 5102 result in a change to the environment shall result in a Job resource being created and an absolute URI 5103 reference to that Job resource shall be made available to the requesting Consumer. Providers may create 5104 additional Job resources for Provider initiated operations if the Provider chooses to expose these Jobs to 5105 Consumers. 5106
When a Job does not complete successfully (e.g., it is in the FAILED or STOPPED state), this 5107 specification does not place any requirements on the Provider to ensure that the affected resources are 5108 left in certain states. Based on the environmental conditions at that time, the Provider might choose to 5109 "undo" any impact of the operation; simply halt processing; attempt some kind of "cleanup" action; or 5110 choose to do something else. However, Providers shall list all resources impacted by the Job in the 5111 "affectedResources" attribute, thus allowing Consumers an opportunity to examine the state of each 5112 resource themselves. In cases where a resource has been deleted, references to that resource shall not 5113 appear in the "affectedResources" attribute. 5114
The Job resource allows for nesting of Jobs. The determination of when a single operation is converted 5115 into multiple nested Jobs is out of scope of this specification. However, if there are nested Jobs, the top-5116
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
148 DMTF Standard Version 1.0.0
most Job resource shall report the overall status of all Jobs and shall only be in a "SUCCESS" state if all 5117 nested Jobs are also in "SUCCESS" state. When nested Jobs are created, there is no requirement for 5118 the top-most Job resource to reference all affected resources in its "affectedResources" attribute. The 5119 Consumer will need to traverse the entire set of nested Jobs to determine the complete list of resources 5120 impacted by the Jobs. 5121
Name Job
Type URI http://schemas.dmtf.org/cimi/1/Job
Attribute Type Description
state string The state of the process associated with this operation.
Allowable values include:
QUEUED: Indicates that the operation has not yet begun processing. Allowable actions when in this state are: stop.
RUNNING: Indicates that the operation is still being executed. Allowable action when in this state is: stop.
FAILED: Indicates that the operation failed to complete successfully.
SUCCESS: Indicates that the operation successfully completed.
STOPPING: Indicates that the operation is in the process of being stopped. Allowable action when in this state is: stop.
STOPPED: Indicates that the operation was stopped before completion.
STOPPING and STOPPED states are optional and Providers may choose to
support them or not.
Providers may define additional values.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
targetResource ref A reference to the top-level resource upon which the operation is being performed. Typically, this resource would be the resource on which the operation was invoked.
Note that when an "add" Job is executed against a "Collection" resource (e.g. MachineCollection), the targetResource attribute shall reference the Collection resource - as that is the resource on which the operation was performed. Additionally, the newly created resource shall appear in the "affectedResources" attribute.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
affectedResources ref[] A list of references to resources that have been impacted by this Job. Note that this list will always contain the "targetResource" reference.
Array item name: affectedResource
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
action URI A URI that indicates the type of action being performed.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 149
returnCode integer The operation return code. The specific value will be specific to the implementation. Values in the range of 0 to 9999 are reserved for use by this specification.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
progress integer An integer value in the range 0 … 100 that indicates the progress of this Job. This value shall be 100 when the Job is no longer executing, regardless of the outcome.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
statusMessage string This attribute is a human-readable string that provides information about the operation. It is used to further qualify or provide additional information about the current status of the operation. For example, this attribute may indicate the reason why the operation failed, or whether the operation was cancelled by the Consumer or the Provider.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
timeOfStatusChange dateTime A timestamp indicating the last time that the status of the operation changed.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
parentJob ref A reference to the Job of which this resource is a subordinate.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
nestedJobs ref[] An array of references to a set of subordinate Job resources.
Array item name: nestedJob
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
The following describes the serialization of the resource in both JSON and XML: 5122
JSON media type: application/json 5123
JSON serialization: 5124
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Job", 5125 "id": string, 5126 "name": string, ? 5127 "description": string, ? 5128 "created": string, ? 5129 "updated": string, ? 5130 "properties": { "key": string, + }, ? 5131 "state": string, 5132 "targetResource": { "href": string }, 5133 "affectedResources": [ { "href": string }, + ], 5134 "action": string, 5135 "returnCode": number, 5136 "progress": number, 5137 "statusMessage": string, 5138 "timeOfStatusChange": date, 5139
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
150 DMTF Standard Version 1.0.0
"isCancellable": boolean, 5140 "parentJob": { "href": string }, ? 5141 "nestedJobs": [ 5142 { "href": string }, + 5143 ], ? 5144 "operations": [ 5145 { "rel": "edit", "href": string }, ? 5146 { "rel": "delete", "href": string }, ? 5147 { "rel": "http://schemas.dmtf.org/cimi/1/action/stop", "href": string } ? 5148 ] ? 5149 ... 5150 } 5151
XML media type: application/xml 5152
XML serialization: 5153
<Job xmlns="http://schemas.dmtf.org/cimi/1"> 5154 <id> xs:anyURI </id> 5155 <name> xs:string </name> ? 5156 <description> xs:string </description> ? 5157 <created> xs:dateTime </created> ? 5158 <updated> xs:dateIime </updated> ? 5159 <property key="xs:string"> xs:string </property> * 5160 <state> xs:string </state> 5161 <targetResource href="xs:anyURI"/> 5162 <affectedResource href="xs:anyURI"/> + 5163 <action> xs:anyURI </action> 5164 <status> xs:string </status> 5165 <returnCode> xs:integer </returnCode> 5166 <progress> xs:integer <progress> 5167 <statusMessage> xs:string </statusMessage> 5168 <timeOfStatusChange> xs:dateTime </timeOfStatusChange> 5169 <isCancellable> xs:boolean </isCancellable> 5170 <parentJob href="xs:anyURI"/> ? 5171 <nestedJob href="xs:anyURI"/> * 5172 <operation rel="edit" href="xs:anyURI"/> ? 5173 <operation rel="delete" href="xs:anyURI"/> ? 5174 <operation rel="http://schemas.dmtf.org/cimi/1/action/stop" 5175 href="xs:anyURI"/> ? 5176 <xs:any>* 5177 </Job> 5178
5.17.1.1 Operations 5179
This resource supports the Read, Update and Delete operations. 5180
Note that deleting a Job that is in the "RUNNING" state shall be the equivalent of first stopping the Job 5181 and then deleting it. A request to delete a running Job that does not support the "stop" action shall fail. 5182
The following custom operations are also defined: 5183
Stopping a Job 5184
/link@rel: http://schemas.dmtf.org/cimi/1/action/stop 5185
This operation will stop a Job. 5186
Input parameters: None. 5187
Output parameters: None. 5188
During the processing of this operation, the Job shall be in the "STOPPING" state. 5189
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 151
Upon successful completion of this operation, the Job shall be in the "STOPPED" state. 5190
HTTP protocol 5191
To stop a Job, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/stop" URI of the Job where 5192 the HTTP request body shall be as described below. 5193
JSON media type: application/json 5194
JSON serialization: 5195
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 5196 "action": "http://schemas.dmtf.org/cimi/1/action/stop", 5197 "properties": { "key": string, + } ? 5198 ... 5199 } 5200
XML media type: application/xml 5201
XML serialization 5202
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 5203 <action> http://schemas.dmtf.org/cimi/1/action/stop </action> 5204 <property key="xs:string"> xs:string </property> * 5205 <xs:any>* 5206 </Action> 5207
Upon successful processing of the request, the HTTP response body will be empty. 5208
5.17.2 Job Collection 5209
A Job Collection resource represents the collection of Jobs within a Provider and follows the Collection 5210 pattern defined in clause 5.5.12. This resource shall be serialized as follows: 5211
JSON serialization: 5212
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/JobCollection", 5213 "id": string, 5214 "count": integer, 5215 "jobs": [ 5216 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Job", 5217 "id": string, 5218 ... remaining Job attributes ... 5219 }, + 5220 ], ? 5221 "operations": [ { "rel": "add", "href": string } ? ] 5222 ... 5223 } 5224
XML serialization: 5225
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/JobCollection" 5226 xmlns="http://schemas.dmtf.org/cimi/1"> 5227 <id> xs:anyURI </id> 5228 <count> xs:integer </count> 5229 <Job> 5230 <id> xs:anyURI </id> 5231 ... remaining Job attributes ... 5232 </Job> * 5233 <operation rel="add" href="xs:anyURI"/> ? 5234 <xs:any>* 5235 </Collection> 5236
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
152 DMTF Standard Version 1.0.0
5.17.3 Meter 5237
This resource represents an available Meter of some property associated to a given resource. 5238
When a Meter's "targetResource" is deleted all Meters associated with that resource shall also be 5239 deleted. In other words, deleting a resource-specific MetersCollection (e.g. a Machine's MetersCollection) 5240 shall also result in the deletion of the Meters referenced from that collection. 5241
Name Meter
Type URI http://schemas.dmtf.org/cimi/1/Meter
Attribute Type Description
targetResource ref A reference to the resource to which the Meter is related.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
aspect URI A unique identifier representing the aspect of the resource being metered.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
units string The name of the used units, e.g., kilobits per second, CPU usage percentage, etc.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
sampleInterval integer The time between consecutive samples in seconds.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
timeScope string The time scope to which this meter’s value applies.
Two possible values: "Point" indicates that the Meter applies to a point in time. "Interval" indicates that the Meter applies to a time interval. For instance, it would be possible to define a Meter whose purpose is to provide the daily average CPU usage.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
intervalDuration duration The interval duration when the timeScope is set to "Interval". Possible values: hourly, daily, weekly, monthly or yearly.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
isContinuous boolean This value indicates whether or not the Meter value is continuous or scalar. Performance Meters are an example of a linear metric.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
samples collection [Sample]
A reference to the list of taken samples
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 153
minValue string The expected minimal measure value.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
maxValue string The expected maximum measure value.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
stopTime dateTime The time from which the meter stops tracking samples.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
expiresTime dateTime The time from which the Meter is not monitored anymore. It implies the deletion of the Meter after this time.
Note that a Meter might be deleted before this time if the resource being metered is deleted.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
The following describes the serialization of the resource in both JSON and XML: 5242
JSON media type: application/json 5243
JSON serialization: 5244
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Meter", 5245 "id": string, 5246 "name": string, ? 5247 "description": string, ? 5248 "created": string, ? 5249 "updated": string, ? 5250 "properties": { "key": string, + }, ? 5251 "targetResource": { "href": string }, 5252 "aspect": string, 5253 "units": string, 5254 "sampleInterval": number, 5255 "timeScope": string, 5256 "intervalDuration": string, 5257 "isContinuous": boolean, 5258 "samples": { "href": string }, ? 5259 "minValue": string, ? 5260 "maxValue": string, ? 5261 "stopTime": string, ? 5262 "expiresTime": string, ? 5263 "operations": [ 5264 { "rel": "edit", "href": string }, ? 5265 { "rel": "delete", "href": string }, ? 5266 { "rel": "http://schemas.dmtf.org/cimi/1/action/start", "href": string }, ? 5267 { "rel": "http://schemas.dmtf.org/cimi/1/action/stop", "href": string } ? 5268 ] ? 5269 ... 5270 } 5271
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
154 DMTF Standard Version 1.0.0
XML media type: application/xml 5272
XML serialization: 5273
<Meter xmlns="http://schemas.dmtf.org/cimi/1"> 5274 <id> xs:anyURI </id> 5275 <name> xs:string </name> ? 5276 <description> xs:string </description> ? 5277 <created> xs:dateTime </created> ? 5278 <updated> xs:dateTime </updated> ? 5279 <property key="xs:string"> xs:string </property> * 5280 <targetResource href="xs:anyURI"/> 5281 <aspect> xs:anyURI </aspect> 5282 <units> xs:string </units> 5283 <sampleInterval> xs:integer </sampleInterval> 5284 <timeScope> xs:string <timeScope> 5285 <intervalDuration xs:duration </intervalDuration> 5286 <isContinuous> xs:boolean </isContinuous> 5287 <samples href="xs:anyURI"/> ? 5288 <minValue> xs:string </minValue> ? 5289 <maxValue> xs:string </maxValue> ? 5290 <stopTime> xs:dateTime </stopTime> ? 5291 <expiresTime> xs:dateTime </expiresTime> ? 5292 <operation rel="edit" href="xs:anyURI"/> ? 5293 <operation rel="delete" href="xs:anyURI"/> ? 5294 <operation rel="http://schemas.dmtf.org/cimi/1/action/start" 5295 href="xs:anyURI"/> ? 5296 <operation rel="http://schemas.dmtf.org/cimi/1/action/stop" 5297 href="xs:anyURI"/> ? 5298 <xs:any>* 5299 </Meter> 5300
5.17.3.1 Collections 5301
The following describes the collection resources owned by Meters. 5302
5.17.3.1.1 Sample Collection 5303
The resource type for each item of this collection is “Sample”, defined as follows: 5304
Name Sample
Type URI http://schemas.dmtf.org/cimi/1/Sample
Attribute Type Description
timeStamp dateTime It indicates when the measure was taken (timeScope="Point").
When the timeScope is "Interval", it indicates the end of the time interval.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
value string It indicates the sampled value of the measure.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
JSON serialization: 5305
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/SampleCollection", 5306 "id": string, 5307 "count": number, 5308 "samples": [ 5309
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 155
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Sample", 5310 "id": string, 5311 "name": string, ? 5312 "description": string, ? 5313 "created": string, ? 5314 "updated": string, ? 5315 "properties": { "key": string, + }, ? 5316 "timestamp": string, 5317 "value": string 5318 ... 5319 }, + 5320 ], ? 5321 ... 5322 } 5323
XML serialization: 5324
<Collection 5325 resourceURI="http://schemas.dmtf.org/cimi/1/SampleCollection" 5326 xmlns="http://schemas.dmtf.org/cimi/1"> 5327 <id> xs:anyURI </id> 5328 <count> xs:integer </count> 5329 <Sample> 5330 <id> xs:anyURI </id> 5331 <name> xs:string </name> ? 5332 <description> xs:string </description> ? 5333 <created> xs:dateTime </created> ? 5334 <updated> xs:dateTime </updated> ? 5335 <property key="xs:string"> xs:string </property> * 5336 <sample timestamp="xs:dateTime" value="xs:string"/> 5337 <xs:any>* 5338 </Sample> * 5339 <xs:any>* 5340 </Collection> 5341
5.17.3.2 Operations 5342
This resource supports the Read, Update, and Delete operations. Create is supported via the Meter 5343 Collection resource. 5344
NOTE: The deletion of a Meter shall remove the Meter from the targetResource's "meter" attribute. 5345
The following custom operations are also defined: 5346
Starting a Meter 5347
/link@rel: http://schemas.dmtf.org/cimi/1/action/start 5348
This operation will start a Meter. 5349
Input parameters: None. 5350
Output parameters: None. 5351
Upon successful completion of this operation, the Meter starts recording samples related to its associated 5352 resource. 5353
HTTP protocol 5354
To start a Meter, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/start" URI of the Meter 5355 where the HTTP request body shall be as described below. 5356
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
156 DMTF Standard Version 1.0.0
JSON media type: application/json 5357
JSON serialization: 5358
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 5359 "action": "http://schemas.dmtf.org/cimi/1/action/start", 5360 "properties": { "key": string, + } ? 5361 ... 5362 } 5363
XML media type: application/xml 5364
XML serialization 5365
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 5366 <action> http://schemas.dmtf.org/cimi/1/action/start </action> 5367 <property key="xs:string"> xs:string </property> * 5368 <xs:any>* 5369 </Action> 5370
Upon successful processing of the request, the HTTP response body will be empty. 5371
Stopping a Meter 5372
/link@rel: http://schemas.dmtf.org/cimi/1/action/stop 5373
This operation will stop a Meter. 5374
Input parameters: None. 5375
Output parameters: None. 5376
Upon successful completion of this operation, the Meter will no longer be recording samples related to its 5377 associated resource. 5378
HTTP protocol 5379
To stop a Meter, a POST is sent to the "http://schemas.dmtf.org/cimi/1/action/stop" URI of the Meter 5380 where the HTTP request body shall be as described below. 5381
JSON media type: application/json 5382
JSON serialization: 5383
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Action", 5384 "action": "http://schemas.dmtf.org/cimi/1/action/stop", 5385 "properties": { "key": string, + } ? 5386 ... 5387 } 5388
XML media type: application/xml 5389
XML serialization 5390
<Action xmlns="http://schemas.dmtf.org/cimi/1"> 5391 <action> http://schemas.dmtf.org/cimi/1/action/stop </action> 5392 <property key="xs:string"> xs:string </property> * 5393 <xs:any>* 5394 </Action> 5395
Upon successful processing of the request, the HTTP response body will be empty. 5396
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 157
5.17.4 Meter Collection 5397
A Meter Collection resource represents the collection of Meters within a Provider and follows the 5398 Collection pattern defined in clause 5.5.12. This resource shall be serialized as follows: 5399
JSON serialization: 5400
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MeterCollection", 5401 "id": string, 5402 "count": number, 5403 "meters": [ 5404 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Meter", 5405 "id": string, 5406 ... remaining Meter attributes ... 5407 }, + 5408 ], ? 5409 "operations": [ { "rel": "add", "href": string } ? ] 5410 ... 5411 } 5412
XML serialization: 5413
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/MeterCollection" 5414 xmlns="http://schemas.dmtf.org/cimi/1"> 5415 <id> xs:anyURI </id> 5416 <count> xs:integer </count> 5417 <Meter> 5418 <id> xs:anyURI </id> 5419 ... remaining Meter attributes ... 5420 </Meter> * 5421 <operation rel="add" href="xs:anyURI"/> ? 5422 <xs:any>* 5423 </Collection> 5424
5.17.4.1 Operations 5425
NOTE: The "add" operation requires a MeterTemplate be used. 5426
When Meters are created via the global (Cloud Entry Point) MeterCollection's "add" operation, they are 5427 automatically added to the corresponding targetResource's "Meters" collection resource as well. 5428
5.17.5 Meter Template 5429
A Meter Template represents the information needed to create a new Meter. 5430
Name MeterTemplate
Type URI http://schemas.dmtf.org/cimi/1/MeterTemplate
Attribute Type Description
targetResource ref A reference to the resource that will be metered. The type of the resource shall be one of the "associatedTo" types listed in the Meter Configuration referenced.
When this Template is used to create a new Meter via the global (Cloud Entry Point) Meters Collection, this attribute shall be present. When this Template is used to create a new Meter via a targetResource's Meters Collection then this attribute shall either be absent or shall have the same value as the "id" of the targetResource to which this Meter is being added.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
meterConfig ref A reference to the Meter Configuration that will be used to create a Meter from this
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
158 DMTF Standard Version 1.0.0
Meter Template.
Note that the attributes of the MeterConfiguration may be specified rather than a reference to an existing MeterConfiguration resource.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
The following describes the serialization of the resource in both JSON and XML: 5431
JSON media type: application/json 5432
JSON serialization: 5433
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MeterTemplate", 5434 "id": string, 5435 "name": string, ? 5436 "description": string, ? 5437 "created": string, ? 5438 "updated": string, ? 5439 "properties": { "key": string, + }, ? 5440 "targetResource": { string }, 5441 "meterConfig": { 5442 "href": string | ... MeterConfiguration attributes ... 5443 }, 5444 "operations": [ 5445 { "rel": "edit", "href": string }, ? 5446 { "rel": "delete", "href": string } ? 5447 ] ? 5448 ... 5449 } 5450
XML media type: application/xml 5451
XML serialization: 5452
<MeterTemplate xmlns="http://schemas.dmtf.org/cimi/1"> 5453 <id> xs:anyURI </id> 5454 <name> xs:string </name> ? 5455 <description> xs:string </description> ? 5456 <created> xs:dateTime </created> ? 5457 <updated> xs:dateTime </updated> ? 5458 <property key="xs:string"> xs:string </property> * 5459 <targetResource href="xs:anyURI"/> 5460 <meterConfig href="xs:anyURI"?> 5461 ... MeterConfiguration attributes ... ? 5462 </meterConfig> 5463 <operation rel="edit" href="xs:anyURI"/> ? 5464 <operation rel="delete" href="xs:anyURI"/> ? 5465 <xs:any>* 5466 </MeterTemplate> 5467
5.17.6 Meter Template Collection 5468
A Meter Template Collection resource represents the collection of MeterTemplate resources within a 5469 Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as 5470 follows: 5471
JSON serialization: 5472
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MeterTemplateCollection", 5473 "id": string, 5474 "count": number, 5475
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 159
"meterTemplates": [ 5476 { "resourceURI": "http://schemas.dmtf.org/cimi/1/MeterTemplate", 5477 "id": string, 5478 ... remaining MeterTemplate attributes ... 5479 }, + 5480 ], ? 5481 "operations": [ { "rel": "add", "href": string } ? ] 5482 ... 5483 } 5484
XML serialization: 5485
<Collection 5486 resourceURI="http://schemas.dmtf.org/cimi/1/MeterTemplateCollection" 5487 xmlns="http://schemas.dmtf.org/cimi/1"> 5488 <id> xs:anyURI </id> 5489 <count> xs:integer </count> 5490 <MeterTemplate> 5491 <id> xs:anyURI </id> 5492 ... remaining MeterTemplate attributes ... 5493 </MeterTemplate> * 5494 <operation rel="add" href="xs:anyURI"/> ? 5495 <xs:any>* 5496 </Collection> 5497
5.17.6.1 Operations 5498
This resource supports the Read and Update operations. Creation of new Meter Template resources are 5499 supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 5500
5.17.7 Meter Configuration 5501
A Meter Configuration represents the definition of a Meter. 5502
Name MeterConfiguration
Type URI http://schemas.dmtf.org/cimi/1/MeterConfiguration
Attribute Type Description
associatedTo URI[] An array of URIs that indicate the resources to which a Meter created from this configuration can be applied. The value space of these URIs is identical to that of ResourceMetadata.typeURI, which is a URI that uniquely identifies a resource type.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
aspect URI A unique identifier representing the aspect of the resource being metered. See the table below for the set of CIMI defined URIs.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
units string The human-readable name of the used units, e.g., kilobits per second, CPU usage percentage, etc.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
sampleInterval integer The time between consecutive samples in seconds.
Constraints: Provider: support mandatory; mutable
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
160 DMTF Standard Version 1.0.0
Consumer: support mandatory; read-write
timeScope string The time scope to which the Meter value applies.
Two possible values: "Point" indicates that the Meter applies to a point in time. "Interval" indicates that the Meter applies to a time interval. For instance, it would be possible to define a MeterConfiguration whose purpose is to provide the daily average CPU usage.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
intervalDuration duration The interval duration when the timeScope is set to "Interval." Possible values: hourly, daily, weekly, monthly, or yearly.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
isContinuous boolean This value indicates whether the Meter value is continuous or scalar. Performance Meters are an example of a linear metric.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
The following describes the serialization of the resource in both JSON and XML: 5503
JSON media type: application/json 5504
JSON serialization: 5505
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MeterConfiguration", 5506 "id": string, 5507 "name": string, ? 5508 "description": string, ? 5509 "created": string, ? 5510 "updated": string, ? 5511 "properties": { "key": string, + }, ? 5512 "associatedTo": [ 5513 { "href": string }, + 5514 ], ? 5515 "aspect": string, 5516 "units": string, 5517 "sampleInterval": number, 5518 "timeScope": string, 5519 "intervalDuration": string, 5520 "isContinuous": boolean, 5521 "operations": [ 5522 { "rel": "edit", "href": string }, ? 5523 { "rel": "delete", "href": string } ? 5524 ] ? 5525 ... 5526 } 5527
XML media type: application/xml 5528
XML serialization: 5529
<MeterConfiguration xmlns="http://schemas.dmtf.org/cimi/1"> 5530 <id> xs:anyURI </id> 5531 <name> xs:string </name> ? 5532 <description> xs:string </description> ? 5533 <created> xs:dateTime </created> ? 5534 <updated> xs:dateTime </updated> ? 5535
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 161
<property key="xs:string"> xs:string </property> * 5536 <associatedTo href="xs:anyURI"/> * 5537 <aspect> xs:anyURI </aspect> 5538 <units> xs:string </units> 5539 <sampleInterval> xs:integer </sampleInterval> 5540 <timeScope> xs:string </timeScope> 5541 <intervalDuration> xs:duration </intervalDuration> 5542 <isContinuous> xs:boolean </isContinuous> 5543 <operation rel="edit" href="xs:anyURI"/> ? 5544 <operation rel="delete" href="xs:anyURI"/> ? 5545 <xs:any>* 5546 </MeterConfiguration> 5547
The following table describes the "aspect" URIs defined by this specification. Providers may define new 5548 aspect URIs and it is recommended that these URIs be dereferencable such that Consumers can 5549 discover the details of the new aspect. For brevity the "URI" column in the table only shows the last part 5550 of the URI. It should be appended to: "http://schemas.dmtf.org/cimi/1/aspect/". 5551
Aspect Description
cpu The percentage CPU usage of the resource. Typically associated with CEP, System, and Machine resources. For resources that group other resources (e.g., CEP or System resources), this aspect provides the aggregated percentage usage of the CPU.
memory The amount of memory being used by the resource. Typically associated with CEP, System, and Machine resources. For resources that group other resources (e.g., CEP or System resources), this aspect provides the aggregated usage of the memory.
disk The amount of disk being used by the resource. Typically associated with CEP, System, Machine, and Volume resources. For resources that group other resources (e.g., CEP or System resources), this aspect provides the aggregated disk usage.
bandwidth The amount of network traffic. Typically associated with CEP, System, and Network resources. For CEP and System resources, this aspect provides the aggregated bandwidth of all the networks under them.
inputBandwidth The amount of input bandwidth used by the resource. Typically associated with Machine, NetworkPort, and Volume resources. For Machine resources, this aspect provides the aggregated input bandwidth usage of all its network interfaces .
outputBandwidth The amount of output bandwidth used by the resource. Typically associated with Machine, NetworkPort, and Volume resources. For Machine resources, this aspect provides the aggregated input bandwidth usage of all its network interfaces.
5.17.7.1 Operations 5552
This resource supports the Read, Update, and Delete operations. Create is supported via the Meter 5553 Configuration Collection resource. 5554
5.17.8 Meter Configuration Collection 5555
A Meter Configuration Collection resource represents the collection of Meter Configurations within a 5556 Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be serialized as 5557 follows: 5558
JSON serialization: 5559
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/MeterConfigurationCollection", 5560 "id": string, 5561 "count": number, 5562 "meterConfigurations": [ 5563 { "resourceURI": "http://schemas.dmtf.org/cimi/1/MeterConfiguration", 5564 "id": string, 5565 ... remaining MeterConfiguration attributes ... 5566
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
162 DMTF Standard Version 1.0.0
}, + 5567 ], ? 5568 "operations": [ { "rel": "add", "href": string } ? ] 5569 ... 5570 } 5571
XML serialization: 5572
<Collection 5573 resourceURI="http://schemas.dmtf.org/cimi/1/MeterConfigurationCollection" 5574 xmlns="http://schemas.dmtf.org/cimi/1"> 5575 <id> xs:anyURI </id> 5576 <count> xs:integer </count> 5577 <MeterConfiguration> 5578 <id> xs:anyURI </id> 5579 ... remaining MeterConfiguration attributes ... 5580 </MeterConfiguration> * 5581 <operation rel="add" href="xs:anyURI"/> ? 5582 <xs:any>* 5583 </Collection> 5584
5.17.8.1 Operations 5585
This resource supports the Read and Update operations. Creation of new Meter Configuration resources 5586 are supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 5587
5.17.9 Event Log 5588
An resource that represents a registry of Events. 5589
When an EventLog's "targetResource" is deleted the EventLog associated with that resource may also be 5590 deleted. In other words, deleting a resource (e.g. a Machine) may also result in the deletion of the 5591 EventLog referenced from that resource. This behavior is denoted by the EventLog.Linked capability. 5592
When an EventLog is deleted all of its Events shall also be deleted. 5593
Name EventLog
Type URI http://schemas.dmtf.org/cimi/1/EventLog
Attribute Type Description
targetResource
ref A reference to the resource to which the Events are related.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
events collection [Event]
A reference to the list of occurred Events.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
persistence string A value that indicates the persistence of the Events within the EventLog. For instance, daily, weekly, monthly, or yearly. Events that exceed the persistence duration may be deleted.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
summary <unnamed structure>
A summary of all the events present in the EventLog when the read operation is performed, grouped by severity.
Each summary attribute is an (unnamed) structure that has the following sub-
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 163
attributes:
Attribute Type Description
low integer Number of occurred Events with a low severity.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
medium integer Number of occurred Events with a medium severity.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
high integer Number of occurred Events with a high severity.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
critical integer Number of occurred Events with a critical severity.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-only
The following describes the serialization of the resource in both JSON and XML: 5594
JSON media type: application/json 5595
JSON serialization: 5596
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/EventLog", 5597 "id": string, 5598 "name": string, ? 5599 "description": string, ? 5600 "created": string, ? 5601 "updated": string, ? 5602 "properties": { "key": string, + }, ? 5603 "targetResource": { "href": string }, 5604 "events": { "href": string }, 5605 "persistence": string, 5606 "summary": { 5607 "low": number, 5608 "medium": number, 5609 "high": number, 5610 "critical": number 5611 }, ? 5612 "operations": [ 5613 { "rel": "edit", "href": string }, ? 5614 { "rel": "delete", "href": string } ? 5615 ] ? 5616 ... 5617 } 5618
XML media type: application/xml 5619
XML serialization: 5620
<EventLog xmlns="http://schemas.dmtf.org/cimi/1"> 5621 <id> xs:anyURI </id> 5622
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
164 DMTF Standard Version 1.0.0
<name> xs:string </name> ? 5623 <description> xs:string </description> ? 5624 <created> xs:dateTime </created> ? 5625 <updated> xs:dateTime </updated> ? 5626 <property key="xs:string"> xs:string </property> * 5627 <targetResource href="xs:anyURI"/> 5628 <events href="xs:anyURI"/> 5629 <persistence> xs:string </persistence> 5630 <summary> 5631 <low> xs:integer </low> 5632 <medium> xs:integer </medium> 5633 <high> xs:integer <high> 5634 <critical> xs:integer </critical> 5635 </summary> 5636 <operation rel="edit" href="xs:anyURI"/> ? 5637 <operation rel="delete" href="xs:anyURI"/> ? 5638 <xs:any>* 5639 </EventLog> 5640
5.17.9.1 Collections 5641
The following describes the collection resources owned by EventLogs. 5642
5.17.9.1.1 Event Collection 5643
The resource type for each item of this collection is “Event” as defined in clause 5.17.13. 5644
JSON serialization: 5645
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/EventCollection", 5646 "id": string, 5647 "count": number, 5648 "events": [ 5649 { "resourceURI": "http://schemas.dmtf.org/cimi/1/Event", 5650 "id": string, 5651 ... remaining Event attributes ... 5652 }, + 5653 ], ? 5654 "operations": [ { "rel": "add", "href": string } ? ] 5655 ... 5656 } 5657
XML serialization: 5658
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/EventCollection" 5659 xmlns="http://schemas.dmtf.org/cimi/1"> 5660 <id> xs:anyURI </id> 5661 <count> xs:integer </count> 5662 <Event> 5663 <id> xs:anyURI </id> 5664 ... remaining Event attributes ... 5665 </Event> * 5666 <operation rel="add" href="xs:anyURI"/> ? 5667 <xs:any>* 5668 </Collection> 5669
5.17.9.2 Operations 5670
This resource supports the Read, Update, and Delete operations. 5671
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 165
5.17.10 Event Log Collection 5672
A Event Log Collection resource represents the collection of Event Logs within a Provider and follows the 5673 Collection pattern defined in clause 5.5.12. This resource shall be serialized as follows: 5674
JSON serialization: 5675
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/EventLogCollection", 5676 "id": string, 5677 "count": number, 5678 "eventLogs": [ 5679 { "resourceURI": "http://schemas.dmtf.org/cimi/1/EventLog", 5680 "id": string, 5681 ... remaining EventLog attributes ... 5682 }, + 5683 ], ? 5684 "operations": [ { "rel": "add", "href": string } ? ] 5685 ... 5686 } 5687
XML serialization: 5688
<Collection resourceURI="http://schemas.dmtf.org/cimi/1/EventLogCollection" 5689 xmlns="http://schemas.dmtf.org/cimi/1"> 5690 <id> xs:anyURI </id> 5691 <count> xs:integer </count> 5692 <EventLog> 5693 <id> xs:anyURI </id> 5694 ... remaining EventLog attributes ... 5695 </EventLog> * 5696 <operation rel="add" href="xs:anyURI"/> ? 5697 <xs:any>* 5698 </Collection> 5699
5.17.11 Event Log Template 5700
An EventLog Template represents the information needed to create a new EventLog. 5701
Name EventLogTemplate
Type URI http://schemas.dmtf.org/cimi/1/EventLogTemplate
Attribute Type Description
targetResource ref A reference to the resource to which the EventLog shall be connected.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
persistence string A value that indicates the persistence of the Events in the new EventLog. For instance, daily, weekly, monthly, or yearly. Events that exceed the persistence duration may be deleted.
Constraints: Provider: support mandatory; mutable Consumer: support mandatory; read-write
The following describes the serialization of the resource in both JSON and XML: 5702
JSON media type: application/json 5703
JSON serialization: 5704
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/EventLogTemplate", 5705 "id": string, 5706
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
166 DMTF Standard Version 1.0.0
"name": string, ? 5707 "description": string, ? 5708 "created": string, ? 5709 "updated": string, ? 5710 "properties": { "key": string, + }, ? 5711 "targetResource": { string }, 5712 "persistence": string, 5713 "operations": [ 5714 { "rel": "edit", "href": string }, ? 5715 { "rel": "delete", "href": string } ? 5716 ] ? 5717 ... 5718 } 5719
XML media type: application/xml 5720
XML serialization: 5721
<EventLogTemplate xmlns="http://schemas.dmtf.org/cimi/1"> 5722 <id> xs:anyURI </id> 5723 <name> xs:string </name> ? 5724 <description> xs:string </description> ? 5725 <created> xs:dateTime </created> ? 5726 <updated> xs:dateTime </updated> ? 5727 <property key="xs:string"> xs:string </property> * 5728 <targetResource href="xs:anyURI"/> 5729 <persistence> xs:string </persistence> 5730 <operation rel="edit" href="xs:anyURI"/> ? 5731 <operation rel="delete" href="xs:anyURI"/> ? 5732 <xs:any>* 5733 </MeterTemplate> 5734
5.17.12 Event Log Template Collection 5735
A EventLog Template Collection resource represents the collection of EventLogTemplate resources 5736 within a Provider and follows the Collection pattern defined in clause 5.5.12. This resource shall be 5737 serialized as follows: 5738
JSON serialization: 5739
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/EventLogTemplateCollection", 5740 "id": string, 5741 "count": number, 5742 "eventLogTemplates": [ 5743 { "resourceURI": "http://schemas.dmtf.org/cimi/1/EventLogTemplate", 5744 "id": string, 5745 ... remaining EventLogTemplate attributes ... 5746 }, + 5747 ], ? 5748 "operations": [ { "rel": "add", "href": string } ? ] 5749 ... 5750 } 5751
XML serialization: 5752
<Collection 5753 resourceURI="http://schemas.dmtf.org/cimi/1/EventLogTemplateCollection" 5754 xmlns="http://schemas.dmtf.org/cimi/1"> 5755 <id> xs:anyURI </id> 5756 <count> xs:integer </count> 5757 <EventLogTemplate> 5758 <id> xs:anyURI </id> 5759 ... remaining EventLogTemplate attributes ... 5760 </EventLogTemplate> * 5761
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 167
<operation rel="add" href="xs:anyURI"/> ? 5762 <xs:any>* 5763 </Collection> 5764
5.17.12.1 Operations 5765
This resource supports the Read and Update operations. Creation of new EventLog Template resources 5766 are supported via a POST to the "add" operation's URI as described in clause 4.2.1.1. 5767
5.17.13 Event 5768
An resource that represents the occurrence of an event within the managed infrastructure. Some 5769 examples of Events may be: 5770
Machine X has been rebooted by guest OS. 5771
Machine X is not responding to platform services. 5772
A new vCPU has been added to machine X following defined elasticity rules. 5773
The scope of the Event concept is any information that the Provider is able to track within its infrastructure 5774 and that can constitute useful information for the Consumer. Possible examples include, but are not 5775 limited to, errors and inconveniences that occur in the (virtual) resources assigned to Consumers; 5776 Provider-initiated actions, such as maintenance tasks; etc. 5777
Name Event
Type URI http://schemas.dmtf.org/cimi/1/Event
Attribute Type Description
timestamp dateTime
The time of occurrence of the actual event. A datetime field formatted according to DSP4004, which follows ISO8601; the timestamp should preserve time zone information, i.e., include a local time component and an offset from UTC.
For example, Monday, May 25, 2012, at 1:30:15 PM EST is represented as:
2012-05-25T13:30:15-05:00
NOTE: This attribute should not be confused with the time of creation of the Event resource instance, which is captured in the common "created" attribute.
Constraints: Provider: support mandatory; immutable Consumer: support optional; read-only
type URI A URI that uniquely identifies the type of the event. When the "content" attribute is present, this URI determines the actual data structure used for this content, e.g., to which schema it is associated.
Constraints: Provider: support mandatory; immutable Consumer: support mandatory; read-only
content any A polymorphic attribute that represents detailed event data, the type of which will vary with the event "type." Typically, a data structure; for example:
In the case of a monitoring event, the content will hold the target resource ID and type, measured attribute(s), and status value(s).
In the case of an audit event conforming to the CADF model, the content will hold the detailed event structure that complies with CADF event schema.
In the case of a CIM Indication, the content will hold the structure and attributes defined for such events.
Constraints:
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
168 DMTF Standard Version 1.0.0
Provider: support mandatory; immutable Consumer: support mandatory; read-only
outcome string A string value that characterizes the general significance of the event. A core set is defined that may be used regardless of the event type. For each event type, the definition
of a core outcome value maybe refined in the context of this type, provided it does not conflict with the general meaning of the outcome given below.
Core outcomes are:
Pending: The event is about an action or process that is still ongoing.
Unknown: The event is about a request or action that is not known by the Provider.
Status: The event reports on the state or status of a resource.
Success: The event reports on a successful outcome of some action or process.
Warning: The event reports on a situation that requires attention or remedial action.
Failure: The event reports on a failed outcome of some action or process.
This set of core outcome values may be extended to accommodate possible outcomes of a specific event type. In this case, the extended set of values will apply to all events of this type.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
severity string A value indicating the Event severity. Possible values are:
critical
high
medium
low
The meaning of the severity level may vary depending on the event "type." When such an attribute is not relevant to a particular type of event, it should be omitted.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
contact string A reference to a contact point or processing point to handle the event. The actual type of this content (e.g., email address, phone# of helpdesk or staff, message queue, URL…) is dependent on, and determined by the event "type." This attribute is mutable as it may be determined after event creation by the Provider.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
NOTE: There exists a legacy of several event models that have been standardized or designed for various domains 5778 relevant to IT. The objective in CIMI is not to elect one particular event model, but to select as top-level event 5779 attributes the most immediately relevant data useful for event processing in a Cloud environment. Additional event 5780 data may still be represented in the variable content attribute that allows for mapping other event models into a CIMI 5781 event. 5782
The following describes the serialization of the resource in both JSON and XML: 5783
JSON media type: application/json 5784
JSON serialization: 5785
{ "resourceURI": "http://schemas.dmtf.org/cimi/1/Event", 5786 "id": string, 5787
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 169
"name": string, ? 5788 "description": string, ? 5789 "created": string, ? 5790 "updated": string, ? 5791 "properties": { "key": string, + }, ? 5792 "timestamp": string, 5793 "type": string, 5794 "content": any, ? 5795 "outcome": string, ? 5796 "severity": string, ? 5797 "contact": string, ? 5798 ... 5799 } 5800
XML media type: application/xml 5801
XML serialization: 5802
<Event xmlns="http://schemas.dmtf.org/cimi/1"> 5803 <id> xs:anyURI </id> 5804 <name> xs:string </name> ? 5805 <description> xs:string </description> ? 5806 <created> xs:dateTime </created> ? 5807 <updated> xs:dateTime </updated> ? 5808 <property key="xs:string"> xs:string </property> * 5809 <timestamp> xs:dateTime </timestamp> 5810 <type> xs:string </type> 5811 <content> xs:any* </content> ? 5812 <outcome> xs:string </outcome> ? 5813 <severity> xs:string </severity> ? 5814 <contact> xs:string </contact> ? 5815 <xs:any>* 5816 </Event> 5817
The following table describes the "type" URIs that are defined or acknowledged by this specification. 5818 Additional types may be added by a Provider, for example to characterize external events mapped into 5819 CIMI events. It is recommended that these URIs be dereferencable such that Consumers can discover a 5820 more detailed description of the type. Event types defined by this specification will share the same base 5821 URI: http://schemas.dmtf.org/cimi/1/event/. For brevity, when the "Event Type" column in the table only 5822 shows a relative URI (e.g., state) it shall be appended to the end of this base URI. 5823
Event Type Description
state Events of this type report state information about CIMI run-time resources such as instances of Machines, Systems, Networks, and Volumes. This information includes reports on any change in the "state" of these resources.
The content element associated with this event type has the following structure:
Data Type Description
resName string The name of the resource about the state of which is reported.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
170 DMTF Standard Version 1.0.0
resource ref The reference to the resource about the state of which is reported. (Note: This reference may become invalid because the event might outlive the resource. )
Constraints: Provider: support mandatory; immutable Consumer: support optional; read-only
resType URI URI denoting this resource type (same as the type URI associated with the Resource type for this resource).
Constraints: Provider: support optional; immutable Consumer: support optional; read-only.
state string The state reported for the resource. Shall be the same as the "state" attribute value (if any) of the run-time resource at the time the event is generated.
Constraints: Provider: support mandatory; immutable Consumer: support optional; read-only
previous string The previous state value, if the event reports a state change.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only.
alarm Events of this type report errors or alarms occurring during management operations of Cloud resource. This information includes failures to provision resources, failures to fulfill requests to the CIMI interface, and any critical situation that needs be addressed in a timely manner.
The content element associated with this event type has the following structure:
Data Type Description
resName string The name of the resource associated with this alarm, if applicable.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only.
resource ref The reference to the resource associated with this alarm, if applicable. (Note: This reference may become invalid because the event might outlive the resource. )
Constraints: Provider: support mandatory; immutable Consumer: support optional; read-only
restype URI URI denoting, this resource type associated with this alarm, if applicable (same as the type URI associated with the Resource type for this resource).
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
code string An alarm code.
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 171
Constraints: Provider: support mandatory; immutable Consumer: support optional; read-only
detail string The detailed information associated with the alarm.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
model Events of this type report changes in the CIMI resource model, which includes creation, modification, and destruction of resource instances; and updates to metadata (resource extensions, capabilities and constraints, etc.).
The content element associated with this event type has the following structure:
Data Type Description
resName string The name of the main model resource affected by the modification.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
resource ref The reference to the main model resource affected by the modification. (Note: This reference may become invalid because the event might outlive the resource. )
Constraints: Provider: support mandatory; immutable Consumer: support optional; read-only
resType URI URI denoting, this resource type (same as the type URI associated with the Resource type for this resource).
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
change string The kind of modification reported (create/update/delete).
Constraints: Provider: support mandatory; immutable Consumer: support optional; read-only
detail string The detailed information associated with the change, typically the data for an update or creation, as used in a request.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
access Events of this type keep track of all requests to access some resource of a CIMI provider.
The content element associated with this event type has the following structure:
Data Type Description
operation string The method or name of the operation intended for this access (for the HTTP protocol, the HTTP method for the request).
Constraints: Provider: support mandatory; immutable Consumer: support optional; read-only
resource ref The reference of the primary resource supporting the operation (for the HTTP protocol, the resource URI or the URI associated with the operation). (Note: This reference may become invalid because the event
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
172 DMTF Standard Version 1.0.0
might outlive the resource. )
Constraints: Provider: support mandatory; immutable Consumer: support optional; read-only
detail string The detailed information associated with the change, typically the data for an update or creation, as used in a request
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
initiator string The details identifying the request initiator, in case that information can be associated with the request.
Constraints: Provider: support optional; immutable Consumer: support optional; read-only
http://schemas.dmtf.org/cloud/audit/1.0/
Events of this type represent events that have audit significance, as defined by CADF (…). This type can be subdivided further by extending the URI path (e.g., http://schemas.dmtf.org/cloud/audit/1.0/event/security, for security audit events).
The content element associated with this event type has the same structure as the event
serialization defined in CADF[…]:
The following describes the serialization of the "content" property for various types of events: 5824
"state" event: 5825
JSON serialization: 5826
{ "id": string, 5827 ... 5828 "type": "http://schemas.dmtf.org/cimi/1/event/state", 5829 "content": { 5830 "resName": string, 5831 "resource" : { "href" : string }, 5832 "resType" : string, 5833 "state" : string, 5834 "previous" : string ? 5835 } 5836 ... 5837 } 5838
XML serialization: 5839
<Event xmlns="http://schemas.dmtf.org/cimi/1"> 5840 ... 5841 <type> http://schemas.dmtf.org/cimi/1/event/state </type> 5842 <content> 5843 <resName> xs:string </resName> 5844 <resource href="xs:anyURI"/> 5845 <resType> xs:anyURI </resType> 5846 <state> xs:string </state> 5847 <previous> xs:string </previous> ? 5848 </content> ? 5849 ... 5850 </Event> 5851 5852
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 173
"alarm" event: 5853
JSON serialization: 5854
{ "id": string, 5855 ... 5856 "type": "http://schemas.dmtf.org/cimi/1/event/alarm", 5857 "content": { 5858 "resName": string ? 5859 "resource" : { "href" : string }, ? 5860 "resType" : string ? 5861 "code" : string, 5862 "detail" : string ? 5863 } 5864 ... 5865 } 5866
XML serialization: 5867
<Event xmlns="http://schemas.dmtf.org/cimi/1"> 5868 ... 5869 <type> http://schemas.dmtf.org/cimi/1/event/alarm </type> 5870 <content> 5871 <resname> xs:string </resname> ? 5872 <resource href="xs:anyURI"/> ? 5873 <restype> xs:anyURI </restype> ? 5874 <code> xs:string </code> 5875 <detail> xs:string </detail> ? 5876 </content> ? 5877 ... 5878 </Event> 5879
"model" event: 5880
JSON serialization: 5881
{ "id": string, 5882 ... 5883 "type": "http://schemas.dmtf.org/cimi/1/event/model", 5884 "content": { 5885 "resName": string, ? 5886 "resource" : { "href" : string }, ? 5887 "resType" : string, ? 5888 "change" : string, 5889 "detail" : string ? 5890 } 5891 ... 5892 } 5893
XML serialization: 5894
<Event xmlns="http://schemas.dmtf.org/cimi/1"> 5895 ... 5896 <type> http://schemas.dmtf.org/cimi/1/event/model </type> 5897 <content> 5898 <resname> xs:string </resname> ? 5899 <resource href="xs:anyURI"/> ? 5900 <restype> xs:anyURI </restype> ? 5901 <change> xs:string </change> 5902 <detail> xs:string </detail> ? 5903 </content> ? 5904 ... 5905 </Event> 5906
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
174 DMTF Standard Version 1.0.0
"access" event: 5907
JSON serialization: 5908
{ "id": string, 5909 ... 5910 "type": "http://schemas.dmtf.org/cimi/1/event/access", 5911 "content": { 5912 "operation": string, 5913 "resource" : { "href" : string }, 5914 "detail" : string, ? 5915 "initiator" : string ? 5916 } 5917 ... 5918 } 5919
XML Serialization: 5920
<Event xmlns="http://schemas.dmtf.org/cimi/1"> 5921 ... 5922 <type> http://schemas.dmtf.org/cimi/1/event/access </type> 5923 <content> 5924 <operation> xs:string </operation> 5925 <resource href="xs:anyURI"/> 5926 <detail> xs:string </detail> ? 5927 <initiator> xs:string </initiator> ? 5928 </content> ? 5929 ... 5930 </Event> 5931
5.17.13.1 Operations 5932
This resource supports the Read, Update, and Delete operations. 5933
6 Security considerations 5934
There are many security mechanisms that can be used in conjunction with this specification. This 5935 specification does not mandate any particular mechanism(s). Providers shall provide enough information 5936 about their security mechanisms so that the Consumer can implement the necessary algorithms to 5937 successfully communicate with the Provider. 5938
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 175
ANNEX A 5939
(normative) 5940
5941
5942
OVF support in CIMI 5943
This annex details how elements of the OVF descriptor are mapped to CIMI resources and their 5944 attributes. This definition allows the import of an OVF package to create multiple CIMI resources. This is 5945 done by specifying a reference to an OVF package in the import operation of a System Collection or 5946 System Template Collection (the Media Type at that URI shall be “application/ovf”). Please reference 5947 DSP0243 for more information about OVF. 5948
Support for OVF import and export is optional for a Provider and it is an implementation choice as to how 5949 many of the attributes in the OVF package are exposed through CIMI resources. A Provider may support 5950 the import of OVF package for only Systems, only System Templates or both. Support for the actual 5951 import and export of OVF packages will typically be handled by a hypervisor under the management of 5952 the CIMI implementation, and thus the CIMI resources that are created reflect what the hypervisor did 5953 upon import and form a “View” into the results. 5954
The import of an OVF package can be reflected in the creation of templates that can be later used to 5955 create Systems, Machines and other component resources. The import of an OVF package can also be 5956 used to directly create Systems, Machines and other component resources, bypassing the step of 5957 creating templates. 5958
Clause 5.13.4 details how to import an OVF file to create a System Template (and component resources). 5959 The System Template thus created will contain a reference to a Machine Template for every 5960 VirtualSystem that is defined in the OVF Descriptor VirtualSystemCollection. Note that CIMI currently 5961 allows Systems of Systems, so for each VirtualSystemCollection encountered in a nested set of 5962 collections, a separate System Template is created within the parent System Template with Machine 5963 Templates for each of the contained VirtualSystems in that VirtualSystemCollection. 5964
The values of the attributes for the Machine Template are taken from the VirtualHardwareSection of the 5965 VirtualSystem description (required in OVF). If multiple VirtualHardwareSections are used for a given 5966 VirtualSystem (allowed in OVF), the result is implementation dependent, but the implementation might 5967 choose a Machine Template from an existing (perhaps static) set that best matches one of the 5968 VirtualHardwareSections. Items in the VirtualHardwareSection are mapped to CIMI Machine 5969 Configuration properties and the corresponding Machine Configuration resource is created and linked to 5970 from the created Machine Template for that VirtualSystem. 5971
The CIMI Volume Templates are created according to the DiskSection of the OVF Descriptor and can be 5972 shared among multiple VirtualSystems (CIMI Machine Templates) defined in the OVF Package. In 5973 addition, a new CIMI Machine Image resource may be created from the DiskSection if an ovf:fileRef for 5974 the virtual disk content is specified. 5975
The CIMI Network Templates are created according to the NetworkSection of the OVF Descriptor along 5976 with the Connection elements in the various VirtualHardwareSections that refer to these named networks. 5977
Clause 5.13.2.1 details how to import an OVF file to create a System (and component resources). The 5978 System thus created will contain a reference to a Machine for every VirtualSystem that is defined in the 5979 OVF Descriptor VirtualSystemCollection. Note that CIMI currently allows Systems of Systems, so for each 5980 VirtualSystemCollection encountered in a nested set of collections, a separate System is created within 5981 the parent System with Machines for each of the contained VirtualSystems in that 5982 VirtualSystemCollection. 5983
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
176 DMTF Standard Version 1.0.0
The values of the attributes for the Machine are taken from the VirtualHardwareSection of the 5984 VirtualSystem description (required in OVF). If multiple VirtualHardwareSections are used for a given 5985 VirtualSystem (allowed in OVF), the result is implementation dependent. Items in the 5986 VirtualHardwareSection are mapped to CIMI Machine Configuration properties and the corresponding 5987 Machine Configuration resource is created and linked to from the created Machine for that VirtualSystem. 5988
The CIMI Volumes are created according to the DiskSection of the OVF Descriptor and can be shared 5989 among multiple VirtualSystems (CIMI Machines) defined in the OVF Package. In addition, a new CIMI 5990 Machine Image resource may be created from the DiskSection if an ovf:fileRef for the virtual disk content 5991 is specified. 5992
The CIMI Networks are created according to the NetworkSection of the OVF Descriptor along with the 5993 Connection elements in the various VirtualHardwareSections that refer to these named networks. 5994
5995
DSP0263 Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol
Version 1.0.0 DMTF Standard 177
ANNEX B 5996
(informative) 5997
5998
5999
XML Schema 6000
The XML Schema for the XML serialization of the CIMI model can be found at: 6001
http://schemas.dmtf.org/cimi/1/DSP8009_1.0.0.xsd 6002
The schema provided does not intend to reflect every single modeling constraint and requirement 6003 specified in the model. This schema is designed to apply more broadly to any model-related serialized 6004 material found in Consumer requests as well as in Provider responses, and is intended to provide a 6005 preliminary, non-exhaustive syntactic check on these. 6006
Cloud Infrastructure Management Interface (CIMI) Model and RESTful HTTP-based Protocol DSP0263
178 DMTF Standard Version 1.0.0
ANNEX C 6007
(informative) 6008
6009
6010
Change log 6011
Version Date Description
1.0.0 2012-08-28
6012