fdd8f0f91e
* typos * reduntant words * reworded sentences for clarity Closes-bug: #1545748 Change-Id: I0700d04de38b34cf13988490873b8c34dad1005b
125 lines
4.1 KiB
ReStructuredText
125 lines
4.1 KiB
ReStructuredText
====================
|
||
Links and references
|
||
====================
|
||
|
||
Often resources need to refer to other resources. For example, when
|
||
creating a server, you must specify the image from which to build the
|
||
server. You can specify the image by providing an ID or a URL to a
|
||
remote image. When providing an ID, it is assumed that the resource
|
||
exists in the current OpenStack deployment.
|
||
|
||
**Example: ID image reference: JSON request**
|
||
|
||
.. code::
|
||
|
||
{
|
||
"server":{
|
||
"flavorRef":"http://openstack.example.com/openstack/flavors/1",
|
||
"imageRef":"http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b",
|
||
"metadata":{
|
||
"My Server Name":"Apache1"
|
||
},
|
||
"name":"new-server-test",
|
||
"personality":[
|
||
{
|
||
"contents":"ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5kIGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVsc2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4gQnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRoZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlvdSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vyc2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6b25zLiINCg0KLVJpY2hhcmQgQmFjaA==",
|
||
"path":"/etc/banner.txt"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
|
||
|
||
**Example: Full image reference: JSON request**
|
||
|
||
.. code::
|
||
|
||
{
|
||
"server": {
|
||
"name": "server-test-1",
|
||
"imageRef": "b5660a6e-4b46-4be3-9707-6b47221b454f",
|
||
"flavorRef": "2",
|
||
"max_count": 1,
|
||
"min_count": 1,
|
||
"networks": [
|
||
{
|
||
"uuid": "d32019d3-bc6e-4319-9c1d-6722fc136a22"
|
||
}
|
||
],
|
||
"security_groups": [
|
||
{
|
||
"name": "default"
|
||
},
|
||
{
|
||
"name": "another-secgroup-name"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
|
||
|
||
For convenience, resources contain links to themselves. This allows a
|
||
client to easily obtain rather than construct resource URIs. The
|
||
following types of link relations are associated with resources:
|
||
|
||
- A ``self`` link contains a versioned link to the resource. Use these
|
||
links when the link is followed immediately.
|
||
|
||
- A ``bookmark`` link provides a permanent link to a resource that is
|
||
appropriate for long term storage.
|
||
|
||
- An ``alternate`` link can contain an alternate representation of the
|
||
resource. For example, an OpenStack Compute image might have an
|
||
alternate representation in the OpenStack Image service.
|
||
|
||
.. note:: The ``type`` attribute provides a hint as to the type of
|
||
representation to expect when following the link.
|
||
|
||
**Example: Server with self links: JSON**
|
||
|
||
.. code::
|
||
|
||
{
|
||
"server":{
|
||
"id":"52415800-8b69-11e0-9b19-734fcece0043",
|
||
"name":"my-server",
|
||
"links":[
|
||
{
|
||
"rel":"self",
|
||
"href":"http://servers.api.openstack.org/v2/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"
|
||
},
|
||
{
|
||
"rel":"bookmark",
|
||
"href":"http://servers.api.openstack.org/1234/servers/52415800-8b69-11e0-9b19-734fcece0043"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
|
||
|
||
**Example: Server with alternate link: JSON**
|
||
|
||
.. code::
|
||
|
||
{
|
||
"image" : {
|
||
"id" : "52415800-8b69-11e0-9b19-734f5736d2a2",
|
||
"name" : "My Server Backup",
|
||
"links": [
|
||
{
|
||
"rel" : "self",
|
||
"href" : "http://servers.api.openstack.org/v2/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"
|
||
},
|
||
{
|
||
"rel" : "bookmark",
|
||
"href" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"
|
||
},
|
||
{
|
||
"rel" : "alternate",
|
||
"type" : "application/vnd.openstack.image",
|
||
"href" : "http://glance.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f5736d2a2"
|
||
}
|
||
]
|
||
}
|
||
}
|