# Class NovaResource

The root class for all other objects used or defined by this SDK.

It contains common code for error handling as well as service functions that are useful. Because it is an abstract class, it cannot be called directly, and it has no publicly-visible properties.

  OpenCloud\Common\Base
  OpenCloud\Common\Resource\BaseResource
  OpenCloud\Common\Resource\PersistentResource
  OpenCloud\Common\Resource\NovaResource

#### Direct known subclasses

OpenCloud\Compute\Resource\Server, OpenCloud\Database\Resource\Instance
Abstract
Namespace: OpenCloud\Common\Resource
Located at OpenCloud/Common/Resource/NovaResource.php

Methods summary
`protected Guzzle\Http\Message\Response` | # `action( mixed $object )` This method is used for many purposes, such as rebooting server, etc. This method is used for many purposes, such as rebooting server, etc. #### Parameters $object `mixed` $object #### Returns `Guzzle\Http\Message\Response` #### Throws ``RuntimeException`` ``InvalidArgumentException``

Methods inherited from OpenCloud\Common\Resource\PersistentResource
`checkExtension(), create(), createJson(), delete(), getAlias(), noCreate(), noDelete(), noUpdate(), refresh(), refreshFromLocationUrl(), update(), updateJson(), 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 inherited from OpenCloud\Common\Resource\BaseResource
`$metadata, $parent, $service`

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