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\Volume\Resource;
12:
13: use OpenCloud\Common\PersistentObject;
14: use OpenCloud\Common\Lang;
15: use OpenCloud\Common\Exceptions;
16:
17: /**
18: * The Snapshot class represents a single block storage snapshot
19: */
20: class Snapshot extends PersistentObject
21: {
22:
23: public $id;
24: public $display_name;
25: public $display_description;
26: public $volume_id;
27: public $status;
28: public $size;
29: public $created_at;
30: public $metadata;
31:
32: protected $force = false;
33:
34: protected static $json_name = 'snapshot';
35: protected static $url_resource = 'snapshots';
36:
37: protected $createKeys = array(
38: 'display_name',
39: 'display_description',
40: 'volume_id',
41: 'force'
42: );
43:
44: public function update($params = array())
45: {
46: return $this->noUpdate();
47: }
48:
49: public function name()
50: {
51: return $this->display_name;
52: }
53:
54: }
55: