1: <?php
2: /**
3: * Copyright 2012-2014 Rackspace US, Inc.
4: *
5: * Licensed under the Apache License, Version 2.0 (the "License");
6: * you may not use this file except in compliance with the License.
7: * You may obtain a copy of the License at
8: *
9: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: namespace OpenCloud\LoadBalancer\Resource;
19:
20: /**
21: * When content caching is enabled, recently-accessed files are stored on the
22: * load balancer for easy retrieval by web clients. Content caching improves the
23: * performance of high traffic web sites by temporarily storing data that was
24: * recently accessed. While it's cached, requests for that data will be served
25: * by the load balancer, which in turn reduces load off the back end nodes. The
26: * result is improved response times for those requests and less load on the web
27: * server.
28: *
29: * @todo Should this be a separate class, or a property of LoadBalancer?
30: */
31: class ContentCaching extends AbstractResource
32: {
33: /**
34: * @var bool
35: */
36: public $enabled;
37:
38: protected static $json_name = "contentCaching";
39: protected static $url_resource = "contentcaching";
40:
41: protected $createKeys = array('enabled');
42:
43: public function create($params = array())
44: {
45: return $this->update($params);
46: }
47:
48: public function delete()
49: {
50: return $this->noDelete();
51: }
52: }
53: