1 <?php
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
17
18 namespace OpenCloud\ObjectStore;
19
20 use OpenCloud\ObjectStore\Resource\CDNContainer;
21 use OpenCloud\ObjectStore\Resource\ContainerMetadata;
22
23 24 25
26 class CDNService extends AbstractService
27 {
28 const DEFAULT_NAME = 'cloudFilesCDN';
29 const DEFAULT_TYPE = 'rax:object-cdn';
30
31 32 33 34 35 36
37 public function listContainers(array $filter = array())
38 {
39 $filter['format'] = 'json';
40 return $this->resourceList('CDNContainer', $this->getUrl(null, $filter), $this);
41 }
42
43 public function cdnContainer($data)
44 {
45 $container = new CDNContainer($this, $data);
46
47 $metadata = new ContainerMetadata();
48 $metadata->setArray(array(
49 'Streaming-Uri' => $data->cdn_streaming_uri,
50 'Ios-Uri' => $data->cdn_ios_uri,
51 'Ssl-Uri' => $data->cdn_ssl_uri,
52 'Enabled' => $data->cdn_enabled,
53 'Ttl' => $data->ttl,
54 'Log-Retention' => $data->log_retention,
55 'Uri' => $data->cdn_uri,
56 ));
57
58 $container->setMetadata($metadata);
59
60 return $container;
61 }
62 }
63