# Class User

This class represents a User in the Rackspace "Red Dwarf" database-as-a-service product.

  OpenCloud\Common\Base
  OpenCloud\Common\Resource\BaseResource
  OpenCloud\Common\Resource\PersistentResource
  OpenCloud\Database\Resource\User

Namespace: OpenCloud\Database\Resource
Located at OpenCloud/Database/Resource/User.php

Methods summary
`public` | # `__construct( `OpenCloud\Database\Resource\Instance` $instance, mixed $info = null, array $db = array() )` Creates a new database object Creates a new database object Unlike other objects (Servers, DataObjects, etc.), passing a database name to the constructor does not pull information from the database. For example, if you pass an ID to the `Server()` constructor, it will attempt to retrieve the information on that server from the service, and will return an error if it is not found. However, the Cloud Users service does not permit retrieval of information on individual databases (only via Collection), and thus passing in a name via the `$info` parameter only creates an in-memory object that is not necessarily tied to an actual database. #### Parameters $instance ``OpenCloud\Database\Resource\Instance`` $instance the parent DbService\Instance of the database $info `mixed` $info if an array or object, treated as properties to set; if a string, treated as the database name $db `array` $db a list of database names to associate with the User #### Throws `UserNameError` if `$info` is not a string, object, or array #### Overrides `OpenCloud\Common\Resource\BaseResource::__construct()`
`public type` | # `getName( )` Returns name of this user. Because it's so important (i.e. as an identifier), it will throw an error if not set/empty. Returns name of this user. Because it's so important (i.e. as an identifier), it will throw an error if not set/empty. #### Returns `type` #### Throws ``OpenCloud\Common\Exceptions\DatabaseNameError``
`public string` | # `primaryKeyField( )` Returns the primary key field for the object Returns the primary key field for the object #### Returns `string` #### Overrides `OpenCloud\Common\Resource\BaseResource::primaryKeyField()`
`public` | # `addDatabase( string $dbname )` Adds a new database to the list of databases for the user Adds a new database to the list of databases for the user #### Parameters $dbname `string` $dbname the database name to be added #### Api
`public Guzzle\Http\Message\Response` | # `update( array $params = array() )` Update a resource Update a resource #### Parameters $params `array` $params #### Returns `Guzzle\Http\Message\Response` #### Overrides `OpenCloud\Common\Resource\PersistentResource::update()`
`public OpenCloud\HttpResponse` | # `delete( )` Deletes a database user Deletes a database user #### Returns `OpenCloud\HttpResponse` #### Throws `UserDeleteError` if HTTP response is not Success #### Api #### Overrides `OpenCloud\Common\Resource\PersistentResource::delete()`
`protected object` | # `createJson( )` Provides JSON for create request body Provides JSON for create request body #### Returns `object` #### Throws ``RuntimeException`` #### Overrides `OpenCloud\Common\Resource\PersistentResource::createJson()`

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

Methods inherited from OpenCloud\Common\Resource\BaseResource
`findLink(), getClient(), getMetadata(), getParent(), getService(), getUrl(), jsonCollectionElement(), jsonCollectionName(), jsonName(), parseResponse(), 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` | $name | `` | # The user name The user name
`public string` | $password | `` | # The user's password The user's password
`public array` | $databases | `array()` | # A list of database names assigned to the user A list of database names assigned to the user
`protected static string` | $json_name | `'user'` | #
`protected static string` | $url_resource | `'users'` | #

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

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