ResourceMetadata may be used to:
Implementations of this specification should allow for Consumers to discover the metadata associated
with each supported resource. Doing so allows for the discovery of Provider defined constraints on the
CIMI defined attributes as well as discovery of any new extension attributes or operations that the
Provider may have defined. ResourceMetadata can also be used to express any Provider specific
capabilities or features. The mechanism by which this metadata is made available will be protocol
specific.
Example request:
GET /cimi/resource_metadata HTTP/1.1 Authorization: Basic bW9ja3VzZXI6bW9ja3Bhc3N3b3Jk User-Agent: curl/7.24.0 (i686-redhat-linux-gnu) libcurl/7.24.0 NSS/3.13.5.0 zlib/1.2.5 libidn/1.24 libssh2/1.4.1 Host: localhost:3001 Accept: application/xml
Server response:
HTTP/1.1 200 OK Content-Type: application/xml CIMI-Specification-Version: 1.0.1 Content-Length: 1675 ETag: 97a131617573093b156505f77202bf57 Cache-Control: max-age=0, private, must-revalidate Date: Fri, 11 Jan 2013 15:29:14 GMT Connection: keep-alive Server: thin 1.5.0 codename Knife <Collection xmlns="http://schemas.dmtf.org/cimi/1" resourceURI="http://schemas.dmtf.org/cimi/1/ResourceMetadataCollection"> <id>http://localhost:3001/cimi/resource_metadata</id> <count>2</count> <ResourceMetadata> <id>http://localhost:3001/cimi/resource_metadata/cloud_entry_point</id> <name>CloudEntryPoint</name> <typeUri>http://schemas.dmtf.org/cimi/1/CloudEntryPoint</typeUri> <attribute name="driver" namespace="http://deltacloud.org/cimi/CloudEntryPoint/driver" type="text" required="true" /> <attribute name="provider" namespace="http://deltacloud.org/cimi/CloudEntryPoint/provider" type="text" required="true" /> </ResourceMetadata> <ResourceMetadata> <id>http://localhost:3001/cimi/resource_metadata/machine</id> <name>Machine</name> <typeUri>http://schemas.dmtf.org/cimi/1/Machine</typeUri> <attribute name="realm" namespace="http://deltacloud.org/cimi/Machine/realm" type="text" required="false"> <constraint> <value>us</value> </constraint> <constraint> <value>eu</value> </constraint> </attribute> <attribute name="machine_image" namespace="http://deltacloud.org/cimi/Machine/machine_image" type="URI" required="false" /> <capability name="DefaultInitialState" uri="http://schemas.dmtf.org/cimi/1/capability/Machine/DefaultInitialState" description="Indicates what the default initial state of a new Machine "> STARTED </capability> <capability name="InitialStates" uri="http://schemas.dmtf.org/cimi/1/capability/Machine/InitialStates" description="Indicates the list of allowable initial states"> STARTED,STOPPED </capability> </ResourceMetadata> </Collection>
The following table describes the capability URIs defined by this specification. Providers may define new
URIs and it is recommended that these URIs be dereferencable such that Consumers can discover the
details of the new capability. The "Resource Name" column contains the name of the resource that may
contain the specified capability within its ResourceMetadata. The "Capability Name" column contains the
name of the specified capability and shall be unique within the scope of the corresponding resource. Each
capability's URI shall be constructed by appending the "Resource Name", a slash(/), and the "Capability
Name" to "http://schemas.dmtf.org/cimi/1/capability/". For example, the Machine's "InitialState" capability
would have a URI of:
http://schemas.dmtf.org/cimi/1/capability/Machine/InitialState
Note that capabilities that apply to the Provider in general, and are not specific to any one resource, are
associated with the Cloud Entry Point resource (in case a capability would apply only to the
CloudEntryPoint resource itself, its definition would say so).
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 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 |
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 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. |