# Class Service

Class responsible for working with Rackspace's Cloud Identity service.

  OpenCloud\Common\Base
  OpenCloud\Common\Service\AbstractService implements OpenCloud\Common\Service\ServiceInterface
  OpenCloud\Identity\Service

Namespace: OpenCloud\Identity
Package: OpenCloud\Identity
Located at OpenCloud/Identity/Service.php

Methods summary
`public static `OpenCloud\Identity\Service`` | # `factory( Guzzle\Http\ClientInterface $client )` Factory method which allows for easy service creation Factory method which allows for easy service creation #### Parameters $client `Guzzle\Http\ClientInterface` $client #### Returns ``OpenCloud\Identity\Service``
`public Guzzle\Http\Url` | # `getUrl( mixed $path = null )` Get this service's URL, with appended path if necessary. Get this service's URL, with appended path if necessary. #### Returns `Guzzle\Http\Url`
`public `OpenCloud\Common\Collection\ResourceIterator`` | # `getUsers( )` Get all users for the current tenant. Get all users for the current tenant. #### Returns ``OpenCloud\Common\Collection\ResourceIterator``
`public` | # `user( mixed $info = null )` Used for iterator resource instantation. Used for iterator resource instantation.
`public `OpenCloud\Identity\Resource\User`` | # `getUser( mixed $search, mixed $mode = OpenCloud\Identity\UserConst::MODE_NAME )` Get a user based on a particular keyword and a certain search mode. Get a user based on a particular keyword and a certain search mode. #### Parameters $search `mixed` $search string Keyword $mode `mixed` $mode string Either 'name', 'userId' or 'email' #### Returns ``OpenCloud\Identity\Resource\User``
`public `OpenCloud\Identity\Resource\User`` | # `createUser( array $params )` Create a new user with provided params. Create a new user with provided params. #### Parameters $params `mixed` $params array User data #### Returns ``OpenCloud\Identity\Resource\User``
`public `OpenCloud\Common\Collection\PaginatedIterator`` | # `getRoles( )` Get all possible roles. Get all possible roles. #### Returns ``OpenCloud\Common\Collection\PaginatedIterator``
`public `OpenCloud\Identity\Resource\Role`` | # `getRole( mixed $roleId )` Get a specific role. Get a specific role. #### Parameters $roleId `mixed` $roleId string The ID of the role you're looking for #### Returns ``OpenCloud\Identity\Resource\Role``
`public Guzzle\Http\Message\Response` | # `generateToken( mixed $json, array $headers = array() )` Generate a new token for a given user. Generate a new token for a given user. #### Parameters $json `mixed` $json string The JSON data-structure used in the HTTP entity body when POSTing to the API $headers #### Returns `Guzzle\Http\Message\Response` #### Headers $headers array Additional headers to send (optional)
`public Guzzle\Http\Message\Response` | # `revokeToken( mixed $tokenId )` Revoke a given token based on its ID Revoke a given token based on its ID #### Parameters $tokenId `mixed` $tokenId string Token ID #### Returns `Guzzle\Http\Message\Response`
`public `OpenCloud\Common\Collection\ResourceIterator`` | # `getTenants( )` List over all the tenants for this cloud account. List over all the tenants for this cloud account. #### Returns ``OpenCloud\Common\Collection\ResourceIterator``

Methods inherited from OpenCloud\Common\Service\AbstractService
`collection(), getClient(), getCurrentNamespace(), getEndpoint(), getNamespaces(), getResources(), resolveResourceClass(), resource(), resourceList(), setClient(), setEndpoint()`

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

Properties inherited from OpenCloud\Common\Service\AbstractService
`$client, $endpoint, $namespaces, $resources`

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