1: <?php
2: /**
3: * PHP OpenCloud library.
4: *
5: * @copyright 2013 Rackspace Hosting, Inc. See LICENSE for information.
6: * @license https://www.apache.org/licenses/LICENSE-2.0
7: * @author Glen Campbell <glen.campbell@rackspace.com>
8: * @author Jamie Hannaford <jamie.hannaford@rackspace.com>
9: */
10:
11: namespace OpenCloud\Compute\Resource;
12:
13: use OpenCloud\Common\PersistentObject;
14:
15: /**
16: * A collection of files for a specific operating system (OS) that you use to
17: * create or rebuild a server. Rackspace provides pre-built images. You can also
18: * create custom images from servers that you have launched. Custom images can
19: * be used for data backups or as "gold" images for additional servers.
20: *
21: * @note In the future, this may be abstracted to access Glance (the OpenStack
22: * image store) directly, but it is currently not available to Rackspace
23: * customers, so we're using the /images resource on the servers API endpoint.
24: */
25: class Image extends PersistentObject
26: {
27:
28: public $status;
29: public $updated;
30: public $links;
31: public $minDisk;
32: public $id;
33: public $name;
34: public $created;
35: public $progress;
36: public $minRam;
37: public $metadata;
38: public $server;
39:
40: protected static $json_name = 'image';
41: protected static $url_resource = 'images';
42:
43: /**
44: * {@inheritDoc}
45: */
46: public function create($params = array())
47: {
48: return $this->noCreate();
49: }
50:
51: /**
52: * {@inheritDoc}
53: */
54: public function update($params = array())
55: {
56: return $this->noUpdate();
57: }
58:
59: }
60: