Overview

Namespaces

  • OpenCloud
    • Autoscale
      • Resource
    • CloudMonitoring
      • 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
      • Enum
      • Resource
    • ObjectStore
      • Constants
      • Exception
      • Resource
      • Upload
    • Orchestration
    • Queues
      • Exception
      • Resource
    • Volume
      • Resource
  • PHP

Classes

  • AbstractResource
  • Access
  • Algorithm
  • AllowedDomain
  • ConnectionLogging
  • ConnectionThrottle
  • ContentCaching
  • ErrorPage
  • HealthMonitor
  • LoadBalancer
  • Metadata
  • Node
  • NodeEvent
  • NonIdUriResource
  • Protocol
  • ReadOnlyResource
  • SessionPersistence
  • SSLTermination
  • Stats
  • UsageRecord
  • VirtualIp
  • Overview
  • Namespace
  • Class
  • Tree
  • Download
  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:  * Active health monitoring is a technique that uses synthetic transactions
 22:  * executed at periodic intervals to determine the condition of a node. One of
 23:  * the advantages of active health monitoring is that it does not require active
 24:  * transactions to be processed by the load balancer to determine whether or not
 25:  * a node is suitable for handling traffic. Active health monitoring is not
 26:  * applied by default and must be enabled per load balancer.
 27:  *
 28:  * The active health monitor can use one of three types of probes:
 29:  *
 30:  * * connect
 31:  * * HTTP
 32:  * * HTTPS
 33:  *
 34:  * These probes are executed at configured intervals; in the event of a failure,
 35:  * the node status changes to OFFLINE and the node will not receive traffic. If,
 36:  * after running a subsequent test, the probe detects that the node has recovered,
 37:  * then the node's status is changed to ONLINE and it is capable of servicing requests.
 38:  */
 39: class HealthMonitor extends NonIdUriResource
 40: {
 41:     /**
 42:      * Type of the health monitor. Can either be "connect", "HTTP" or "HTTPS"
 43:      *
 44:      * @var string
 45:      */
 46:     public $type;
 47: 
 48:     /**
 49:      * The minimum number of seconds to wait before executing the health monitor.
 50:      * Must be a number between 1 and 3600.
 51:      *
 52:      * @var int
 53:      */
 54:     public $delay;
 55: 
 56:     /**
 57:      * Maximum number of seconds to wait for a connection to be established
 58:      * before timing out. Must be a number between 1 and 300.
 59:      *
 60:      * @var int
 61:      */
 62:     public $timeout;
 63: 
 64:     /**
 65:      * Number of permissible monitor failures before removing a node from rotation.
 66:      * Must be a number between 1 and 10.
 67:      *
 68:      * @var int
 69:      */
 70:     public $attemptsBeforeDeactivation;
 71: 
 72:     /**
 73:      * A regular expression that will be used to evaluate the contents of the
 74:      * body of the response.
 75:      *
 76:      * @var string
 77:      */
 78:     public $bodyRegex;
 79: 
 80:     /**
 81:      * The name of a host for which the health monitors will check.
 82:      *
 83:      * @var string
 84:      */
 85:     public $hostHeader;
 86: 
 87:     /**
 88:      * The HTTP path that will be used in the sample request.
 89:      *
 90:      * @var string
 91:      */
 92:     public $path;
 93: 
 94:     /**
 95:      * A regular expression that will be used to evaluate the HTTP status code
 96:      * returned in the response.
 97:      *
 98:      * @var string
 99:      */
100:     public $statusRegex;
101: 
102:     protected static $json_name = 'healthMonitor';
103:     protected static $url_resource = 'healthmonitor';
104: 
105:     protected $createKeys = array(
106:         'type',
107:         'delay',
108:         'timeout',
109:         'attemptsBeforeDeactivation',
110:         'bodyRegex',
111:         'hostHeader',
112:         'path',
113:         'statusRegex'
114:     );
115: 
116:     public function create($params = array())
117:     {
118:         return $this->update($params);
119:     }
120: }
121: 
PHP OpenCloud API API documentation generated by ApiGen 2.8.0