Overview
  • Namespace
  • Class

Namespaces

  • OpenCloud
    • Autoscale
      • Resource
    • CloudMonitoring
      • Collection
      • Exception
      • Resource
    • Common
      • Collection
      • Constants
      • Exceptions
      • Http
        • Message
      • Log
      • Resource
      • Service
    • Compute
      • Constants
      • Exception
      • Resource
    • Database
      • Resource
    • DNS
      • Collection
      • Resource
    • Identity
      • Constants
      • Resource
    • Image
      • Enum
      • Resource
        • JsonPatch
        • Schema
    • LoadBalancer
      • Collection
      • Enum
      • Resource
    • Networking
      • Resource
    • ObjectStore
      • Constants
      • Exception
      • Resource
      • Upload
    • Orchestration
      • Resource
    • Queues
      • Collection
      • Exception
      • Resource
    • Volume
      • Resource

Classes

  • OpenCloud\Volume\Resource\Snapshot
  • OpenCloud\Volume\Resource\Volume
  • OpenCloud\Volume\Resource\VolumeType
 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\CloudMonitoring\Resource;
19 
20 use OpenCloud\Common\Http\Message\Formatter;
21 
22 /**
23  * Notification class.
24  */
25 class Notification extends AbstractResource
26 {
27     /**
28      * @var string
29      */
30     private $id;
31 
32     /**
33      * @var string Friendly name for the notification.
34      */
35     private $label;
36 
37     /**
38      * @var string|NotificationType The notification type to send.
39      */
40     private $type;
41 
42     /**
43      * @var array A hash of notification specific details based on the notification type.
44      */
45     private $details;
46 
47     protected static $json_name = false;
48     protected static $json_collection_name = 'values';
49     protected static $url_resource = 'notifications';
50 
51     protected static $emptyObject = array(
52         'label',
53         'type',
54         'details'
55     );
56 
57     protected static $requiredKeys = array(
58         'type',
59         'details'
60     );
61 
62     protected $associatedResources = array(
63         'NotificationType' => 'NotificationType'
64     );
65 
66     public function testUrl($debug = false)
67     {
68         return $this->getService()->getUrl('test-notification');
69     }
70 
71     public function test($debug = false)
72     {
73         $response = $this->getService()
74             ->getClient()
75             ->post($this->testUrl($debug))
76             ->send();
77 
78         return Formatter::decode($response);
79     }
80 }
81 
API documentation generated by ApiGen