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\LoadBalancer\Resource;
19 
20 /**
21  * The connection throttling feature imposes limits on the number of connections
22  * per IP address to help mitigate malicious or abusive traffic to your
23  * applications. The attributes in the table that follows can be configured
24  * based on the traffic patterns for your sites.
25  */
26 class ConnectionThrottle extends NonIdUriResource
27 {
28     /**
29      * Allow at least this number of connections per IP address before applying
30      * throttling restrictions. Setting a value of 0 allows unlimited
31      * simultaneous connections; otherwise, set a value between 1 and 1000.
32      *
33      * @var int
34      */
35     public $minConnections;
36 
37     /**
38      * Maximum number of connections to allow for a single IP address. Setting a
39      * value of 0 will allow unlimited simultaneous connections; otherwise set a
40      * value between 1 and 100000.
41      *
42      * @var int
43      */
44     public $maxConnections;
45 
46     /**
47      * Maximum number of connections allowed from a single IP address in the
48      * defined rateInterval. Setting a value of 0 allows an unlimited connection
49      * rate; otherwise, set a value between 1 and 100000.
50      *
51      * @var int
52      */
53     public $maxConnectionRate;
54 
55     /**
56      * Frequency (in seconds) at which the maxConnectionRate is assessed.
57      * For example, a maxConnectionRate of 30 with a rateInterval of 60 would
58      * allow a maximum of 30 connections per minute for a single IP address.
59      * This value must be between 1 and 3600.
60      *
61      * @var int
62      */
63     public $rateInterval;
64 
65     protected static $json_name = "connectionThrottle";
66     protected static $url_resource = "connectionthrottle";
67 
68     protected $createKeys = array(
69         'minConnections',
70         'maxConnections',
71         'maxConnectionRate',
72         'rateInterval'
73     );
74 
75     public function create($params = array())
76     {
77         return $this->update($params);
78     }
79 }
80 
API documentation generated by ApiGen