# Class Protocol

All load balancers must define the protocol of the service which is being load balanced. The protocol selection should be based on the protocol of the back-end nodes. When configuring a load balancer, the default port for the given protocol will be selected unless otherwise specified.

  OpenCloud\Common\Base
  OpenCloud\Common\Resource\BaseResource
  OpenCloud\Common\Resource\PersistentResource
  OpenCloud\LoadBalancer\Resource\AbstractResource
  OpenCloud\LoadBalancer\Resource\ReadOnlyResource
  OpenCloud\LoadBalancer\Resource\Protocol

Namespace: OpenCloud\LoadBalancer\Resource
Link: http://docs.rackspace.com/loadbalancers/api/v1.0/clb-devguide/content/List_Load_Balancing_Protocols-d1e4269.html
Located at OpenCloud/LoadBalancer/Resource/Protocol.php

Methods inherited from OpenCloud\LoadBalancer\Resource\ReadOnlyResource
`create(), delete(), update()`

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

Methods inherited from OpenCloud\Common\Resource\PersistentResource
`checkExtension(), getAlias(), noCreate(), noDelete(), noUpdate(), refreshFromLocationUrl(), 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 mixed` | $name | `` | #
`public mixed` | $port | `` | #
`protected static string` | $json_name | `'protocol'` | #
`protected static string` | $url_resource | `'loadbalancers/protocols'` | #

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

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