# Class SessionPersistence

Session persistence is a feature of the load balancing service that forces multiple requests, of the same protocol, from clients to be directed to the same node. This is common with many web applications that do not inherently share application state between back-end servers. Two session persistence modes are available, as described in the following table:

- HTTP_COOKIE: A session persistence mechanism that inserts an HTTP cookie and is used to determine the destination back-end node. This is supported for HTTP load balancing only.
- SOURCE_IP: A session persistence mechanism that will keep track of the source IP address that is mapped and is able to determine the destination back-end node. This is supported for HTTPS pass-through and non-HTTP load balancing only.

  OpenCloud\Common\Base
  OpenCloud\Common\Resource\BaseResource
  OpenCloud\Common\Resource\PersistentResource
  OpenCloud\LoadBalancer\Resource\AbstractResource
  OpenCloud\LoadBalancer\Resource\NonIdUriResource
  OpenCloud\LoadBalancer\Resource\SessionPersistence

Namespace: OpenCloud\LoadBalancer\Resource
Located at OpenCloud/LoadBalancer/Resource/SessionPersistence.php

Methods inherited from OpenCloud\LoadBalancer\Resource\NonIdUriResource
`refresh()`

Methods inherited from OpenCloud\LoadBalancer\Resource\AbstractResource
`createJson(), refreshFromParent(), updateJson()`

Methods inherited from OpenCloud\Common\Resource\PersistentResource
`checkExtension(), create(), delete(), getAlias(), noCreate(), noDelete(), noUpdate(), refreshFromLocationUrl(), update(), waitFor()`

Methods inherited from OpenCloud\Common\Resource\BaseResource
`__construct(), findLink(), getClient(), getMetadata(), getParent(), getService(), getUrl(), jsonCollectionElement(), jsonCollectionName(), jsonName(), parseResponse(), primaryKeyField(), resourceName(), setMetadata(), setParent(), setService()`

Methods inherited from OpenCloud\Common\Base
`__call(), checkJsonError(), generateUuid(), getInstance(), getJsonHeader(), getLogger(), getProperty(), makeResourceIteratorOptions(), populate(), propertyExists(), setLogger(), setProperty(), stripNamespace(), toCamel(), toUnderscores()`

Properties summary
`public string` | $persistenceType | `` | # Mode in which session persistence mechanism operates. Can either be set to HTTP_COOKIE or SOURCE_IP. Mode in which session persistence mechanism operates. Can either be set to HTTP_COOKIE or SOURCE_IP.
`protected static string` | $json_name | `'sessionPersistence'` | #
`protected static string` | $url_resource | `'sessionpersistence'` | #
`protected array` | $createKeys | `array('persistenceType')` | #

Properties inherited from OpenCloud\Common\Resource\BaseResource
`$metadata, $parent, $service`

Properties inherited from OpenCloud\Common\Base
`$aliases`